以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 如何编程实现oco条件单 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=162750) |
-- 作者:Yangygzy -- 发布时间:2018/4/13 13:31:55 -- 如何编程实现oco条件单 你好,我想实现要么突破5日高点买,或者回调到RSI<40转向的时候买,一个指令执行后取消另外一个,这个该怎么写呢? |
-- 作者:FireScript -- 发布时间:2018/4/13 13:38:14 -- “突破5日高点买,或者回调到RSI<40转向” 你意思是这2个条件只执行其中一个? 不是很清楚你说的一个指令执行后取消另一个是要具体如何操作。 |
-- 作者:Yangygzy -- 发布时间:2018/4/13 13:43:22 -- 回复:(FireScript)?“突破5日高点买,或者回调... 这么讲吧,5日高点2000,如果再没有触发回踩买入条件的情况下突破2000,我买入,然后不再回调买,如果在突破2000前先打到回调买条件,我直接回调买,然后取消突破买的条件,这种逻辑该怎么写呢? [此贴子已经被作者于2018/4/13 13:43:43编辑过]
|
-- 作者:FireScript -- 发布时间:2018/4/13 14:05:45 -- 你这种其实用holding=0限制下就行了呗。 buycond:a or b; if buycond then buy(holding=0,1,market); 这样A或者B任意一个触发下单,另一个就无法再次重新触发。 |
-- 作者:Yangygzy -- 发布时间:2018/4/13 14:15:07 -- 谢谢啊,触发后我想追踪是哪种情况触发,以便采用不同的处理方式,这个该怎么弄呢?
以下是引用FireScript在2018/4/13 14:05:45的发言:
你这种其实用holding=0限制下就行了呗。 buycond:a or b; if buycond then buy(holding=0,1,market); 这样A或者B任意一个触发下单,另一个就无法再次重新触发。 |
-- 作者:FireScript -- 发布时间:2018/4/13 14:39:21 -- VARIABLE:m:=0; buycond:a or b; if buycond then begin m:=if(a,1,2);//是a返回1 是b返回2 buy(holding=0,1,market); end //根据m值判断最近一次开仓是a还是b //后面如果平仓m需要重置为0 |