[求助]关于止盈止损单的开仓手数问题。 [金字塔]
- 咨询内容:
此主题相关图片如下:qq图片20140318094929.jpg
如图,两线交叉成型做单,平空与开多条件同,平多与开空条件同。根据软件例子编的止盈止损策略,加上了限制开仓手数。VARIABLE:kdss=0,kkss=0;发现貌似开多(平多),与开空(平空)各只开一次,然后没交易了,跟设想的每个波段交易一次想法不同。错误在哪里?及如何改呢?
A1:stkindi('','ND',0,22,45);A2:=stkindi('','XD',0,17,0);
BUY1:=A1>A2;SELL1:=A1<A2;
ZSDS:=3; {止损点数}//以下变量用于移动止盈,,移动止盈只能保证你尽可能稳健盈利,却不能保证盈利最大化,如果不想使用,可是将总开关设置为0VARIABLE:YDZY=1; {移动止盈总开关,1为开,0为关}VARIABLE:HIGHPRICE=0,LOWPRICE=0; {保存开仓后的最高价、最低价}VARIABLE:DHCDS=3,KHCDS=3; {多、空单回撤点数}VARIABLE:DYLDS=7,KYLDS=7; {多、空单盈利点数,当盈利点数达到这个标准后,如果回撤达到上面的参数值就平仓}VARIABLE:Z3B1:=1; {赚3保1开关}VARIABLE:kdss=0,kkss=0;{开多开空次数}
//持有空单IF HOLDING<0 THEN BEGIN IF BUY1 THEN BEGIN //平空单 空平:SELLSHORT(1,0,MARKET),ORDERQUEUE; END //止损 IF C-ENTERPRICE>=ZSDS THEN BEGIN 空损:SELLSHORT(1,0,MARKET),ORDERQUEUE; END //移动止盈 IF YDZY=1 THEN BEGIN //每周期判断是否创新低 IF L<LOWPRICE THEN BEGIN LOWPRICE:=L; END //如果盈利超过10点之后回撤达到3点,就平仓,保住盈利 IF ENTERPRICE-LOWPRICE>=KYLDS THEN BEGIN IF L-LOWPRICE>=KHCDS THEN BEGIN //回撤超过3点 空赢:SELLSHORT(1,0,MARKET); END END END //赚3保1 IF Z3B1=1 THEN BEGIN IF ENTERPRICE-LOWPRICE>=3 THEN BEGIN IF ENTERPRICE-L<=1.2 THEN BEGIN 空保:SELLSHORT(1,0,MARKET); END END ENDEND
//开多单
IF HOLDING>=0 AND TIME<143000 AND kdss=0 THEN BEGIN IF BUY1 THEN BEGIN 多开:BUY(1,1,MARKET); HIGHPRICE:=ENTERPRICE; //将开仓价保存到最高价 kdss:=1; END END //持有多单IF HOLDING>0 THEN BEGIN IF SELL1 THEN BEGIN {平多单} 多平:SELL(1,0,MARKET),ORDERQUEUE; END //多单管理 //止损 IF ENTERPRICE-C>=ZSDS THEN BEGIN 多损:SELL(1,0,MARKET),ORDERQUEUE; END //移动止盈 IF YDZY=1 THEN BEGIN //每周期判断是否创新高 IF H>HIGHPRICE THEN BEGIN HIGHPRICE:=H; END //如果盈利超过10点之后回撤达到3点,就平仓,保住盈利 IF HIGHPRICE-ENTERPRICE>=DYLDS THEN BEGIN IF HIGHPRICE-H>=DHCDS THEN BEGIN //回撤超过3点 多赢:SELL(1,0,MARKET); END END END //赚3保1 IF Z3B1=1 THEN BEGIN IF HIGHPRICE-ENTERPRICE>=3 THEN BEGIN IF H-ENTERPRICE<=1.2 THEN BEGIN 多保:SELL(1,0,MARKET); END END ENDEND//开空单IF HOLDING>=0 AND TIME<143000 AND kkss=0 THEN BEGIN IF SELL1 THEN BEGIN 空开:BUYSHORT(1,1,MARKET); LOWPRICE:=ENTERPRICE; kkss:=1; END END
- 金字塔客服:
在平仓语句里面把你的kdss和kkss都重新赋值为0,你开仓后就一直是1不变动了
- 用户回复:
各段开平止损止盈仓语句都加上了赋值,现在有新一段波段,但没任何信号了。
此主题相关图片如下:qq图片20140318110944.jpg
A1:stkindi('','ND',0,22,45);A2:=stkindi('','XD',0,17,0);
BUY1:=ND>XD and kdss=0;SELL1:=ND<XD and kkss=0;
//空单管理
//持有空单IF HOLDING<0 AND kkss=0 THEN BEGIN IF BUY1 THEN BEGIN //平空单 空平:SELLSHORT(1,0,MARKET),ORDERQUEUE; kkss:=1; END //止损 IF C-ENTERPRICE>=ZSDS AND kkss=0 THEN BEGIN 空损:SELLSHORT(1,0,MARKET),ORDERQUEUE; kkss:=1; END //移动止盈 IF YDZY=1 THEN BEGIN //每周期判断是否创新低 IF L<LOWPRICE THEN BEGIN LOWPRICE:=L; END //赚3保1 IF Z3B1=1 THEN BEGIN IF ENTERPRICE-LOWPRICE>=3 AND kkss=0 THEN BEGIN IF ENTERPRICE-L<=1.2 THEN BEGIN 空保:SELLSHORT(1,0,MARKET); kkss:=1; END END ENDEND
//如果盈利超过10点之后回撤达到3点,就平仓,保住盈利 IF ENTERPRICE-LOWPRICE>=KYLDS AND kkss=0 THEN BEGIN IF L-LOWPRICE>=KHCDS THEN BEGIN //回撤超过3点 空赢1:SELLSHORT(1,0,MARKET); kkss:=1; END END END
[此贴子已经被作者于2014/3/18 11:11:27编辑过] - 网友回复:
。。。平仓赋值为0啊,你开仓赋值为1,平仓也赋值为1,这个能有信号?
- 网友回复:
都赋值为1,有信号了,但也太多了吧。
此主题相关图片如下:qq图片20140318113452.jpg
此主题相关图片如下:qq图片20140318113805.jpg
而且,有些本身处于开空条件运行中了,但为什么在不确定的位置中又有新开空仓呢?按理在之前刚达成空条件时已经空一手了的。
此主题相关图片如下:qq图片20140318113531.jpg
如何解决? [此贴子已经被作者于2014/3/18 12:02:38编辑过]
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容