Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:达到某一空单平仓条件并反手开多单时,如何才能排除某一多单平仓条件限制

1楼
呼雷 发表于:2018/5/24 15:01:33
达到某一空单平仓条件并反手开多单时,如何才能排除某一多单平仓条件的限制?

当满足空平条件(kp1202)时,对空单进行平仓,同时反手开多单,但此时要排除多单平仓条件(dp)的限制,不然此条件达成后,一旦开多单就会马上被平仓,在此,对以下语句中要加入何语句才可以排除多平条件(dp)的限制,谢谢!

if kp1202 then begin 
kp(kp1202):sellshort(holding<0,ss,marketr);//
kd(kd1202):buy(holding=0,ss,thisclose) ;//
end
[此贴子已经被作者于2018/5/24 15:02:11编辑过]
2楼
FireScript 发表于:2018/5/24 15:03:22
 原帖中已有回复。可前往查看,跟帖。
3楼
呼雷 发表于:2018/5/24 15:05:11
没有解决!
4楼
FireScript 发表于:2018/5/24 15:38:58
 后面重新回复了,你是没看到还是有不理解的地方?

下面再给个测试代码和结果给你参考下吧。


m:=0;//先定义一个变量,在触发平多开空的时候给这个变量赋值
ss:=1;
kp1202:=(BARPOS=DATACOUNT-1);
if kp1202=1 then begin
kp(kp1202):sellshort(holding<0,ss,marketr);
kd(kd1202):buy(holding=0,ss,thisclose) ;

m:=1;//改变m的值,这样下面的dp即使触发也不能平多了
end
dp:c>o or BARPOS=DATACOUNT-1;

if dp and m=0 then sell(holding>0,holding,market);//再平多这里里把m=0的判断加进去即可

hd:holding;//显示持仓
效果图:


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看


我这里设置情况的是最后2个K上平多条件dp都触发。但是倒数第二个K 因为我设置了过滤,先触发了开多因此dp触发的平多不再进行下去。


5楼
FireScript 发表于:2018/5/24 15:40:00
但是也有一些限制,这个如果你是用走完K,没啥问题。固定轮询需要重新处理。
共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03516 s, 3 queries.