您现在的位置:程序化交易>> 期货公式>> 文华财经>> 文华财经知识>>正文内容

[原创]这个模型太令我吃惊了 [文华财经]

  • 咨询内容:  国庆7天,别人在玩,我在搞文华模型的研究。功夫不负有心人,终于搞得差不多了,对得起这些天的努力。
    革命尚未成功,吾辈仍须努力!
    各位老师、高手帮看看还有什么问题?
    代码太多,摘录部分如下: Setting AddTimes:5;//最大连续开仓次数//MultSig:240,240,240,240,2,10;//应用此行设置时不能用于外盘的数据回测,不应用此行时回测将加速//SignalNoTrading:1; //启用出信号不下单(应用此行将在实盘时具有自动追价功能,可用于实盘或回测,13行和14行仅能应于一行)SignalNoTrading:0; //启用出信号且下单(应用此行将在实盘时失去自动追价功能;13行和14行仅能应于一行)//FinalSigging:2,10; //启用持仓同步(实盘用)ImPort    #ImPort[DAY,1,win] AS Var   //#ImPort[min,30,win] AS Var  //短线用   //#ImPort[hour,2,win] AS Var //中线用   //#ImPort[week,1,win] AS Var   //长线用Params Numeric FX(0);//定义可变参数多空方向-1至1,-1是手动设置只做空,1是手动设置只做多,0是由电脑自动识别多空方向   Numeric ZX2(15);//止损点数,指多少个最小变动单位  Numeric BD(37);//反向波动开单点数,指多少个最小变动单位  Numeric ZY(7);//止盈价与止损价的倍数比  Numeric RN(1);//设置是否日内清仓,0表示收盘前必清仓,其他数为收盘前可不清仓Numeric BQ(-2);//设置委托追价点差Numeric ZD(16);//减少震荡的参数 VarsNumericSeries  LSKC;//连续开仓次数NumericSeries BF;//设置开仓必需前三根K线平均有效涨跌幅相对于止损点位的倍数,其中上下影线占20%,实体阴线和阳线占80%NumericSeries W;NumericSeries ZX1;NumericSeries BD1;NumericSeries SS5;NumericSeries T;NumericSeries T1;NumericSeries T2;NumericSeries T3;NumericSeries N3;NumericSeries N4;NumericSeries N5;NumericSeries N6;NumericSeries N7;NumericSeries MA5; NumericSeries MM5 ;NumericSeries MA3;NumericSeries MA6;NumericSeries  MA9;NumericSeries MA10;NumericSeries MA12;NumericSeries 短线;NumericSeries 短线差;NumericSeries MA18;NumericSeries MM10;NumericSeries MA20;NumericSeries MA24;NumericSeries  MA36;NumericSeries  MM20;NumericSeries  MA30;NumericSeries MA72;NumericSeries MM30;NumericSeries MA54;NumericSeries MM54;NumericSeries MA60;NumericSeries MM60;NumericSeries MM2;NumericSeries MM6;NumericSeries MM9;NumericSeries MM12;NumericSeries MM18;NumericSeries MM24;NumericSeries  MM36;NumericSeries  MM72;NumericSeries DK ;NumericSeries  MTM;NumericSeries MM1;NumericSeries MM3;NumericSeries MM;NumericSeries K1 ;NumericSeries K2 ;NumericSeries  K3;NumericSeries  K4;NumericSeries  KK1;NumericSeries  KK2;NumericSeries  KK3;NumericSeries  MID2;NumericSeries TMP2;NumericSeries TOP;NumericSeries BOT;NumericSeries TB;NumericSeries B1;NumericSeries B2;NumericSeries A1;NumericSeries A2;NumericSeries DIFF;NumericSeries DEA;NumericSeries CC2;NumericSeries HH3;NumericSeries SS;NumericSeries SS3;NumericSeries SS4;NumericSeries HL;NumericSeries HL2;NumericSeries MTM2;NumericSeries MTM6;NumericSeries MT2;NumericSeries MT6;NumericSeries OBV;NumericSeries OBV2;NumericSeries MACD2;NumericSeries OK;NumericSeries OK1;NumericSeries OK2;NumericSeries MMOK1;NumericSeries MMOK2;NumericSeries MMOBV;NumericSeries MMHHV;NumericSeries MMLLV;NumericSeries AA;NumericSeries AAA;NumericSeries KKK;//强度指标NumericSeries KKK1;//强度指标NumericSeries KKK2;//强度指标NumericSeries MMKKK1;//强度指标对比NumericSeries MMKKK2;//强度指标对比NumericSeries ZX;NumericSeries BD2;NumericSeries WMA3;NumericSeries WMA5;NumericSeries WMA9i;NumericSeries WMA9;NumericSeries WMA18i;NumericSeries WMA18;NumericSeries 日线;NumericSeries 日线多头;NumericSeries 日线空头;NumericSeries WWMA18;NumericSeries WWMM18;NumericSeries WMM3;NumericSeries WMM5;NumericSeries WMM9;NumericSeries WMM18;NumericSeries WKKK1;NumericSeries WKKK2;NumericSeries MAKK3;NumericSeries MAKK30;NumericSeries TOPCROSS1;//顶部死叉1NumericSeries BOTCROSS1;//底部金叉1NumericSeries TOPCROSS2;//顶部死叉2NumericSeries BOTCROSS2;//底部金叉2NumericSeries BKCROSS01;//短均线金叉1NumericSeries BKCROSS02;//长均线金叉2NumericSeries BKCROSS03;//突破重要均线1NumericSeries BKCROSS04;//突破重要均线2NumericSeries SKCROSS01;//短均线死叉1NumericSeries SKCROSS02;//长均线死叉2NumericSeries SKCROSS03;//跌破重要均线1NumericSeries SKCROSS04;//跌破重要均线2NumericSeries cond21;NumericSeries cond22;NumericSeries QZ21;NumericSeries QZ22;NumericSeries QZ23;//突破重要均线1NumericSeries QZ24;//突破重要均线2NumericSeries QZ25;//跌破重要均线1NumericSeries QZ26;//跌破重要均线2NumericSeries  BKBK;NumericSeries  SKSK;NumericSeries  BPBP;NumericSeries  SPSP;NumericSeries  JXXS;NumericSeries  JXXX;NumericSeries  CS1;NumericSeries  CS2;NumericSeries  SL;NumericSeries  SL2;NumericSeries  A;NumericSeries  B;NumericSeries  N;NumericSeries  TYP;NumericSeries  CCI;NumericSeries userdate;NumericSeries NS; NumericSeries QQ; NumericSeries K11; NumericSeries DKK; NumericSeries K31; NumericSeries K41; NumericSeries KK31; NumericSeries KK41; NumericSeries BPSPtime;Numeric BK01;Numeric BK02;Numeric SK01;Numeric SK02;Numeric SPBP01;Numeric SPBP02;Numeric SPBP03;NumericSeries  HH;NumericSeries  LL;Numeric BSPRC;Numeric MAXVOL;//------------------------标志变量------------------------//   Numeric TT; //时间间隔   Numeric SIGT1; //信号时间间隔   Numeric X; //循环变量   Numeric SX; //信号编号   Numeric SH; //上海合约标志   Numeric NOW; //当前时间   Numeric NEWP; //最新价   Numeric MINP; //最小变动价位   Numeric KCP; //K线位置   Numeric SIGID; //指令序号   Numeric BKPRC; //买开价格   Numeric SPPRC; //卖平价格   Numeric SKPRC; //卖开价格   Numeric BPPRC; //买平价格   Numeric BRP0; //多头今仓可用持仓   Numeric BRP1; //多头老仓可用持仓   Numeric BRP; //多头可用持仓   Numeric SRP0; //空头今仓可用持仓   Numeric SRP1; //空头老仓可用持仓   Numeric SRP; //空头可用持仓   Numeric OPFLG; //模型处理标志   Global_Numeric SIGIDA; //记录指令序号   Global_Numeric KCPA; //记录K线位置   Global_Numeric SIGN; //信号数量   Global_Numeric NSKBK; //非开仓委托时间   Global_NumericArray SIGT; //信号时间   Global_NumericArray SIGF; //信号标志   Global_NumericArray SIGXF; //信号消失标志   Global_NumericArray SIGDF; //信号处理标志   Global_NumericArray SIGKCP; //信号K线位置   Global_NumericArray BKID; //买开委托   Global_NumericArray SKID; //卖开委托   Global_NumericArray BKFLG; //买开标志   Global_NumericArray SKFLG; //卖开标志   Global_NumericArray BKDEL; //买开撤单标志   Global_NumericArray SKDEL; //卖开撤单标志   Global_NumericArray BKM; //买开委托手数   Global_NumericArray SKM; //卖开委托手数   Global_NumericArray BKCM; //买开成交手数   Global_NumericArray SKCM; //卖开成交手数   Global_NumericArray BKP; //买开委托价格   Global_NumericArray SKP; //卖开委托价格   Global_NumericArray BKT; //买开委托时间   Global_NumericArray SKT; //卖开委托时间   Global_NumericArray BPID0; //买平今仓委托   Global_NumericArray BPID1; //买平老仓委托   Global_NumericArray BPID; //买平委托   Global_NumericArray SPID0; //卖平今仓委托   Global_NumericArray SPID1; //卖平老仓委托   Global_NumericArray SPID; //卖平委托   Global_NumericArray BPFLG0; //买平今仓标志   Global_NumericArray BPFLG1; //买平老仓标志   Global_NumericArray BPFLG; //买平标志   Global_NumericArray SPFLG0; //卖平今仓标志   Global_NumericArray SPFLG1; //卖平老仓标志   Global_NumericArray SPFLG; //卖平标志   Global_NumericArray BPDEL0; //买平今仓撤单标志   Global_NumericArray BPDEL1; //买平老仓撤单标志   Global_NumericArray BPDEL; //买平撤单标志   Global_NumericArray SPDEL0; //卖平今仓撤单标志   Global_NumericArray SPDEL1; //卖平老仓撤单标志   Global_NumericArray SPDEL; //卖平撤单标志   Global_NumericArray BPM0; //买平今仓委托手数   Global_NumericArray BPM1; //买平老仓委托手数   Global_NumericArray BPM; //买平委托手数   Global_NumericArray SPM0; //卖平今仓委托手数   Global_NumericArray SPM1; //卖平老仓委托手数   Global_NumericArray SPM; //卖平委托手数   Global_NumericArray BPCM0; //买平成交委托手数   Global_NumericArray BPCM1; //买平成交委托手数   Global_NumericArray BPCM; //买平成交手数   Global_NumericArray SPCM0; //卖平成交委托手数   Global_NumericArray SPCM1; //卖平成交委托手数   Global_NumericArray SPCM; //卖平成交手数   Global_NumericArray BPP0; //买平今仓委托价格   Global_NumericArray BPP1; //买平老仓委托价格   Global_NumericArray BPP; //买平委托价格   Global_NumericArray SPP0; //卖平今仓委托价格   Global_NumericArray SPP1; //卖平老仓委托价格   Global_NumericArray SPP; //卖平委托价格   Global_NumericArray BPT0; //买平今仓委托时间   Global_NumericArray BPT1; //买平老仓委托时间   Global_NumericArray BPT; //买平委托时间   Global_NumericArray SPT0; //卖平今仓委托时间   Global_NumericArray SPT1; //卖平老仓委托时间   Global_NumericArray SPT; //卖平委托时间   Global_NumericArray SPV; //卖平手数   Global_NumericArray BPV; //买平手数   Global_NumericArray BKZJF; //买开追价标志 Begin      DrawColorKLine(IsUp,Red,1); //收盘价大于开盘价,绘制红色空心K线      DrawColorKLine(IsDown,Cyan,0); //收盘价小于开盘价,绘制青色实心K线      DrawColorKLine(IsEqual,White,1); //收盘价等于开盘价,//------------------------处理开启------------------------//   If(A_IsExchangeOpen() == 1) //如果是开盘状态   {      If(BarStatus() == 2) //如果不带入历史值      {         If(RunStart() == 1) //如果已初始化成功         {            OPFLG = 1; //开启模型处理         }      }   }   //------------------------变量赋值------------------------//   If(1) //变量赋值   {      TT = 55; //时间间隔      SIGT1 = 155; //信号时间间隔      KCP = CurrentBar; //K线位置      NOW = CurrentTime(); //当前时间      NEWP = Price("New"); //最新价      MINP = Price("MinPrice"); //最小变动价位      NSKBK = Exist(Time > 0.1445 && Time < 0.1500,0); //NNSKBK ==0非开仓委托时间      SH = A_IsSHCode(); //上海合约标志      BRP = F_BuyRemainPosition(); //多头可用持仓      SRP = F_SellRemainPosition(); //空头可用持仓      If(SH == 1) //如果当前合约是上海市场合约      {         BRP0 = A_TodayBuyRemainPosition(); //多头今仓可用持仓         SRP0 = A_TodaySellRemainPosition(); //空头今仓可用持仓         BRP1 = BRP - BRP0; //多头老仓可用持仓         SRP1 = SRP - SRP0; //空头老仓可用持仓      }   }   //------------------------信号发出------------------------//   If(1) //信号发出   { LSKC=7;WMA3=Var.MA3;//跨周期引用3均线对比值WMA5=Var.MA5;//跨周期引用5均线对比值WMM3=WMA3-WMA5;WMA9i=Var.MA9;//跨周期引用9均线对比值WMA9=ema(EMA(WMA9i,5),3);WMA18i=Var.MA18;//跨周期引用18均线对比值WMA18=ema(EMA(WMA18i,5),3);WWMM18=WMA18-REF(WMA18,1);日线=ema(EMA((WMA3*2+WMA5*2.5+WMA9*3+WMA18*3.5)/11,3),3);日线多头=Exist(日线>ref(日线,1),1);日线空头=Exist(日线<ref(日线,1),1);W=REF(A,1)/3000;//交易合约价与指标设计参考合约价的比值ZX=ZX2*W;//真实的止损参数ZX1=MAX(ZX2*W,MA(HIGH-LOW,30));//止损数取止损参数与30周期内平均波幅相比的较大值BD1=MAX(BD*W,MA(HIGH-LOW,30)*2.5);//真实的反正波动开仓参数//A0=BarType;// 返回数据合约的K线周期类型值。(0为日线1为分钟2为CITK线4周线5月线)//AA=BarInterval;//返回数据合约的K线周期数值(如加载在5分钟周期上,A返回1,AA返回5)//AAA=IIF(A0<>0,A0*A0*A0/240,1/24)*12;//设置K线周期所用的止损权重,在1分钟周期上20*AAA相当于一个最小变动单位 LSKC=7;//请与第11行的设置数字一致T=2;T1=1;T2=11;T3=4;N3=4;N4=18;N5=5;N6=47;N7=2;BD2=BD1*MinPrice;A=(3*CLOSE+LOW+OPEN+HIGH)/6;//3倍收盘价与最高价、最低价、开盘价之和的均值MA5 =Ma(A,5);MM5=MA5-REF(MA5,1);MA3=MA(A,3);MA6=MA(A,6);MA9=MA(A,9);MA10=MA(A,18);MA12=MA(A,12);MA18=MA(A,18);MM10=MA10-REF(MA10,1);MA20=MA(A,36);MA24=MA(A,24);MA36=MA(A,36);MM20=MA20-REF(MA20,1);MA30=MA(A,30);MA54=MA(A,54);MA72=MA(A,72);MM30=MA30-REF(MA30,1);MA60=MA(A,144);MM60=MA60-REF(MA60,1);MM2=MA3-REF(MA3,1);MM6=MA6-REF(MA6,1);MM9=MA9-REF(MA9,1);MM12=MA12-REF(MA12,1);MM18=MA18-REF(MA18,1);MM24=MA24-REF(MA24,1);MM36=MA36-REF(MA36,1);MM54=MA54-REF(MA54,1);MM72=MA72-REF(MA72,1);短线=(MA3+MA5+MA6+MA9+MA12)/5;短线差=短线-ref(短线,1);DK=2*CLOSE-HIGH-LOW;MM=1*(SUM(DK*50+MM1*120+MM2*100+MM6*100+MM9*100+MM12*100+MM18*100+MM24*100+MM36*100,1)/ABS(SUM(MM60*800,1)));K1=100*EMA(EMA(MM,N5),3)/EMA(EMA(ABS(MM),N5),3);K2=100*EMA(EMA(MM,N6),4)/EMA(EMA(ABS(MM),N6),4);K3=EMA(MA(K1,T),T1);K4=EMA(MA(K3,N3),N4);KK1=K3-REF(K3,1);KK2=K4-REF(K4,1);KK3=K4-K3;KKK=30*(DK*0.05+(A-REF(A,1))*0.02+MM2*0.10+MM5*0.10+MM6*0.10+MM9*0.10+MM12*0.15+MM18*0.15+MM24*0.20+MM36*0.30+MM54*0.30+(日线-ref(日线,1))*0.5)+IIF(CLOSE>MA36,5,-5)+IIF(CLOSE>MA18,5,-5)+IIF(CLOSE>MA9,5,-5)+IIF(CLOSE>日线,5,-5);//趋势的强度HH=(EMA(EMA(STD(A,41)*0.2+KKK,1),9)+20)/2;LL=(EMA(EMA(STD(A,41)*0.2+KKK,1),9)-20)/2;KKK1=EMA(EMA(KKK,5),1);KKK2=EMA(EMA(KKK,9),27);MMKKK1=KKK1-REF(KKK1,1);MMKKK2=KKK2-REF(KKK2,1);WMM5=WMA5-REF(WMA5,1);WMM9=WMA9-REF(WMA9,1);WMM18=WMA18-REF(WMA18,1);WWMA18=EMA(EMA(WMA18,3),3);MAKK3=MA(MM5+MM9+MM18+MM36+MM72,3);MAKK30=MA(MM5+MM9+MM18+MM36+MM72,30);TYP=(CLOSE+HIGH+LOW)/3;CCI=(TYP-MA(TYP,14))/(0.015*AVEDEV(TYP,14));N=DUALVOLUME("N");NS=IIF(SCALE>=0.5&&MM18>0,ABS(N),-ABS(N));QQ=1*(SUM(NS*10+DK*50+MM1*120+MM2*100+MM6*100+MM9*100+MM12*100+MM18*100+MM24*100+MM36*100,1)/ABS(SUM(MM60*800,1)));SL=LinearRegValue (KKK/MA72*K4,9, 0); //计算9周期以来的趋势的强度的线性回归值;SL2=LinearRegValue (KKK/MA72*K4,18, 0); //计算18周期以来的趋势的强度的线性回归值; Mid2 = Ma(A, 26);//求Length个周期的收盘价均线,称为布林通道中轨TMP2 = Std(A,26); //求Offset个周期内的收盘价的标准差TOP= ref(Mid2,1) + 2 * TMP2;//布林通道上轨BOT = ref(Mid2,1) - 2 * TMP2; //布林通道下轨TB=TOP-BOT;//上下轨距离B=(20*A+19*REF(A,1)+18*REF(A,2)+17*REF(A,3)+16*REF(A,4)+15*REF(A,5)+14*REF(A,6)+13*REF(A,7)+12*REF(A,8)+11*REF(A,9)+10*REF(A,10)+9*REF(A,1)+8*REF(A,2)+7*REF(A,3)+6*REF(A,4)+5*REF(A,5)+4*REF(A,6)+3*REF(A,7)+2*REF(A,8)+REF(A,2))/210;//对A值做加权均值计算。DKK=1500*(CLOSE*0.5+DK*10)/SUM(CLOSE*0.5+DK*8,60)+K4*0.75+K3*0.25+MA(MM9,3)*1+MA(MM18,3)*2+MA(MM24,3)*2+MA(MM36,3)*4+MA(MM72,3)*6;K31=EMA(MA(B*0.5+K3*0.5+K4*0.5+MM18*0.06+MM36*0.07+MM54*0.08+MM60*0.1+MM72*0.09+MM9*0.05+MM5*0.04+MM3*0.03,5),1);K41=EMA(MA(K31,21),3);cond21=Every(ref(MM3,1)>=0&&ref(MM5,1)>=0&&ref(MA3,1)>=ref(MA5,1)&&ref(MM6,1)>=0&&ref(MM9,1)>=0&&ref(MM12,1)>=0&&ref(MM18,1)>0&&ref(MM24,1)>=0&&ref(MM36,1)>0&&ref(MA9,1)>=REF(MA12,1)&&ref(MA9,1)>=REF(MA18,1)&&ref(MA9,1)>=REF(MA36,1)&&日线多头,1);//标准多头排列cond22=Every(ref(MM3,1)<=0&&ref(MM5,1)<=0&&ref(MA3,1)<=ref(MA5,1)&&ref(MM6,1)<=0&&ref(MM9,1)<=0&&ref(MM12,1)<=0&&ref(MM18,1)<0&&ref(MM24,1)<=0&&ref(MM36,1)<0&&ref(MA9,1)<=ref(MA12,1)&&ref(MA9,1)<=ref(MA18,1)&&ref(MA9,1)<=ref(MA36,1)&&日线空头,1);//标准空头排列QZ21=IIF(cond21,count(cond21,27),0);//27个周期内标准上涨的周期数QZ22=IIF(cond22,count(cond22,27),0);//27个周期内标准下跌的周期数TOPCROSS1=IIF(Exist(cross(K4,K3)&&hhVBARS(high,90)<30,90),count(k4>k3&&hhVBARS(high,90)<30,90),0);//90周期内顶部潜龙指标死叉距今K线数BOTCROSS1=IIF(Exist(cross(K3,K4)&&LLVBARS(LOW,90)<30,90),count(k3>k4&&LLVBARS(LOW,90)<30,90),0);//90周期内底部潜龙指标金叉距今K线数TOPCROSS2=IIF(Exist(cross(MA18,MA9)&&hhVBARS(high,90)<30,90),count(ma18>ma9&&hhVBARS(high,90)<30,90),0);//90周期内顶部均线死叉距今K线数BOTCROSS2=IIF(Exist(cross(MA9,MA18)&&LLVBARS(LOW,90)<30,90),count(ma9>ma18&&LLVBARS(LOW,90)<30,90),0);//90周期内底部均线金叉距今K线数BKCROSS01=IIF(Exist(cross(MA9,MA18),45),count(ma9>ma18,45),0);//短线均线金叉距今K线数1BKCROSS02=IIF(Exist(cross(MA36,MA72),45),count(ma36>ma72,45),0);//长线均线金叉距今K线数SKCROSS01=IIF(Exist(cross(ma18,ma9),45),count(ma18>ma9,45),0);//短均线死叉距今K线数1SKCROSS02=IIF(Exist(cross(MA36,MA72),45),count(ma36>ma72,45),0);//长均线死叉距今K线数2BKCROSS03=BarsLast(cross(HIGH,MA18)&&LLVBARS(LOW,45)<19&&KK1>2&&MMKKK1>0);//45周期内首次突破18均线距今K线数BKCROSS04=BarsLast(cross(HIGH,MA36)&&LLVBARS(LOW,45)<19&&KK1>2&&MMKKK1>0);//45周期内首次突破36均线距今K线数SKCROSS03=BarsLast(cross(MA18,LOW)&&hhVBARS(high,45)<19&&KK1<-2&&MMKKK1<0);//45周期内首次跌破18均线距今K线数SKCROSS04=BarsLast(cross(MA36,LOW)&&hhVBARS(high,45)<19&&KK1<-2&&MMKKK1<0);//45周期内首次跌破36均线距今K线数N=DUALVOLUME("N");BPSPtime=(Between(time,0.1435,0.1500)+Between(time,0.2235,0.2300)+Between(time,0.2315,0.2330))*Between(RN,-0.1,0.1);//日内清仓时间选择HL=(HHV(ref(HIGH,1),7)-LLV(ref(LOW,1),7))*0.2+ref(MA(ABS(CLOSE-OPEN),7),1)*0.8;//7根K线的有效波幅HL2=ZD*(HHV(WMA9,3)-LLV(WMA9,3))/MINPRICE;//3根K线的日线有效波幅 HL2>1MAXVOL=700;//加仓前最大持仓数SS4=MoneyRatio;//资金使用率SS5=1+IntPart(SS4*10);//资金使用率的10倍取整SS=iif(MaxContracts<MAXVOL,IntPart(IIF(SS4<0.4,max(min(IntPart(MoneyTot*(1-MoneyRatio)*0.20/(REF(A,1)*ContractUnit*0.12)),1000),1),iif(SS4<0.5,max(min(IntPart(MoneyTot*(1-MoneyRatio)*0.15/(REF(A,1)*ContractUnit*0.12)),1000),1),0))*IIF(REF(OpenInt,1)>3000,1,0)),0);//每次开单手数为未使用资金的6%-20%且不超过1000手 //SS=IIF(SS4<0.4,myvol,0);//每次开单手数为未使用资金的10%且不超过1000手
    BKBK=B>REF(B,1)&&mm5+MM6+MM9+MM12>0&&k4>-60&&ma9>=ma18&&Every(mm3+mm5>0,2)&&Every(mm9+mm18>0,2);//主图潜龙线红色时SKSK=B<REF(B,1)&&mm5+MM6+MM9+MM12<0&&k4<60&&ma9<=ma18&&Every(mm3+mm5<0,2)&&Every(mm9+mm18<0,2);//主图潜龙线绿色时BPBP=Exist(SKSK,7)==1&&Exist(SKSK,1)==0;//主图潜龙线由绿色消失时SPSP=Exist(BKBK,7)==1&&Exist(BKBK,1)==0;//主图潜龙线由红色消失时JXXS = Cross(MA36, Ref(MA36,1));JXXX = CrossDown(MA36, Ref(MA36,1));CS1 = Count(CrossDown(K3,K4),JXXX);//下跌时死叉CS2 = Count(Cross(K3,K4),JXXS);//上涨时金叉BK01=Every(HH>=0&&HH>=REF(HH,1)&&Exist(MM18>=0||短线差>=0,1),1);//做多BK02=Every(HH>=10&&sum(HH-REF(HH,1),10)>0&&Exist(MM18>=0||短线差>=0,1)&&HIGH==LOW,1);//涨停做多SK01=Every(LL<0&&HH<=REF(HH,1)&&Exist(MM18<=0||短线差<=0,1),1);//做空SK02=Every(LL<-10&&sum(HH-REF(HH,1),10)<0&&Exist(MM18<=0||短线差<=0,1)&&HIGH==LOW,1);//跌停做空SPBP01=Every(HH<0&&HH>REF(HH,1)&&not(HH>=10&&sum(HH-REF(HH,1),10)>0&&HIGH==LOW)&&not(短线差>0),1);//多头减仓及不持仓区SPBP02=Every(LL>=0&&HH<REF(HH,1)&&not(HH>=10&&sum(HH-REF(HH,1),10)>0&&HIGH==LOW)&&not(短线差<0),1);//空头减仓及不持仓区SPBP03=Exist(BK01+BK02+SK01+SK02==0,1);//不持仓区 PartLine(B>=REF(B,1)&&MM18>=0,MA18,RGB(255,0,0),Linethick2);PartLine(B<=REF(B,1)&&MM18<=0,MA18,RGB(0,255,0),Linethick2);PartLine(B>=REF(B,1)&&MM36>=0,MA36,RGB(255,22,0),Linethick2);PartLine(B<=REF(B,1)&&MM36<=0,MA36,RGB(0,255,22),Linethick2);BKPRC = Price("New")-BQ*minprice; //实盘所用买开价格 SPPRC = Price("New")+BQ*minprice; //实盘所用卖平价格 SKPRC = Price("New")+BQ*minprice; //实盘所用卖开价格 BPPRC =  Price("New")-BQ*minprice; //实盘所用买平价格BSPRC=IntPart((open+close)/2/minprice)*minprice;//回测所用开仓和平仓价格为“收盘价与开盘价的平均值”//以下为新增交易信号if (Filter(Exist(SPBP02+SPBP01+SPBP03>0,1)&&SKVOL>0,1))//刚进入“空头减仓及不持仓区” {  BuyToCover(IntPart(SKVOL*1),BSPRC);//刚进入“空头减仓及不持仓区平”100%}if (Filter(Exist(SPBP02+SPBP01+SPBP03>0,1)&&SUM(SPBP02+SPBP01,5)>2&&SKVOL>0,0))//连续进入“空头减仓及不持仓区” { BuyToCover(IntPart(SKVOL*1),BSPRC);//连“进入空头减仓及不持仓区”清仓}IF(Filter(Exist(SPBP02+SPBP01+SPBP03>0,1)&&BKVOL>0,1))//刚进入“多头减仓及不持仓区”{ SELL(IntPart(BKVOL*1),BSPRC);//连续进入“多头减仓及不持仓区”平100%}IF(Filter(Exist(SPBP02+SPBP01+SPBP03>0,1)&&SUM(SPBP02+SPBP01,5)>2&&BKVOL>0,0))//刚进入“多头减仓及不持仓区”{ SELL(IntPart(BKVOL*1),BSPRC);//连续进入“多头减仓及不持仓区”平100%}if (Filter(FX>=0&&SS4<0.5&&BK01+BK02>0&&Exist(HHVBars(HIGH,3)<=1||LLVBars(LOW,7)<=1,1)&&not(Every(BK01+BK02>0,7))&&NOT(BarsSell<2)&&SPBP01+SPBP02<1,2))//多头 { Buy(IntPart(SS*1),BSPRC);//多头区做多}if (Filter(FX<=0&&SS4<0.5&&SK01+SK02>0&&Exist(HHVBars(HIGH,7)<=1||LLVBars(LOW,3)<=1,1)&&not(Every(SK01+SK02>0,7))&&NOT(BarsBuyToCover<2)&&SPBP01+SPBP02<1,2) )//空头 { SellShort(SS*1,BSPRC);//空头区做空}if (BK01+BK02>0&&SKVOL>0)//持空单进入了多头区 { BuyToCover(SKVOL,BSPRC);//持空单进入了多头区须平空}if (SK01+SK02>0&&BKVOL>0 )//持多单进入了空头区 { Sell(BKVOL,BSPRC);//持多单进入了空头区须平多}


    文件名:vip版测试02.png



    文件名:vip版测试03.png

     

     来源:程序化99

  • 文华技术人员: 这也得全部源码发出来后,才看得到问题在哪

     

     来源: WWW.CXH99.COM

  • 文华客服:  后面的都是交易指令了

     

  • 网友回复:  111111

     

  • 网友回复:  扔了吧

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 262069696  点击在线交流或微信:cxhjy888 进行 有偿收费 编写!(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,谢谢您!)

怎么收费,代编流程等详情请点击阅读,或QQ微信联系我们!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容