指令价加仓模型 (文华财经WH8赢智V8.2)

投资者咨询:指令价加仓模型 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-27 13:00

//我的意思是当前K线走完并满足条件显示空或者多,并在下一根K线开始时以开盘价开仓1手,开仓前平掉反方向的所有仓。
//按说只要加载后显示空或者多,下一根K线就应该开始交易,但我加载后达不到效果,请老师帮忙看看。
//我现在是学习代码,请老师在写的代码后写上代表的意思,这样我就能更快的学会,也减轻老师的工作量。
DF:=3;
N1:=12;
RSV:=(CLOSE-LLV(LOW,N1))/(HHV(HIGH,N1)-LLV(LOW,N1))*100;
KK:=SMA(RSV,DF,1);
DD:=SMA(KK,DF,1);
N:=KK+DD;
GWGD:=N<REF(N,1) AND REF(N,1)>=160 AND REF(N,1)>=REF(N,2);
DWDD:=N>REF(N,1) AND REF(N,1)<=50 AND REF(N,1)<=REF(N,2);
N大:=HHV(N,136),COLORRED,NOTEXT,NODRAW;
N小:=LLV(N,136),RGB(0,128,0),NOTEXT,NODRAW;

  空1:=GWGD;
  空2:=CROSS(160,N);
  
  多1:=DWDD;
  多2:=CROSS(N,50);
  

DRAWTEXT(空1 OR 空2,H,'空'),COLORGREEN;
DRAWTEXT(多1 OR 多2,L,'多'),COLORMAGENTA;

AA空:空1 OR 空2;
REF(AA空,1),SPK(1);
SETSIGPRICETYPE(SPK,OPEN);
MULTSIG(0,0,1,0);

AA多:多1 OR 多2;
REF(AA多,1),BPK(1);
SETSIGPRICETYPE(BPK,OPEN);
MULTSIG(0,0,1,0);

 

图片点击可在新窗口打开查看  
技术人员回复
日期:2018-7-27 13:23
如下修改试下

另外,论坛不提供整段翻译的,您可以在编写平台选中对应函数右键函数说明中了解下语句含义,如有不明白的地方,可以针对提问

DF:=3;
N1:=12;
RSV:=(CLOSE-LLV(LOW,N1))/(HHV(HIGH,N1)-LLV(LOW,N1))*100;
KK:=SMA(RSV,DF,1);
DD:=SMA(KK,DF,1);
N:=KK+DD;
GWGD:=N<REF(N,1) AND REF(N,1)>=160 AND REF(N,1)>=REF(N,2);
DWDD:=N>REF(N,1) AND REF(N,1)<=50 AND REF(N,1)<=REF(N,2);
N大:=HHV(N,136),COLORRED,NOTEXT,NODRAW;
N小:=LLV(N,136),RGB(0,128,0),NOTEXT,NODRAW;
空1:=GWGD;
空2:=CROSS(160,N);
  
多1:=DWDD;
多2:=CROSS(N,50);
  
DRAWTEXT(空1 OR 空2,H,'空'),COLORGREEN;
DRAWTEXT(多1 OR 多2,L,'多'),COLORMAGENTA;

AA空:空1 OR 空2;
AA多:多1 OR 多2;
REF(AA空,1),SPK(1);
REF(AA多,1),BPK(1);
SETSIGPRICETYPE(SPK,OPEN);
SETSIGPRICETYPE(BPK,OPEN);
MULTSIG(0,0,1,0);
TRADE_AGAIN(100); 
投资者咨询:指令价加仓模型 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-27 13:00
有错误 

图片点击可在新窗口打开查看  
技术人员回复
日期:2018-7-27 15:05
这样改下

DF:=3;
N1:=12;
RSV:=(CLOSE-LLV(LOW,N1))/(HHV(HIGH,N1)-LLV(LOW,N1))*100;
KK:=SMA(RSV,DF,1);
DD:=SMA(KK,DF,1);
N:=KK+DD;
GWGD:=N<REF(N,1) AND REF(N,1)>=160 AND REF(N,1)>=REF(N,2);
DWDD:=N>REF(N,1) AND REF(N,1)<=50 AND REF(N,1)<=REF(N,2);
N大:=HHV(N,136),COLORRED,NOTEXT,NODRAW;
N小:=LLV(N,136),RGB(0,128,0),NOTEXT,NODRAW;
空1:=GWGD;
空2:=CROSS(160,N);
  
多1:=DWDD;
多2:=CROSS(N,50);
  
DRAWTEXT(空1 OR 空2,H,'空'),COLORGREEN;
DRAWTEXT(多1 OR 多2,L,'多'),COLORMAGENTA;

AA空:空1 OR 空2;
AA多:多1 OR 多2;
REF(AA空,1),SPK(1);
REF(AA多,1),BPK(1);
SETSIGPRICETYPE(SPK,OPEN);
SETSIGPRICETYPE(BPK,OPEN);
CHECKSIG(BPK,'A',0,'C',0,0);//出信号立即下单,不复核
CHECKSIG(SPK,'A',0,'C',0,0);//出信号立即下单,不复核
TRADE_AGAIN(100); 
投资者咨询:指令价加仓模型 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-27 13:00
 老师,看下面两图,模型没有达得我的要求,图上出现空和多十几个,但只有两次成交。我的本意是出现空的时候,下一k就成交,出现多也一样,就图中而言应该开平仓十几次才对,可只有两次,请帮忙修改。谢谢



图片点击可在新窗口打开查看



图片点击可在新窗口打开查看
技术人员回复
日期:2018-7-27 15:28
不是问题

模型回测出信号是从信号计算开始时间计算的,

您按照图示点K线上方工具条的“设定信号计算起始时间”按钮,设置下信号计算的开始时间,再点旁边的开始回测按钮重新回测下

另外,您刚接触软件,可以参考软件右上角》帮助》软件说明书中的介绍了解下

图片点击可在新窗口打开查看
投资者咨询:指令价加仓模型 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-27 13:00
 老师,首先感谢您的指导
我也按你说的看了说明书,但是有些问题还是解决不了,
请您加载一下下面的代码,有信号但是没有开平仓,请指导我一下是哪里出错。



图片点击可在新窗口打开查看

H1:=MAX(GETPRICE('YCLOSE'),GETPRICE('HIGH'));
L1:=MIN(GETPRICE('YCLOSE'),GETPRICE('LOW'));
 P1:=H1-L1;
阻力:=L1+P1*7/8,COLORGREEN;
支撑:=L1+P1*0.5/8,COLORRED;
中线:=(支撑+阻力)/2,COLORWHITE,POINTDOT;
 V11:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1);
趋势线:=EMA(V11,3),LINETHICK1,COLORMAGENTA,NOTEXT,NODRAW;
 V12:=(趋势线-REF(趋势线,1))/REF(趋势线,1)*100;
 AA:=(趋势线<11) AND FILTER((趋势线<=11),15) AND C<中线;
BB0:=REF(趋势线,1)<11 AND CROSS(趋势线,11) AND C<中线;
BB1:=REF(趋势线,1)<11 AND REF(趋势线,1)>6 AND CROSS(趋势线,11);
 BB2:=REF(趋势线,1)<6 AND REF(趋势线,1)>3 AND CROSS(趋势线,6);
 BB3:=REF(趋势线,1)<3 AND REF(趋势线,1)>1 AND CROSS(趋势线,3);
 BB4:=REF(趋势线,1)<1 AND REF(趋势线,1)>0 AND CROSS(趋势线,1);
 BB5:=REF(趋势线,1)<0 AND CROSS(趋势线,0);
 BB:=BB1=1 OR BB2=1 OR BB3=1 OR BB4=1 OR BB5=1;
 CC:=(趋势线>89) AND FILTER((趋势线>89),15) AND C>中线;
DD0:=REF(趋势线,1)>89 AND CROSS(89,趋势线) AND C>中线;
DD1:=REF(趋势线,1)>89 AND REF(趋势线,1)<94 AND CROSS(89,趋势线);
DD2:=REF(趋势线,1)>94 AND REF(趋势线,1)<97 AND CROSS(94,趋势线);
DD3:=REF(趋势线,1)>97 AND REF(趋势线,1)>99 AND CROSS(97,趋势线);
DD4:=REF(趋势线,1)>99 AND REF(趋势线,1)<100 AND CROSS(99,趋势线);
DD5:=REF(趋势线,1)>100 AND CROSS(100,趋势线);
DDD:=DD1=1 OR DD2=1 OR DD3=1 OR DD4=1 OR DD5=1;


  空16:=DD0;
  空17:=DDD=1 AND C>中线;

  多17:=BB0;
  多18:=BB=1 AND C<中线;


DRAWTEXT(空16 OR 空17,H,'空'),COLORGREEN;
DRAWTEXT(多17 OR 多18,L,'多'),COLORMAGENTA;


AA空:空16 OR 空17;
AA多:多17 OR 多18;
REF(AA空,1),SPK(1);
REF(AA多,1),BPK(1);
SETSIGPRICETYPE(SPK,OPEN);
SETSIGPRICETYPE(BPK,OPEN);
CHECKSIG(BPK,'A',0,'C',0,0);//出信号立即下单,不复核
CHECKSIG(SPK,'A',0,'C',0,0);//出信号立即下单,不复核
TRADE_AGAIN(100); 

   
技术人员回复
日期:2018-7-27 22:37
使用到了GETPRICE函数,不支持回测的

加载模型后,右键》装入程序化模组后台运行,保持模组24小时连续运行,出信号就会自动给您开平仓了

软件说明书中有详细的程序化运行图文说明,您进入了解下基本用法
投资者咨询:指令价加仓模型 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-27 13:00
 老师,您能帮我改一下不用 GETPRICE函数吗。 

前面两句是通达信改过来的,原公式是
H1:=MAX(DYNAINFO(3),DYNAINFO(5));
L1:=MIN(DYNAINFO(3),DYNAINFO(6));
P1:=H1-L1;
技术人员回复
日期:2018-7-28 9:15
 参考:

H1:=MAX(YCLOSE,HHV(H,DAYBARPOS));
L1:=MIN(YCLOSE,HHV(L,DAYBARPOS));
 P1:=H1-L1;
阻力:=L1+P1*7/8,COLORGREEN;
支撑:=L1+P1*0.5/8,COLORRED;
中线:=(支撑+阻力)/2,COLORWHITE,POINTDOT;
 V11:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1);
趋势线:=EMA(V11,3),LINETHICK1,COLORMAGENTA,NOTEXT,NODRAW;
 V12:=(趋势线-REF(趋势线,1))/REF(趋势线,1)*100;
 AA:=(趋势线<11) AND FILTER((趋势线<=11),15) AND C<中线;
BB0:=REF(趋势线,1)<11 AND CROSS(趋势线,11) AND C<中线;
BB1:=REF(趋势线,1)<11 AND REF(趋势线,1)>6 AND CROSS(趋势线,11);
 BB2:=REF(趋势线,1)<6 AND REF(趋势线,1)>3 AND CROSS(趋势线,6);
 BB3:=REF(趋势线,1)<3 AND REF(趋势线,1)>1 AND CROSS(趋势线,3);
 BB4:=REF(趋势线,1)<1 AND REF(趋势线,1)>0 AND CROSS(趋势线,1);
 BB5:=REF(趋势线,1)<0 AND CROSS(趋势线,0);
 BB:=BB1=1 OR BB2=1 OR BB3=1 OR BB4=1 OR BB5=1;
 CC:=(趋势线>89) AND FILTER((趋势线>89),15) AND C>中线;
DD0:=REF(趋势线,1)>89 AND CROSS(89,趋势线) AND C>中线;
DD1:=REF(趋势线,1)>89 AND REF(趋势线,1)<94 AND CROSS(89,趋势线);
DD2:=REF(趋势线,1)>94 AND REF(趋势线,1)<97 AND CROSS(94,趋势线);
DD3:=REF(趋势线,1)>97 AND REF(趋势线,1)>99 AND CROSS(97,趋势线);
DD4:=REF(趋势线,1)>99 AND REF(趋势线,1)<100 AND CROSS(99,趋势线);
DD5:=REF(趋势线,1)>100 AND CROSS(100,趋势线);
DDD:=DD1=1 OR DD2=1 OR DD3=1 OR DD4=1 OR DD5=1;


  空16:=DD0;
  空17:=DDD=1 AND C>中线;

  多17:=BB0;
  多18:=BB=1 AND C<中线;


DRAWTEXT(空16 OR 空17,H,'空'),COLORGREEN;
DRAWTEXT(多17 OR 多18,L,'多'),COLORMAGENTA;


AA空:空16 OR 空17;
AA多:多17 OR 多18;
REF(AA空,1),SPK(1);
REF(AA多,1),BPK(1);
SETSIGPRICETYPE(SPK,OPEN);
SETSIGPRICETYPE(BPK,OPEN);
CHECKSIG(BPK,'A',0,'C',0,0);//出信号立即下单,不复核
CHECKSIG(SPK,'A',0,'C',0,0);//出信号立即下单,不复核
TRADE_AGAIN(100);