以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  交易多空梅花间竹地开,做空止盈后就不交易直到开多,才进行,怎么在代码实现  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=172619)

--  作者:a28861211
--  发布时间:2019/10/25 11:09:12
--  交易多空梅花间竹地开,做空止盈后就不交易直到开多,才进行,怎么在代码实现
我的交易是多空梅花间竹地开,多--平多同时会反手空--在平空同时会多--这么梅花间竹的,但在开单之后,有个止盈目标,实现了,就不再做这个方向的单子,等反手的单子,如何在代码中实现?请教大师,万分感激。
--  作者:a28861211
--  发布时间:2019/10/25 11:14:01
--  
想法就是,有信号,就进场,相反信号就止损离场,并反手,如果信号盈利,达到某个固定值,就平仓,其他更多盈利就不要了,等下一个信号出来。(但很多时候,代码编写达到某个盈利固定值之后平仓完毕之后,因为信号没改变,又会再次进场)怎么解决?)谢谢老师赐教,谢谢
--  作者:FireScript
--  发布时间:2019/10/25 11:22:41
--  
 用全局变量可以做的。

VARIABLE:ct1:=0,ct2:=0;


if  空头止盈条件 and holding<0 then
begin
sellshort(holding>0,holding,market);
ct2:=1;
end

if  多头止盈条件 and holding>0 then
begin
sell(holding>0,holding,market);
ct1:=1;
end


if  平空开多  then
begin
sellshort(holding<0,holding,market);
buy(holding=0 and ct1=0,1,market);   
end

if  平多开空 then
begin
sell(holding>0,holding,market);
buyshort(holding=0 and ct2=0,1,market);   
end



//必须设置重置ct1,ct2为0的代码。否则2次多空盈利之后,后面就没办法开仓了。这个根据你自己重启交易的思路去设置。