以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  请问止盈后同方向不开仓这语句怎么描述  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=175453)

--  作者:qq代人发帖
--  发布时间:2020/4/10 12:37:46
--  请问止盈后同方向不开仓这语句怎么描述
请问止盈后同方向不开仓这语句怎么描述
--  作者:FireScript
--  发布时间:2020/4/10 13:31:25
--  
参考下面的范例, 需要用全局变量去控制。在止盈和常规平仓的条件下进行全局变量的控制。

VARIABLE:mark:=0;
ma5:ma(c,5);
ma10:ma(c,10);
ma20:ma(c,20);

kdcd1:=cross(ma5,ma10);//多头开仓
kdcd2:=cross(ma10,ma5);//多头平仓
kkcd1:=cross(ma20,ma10);//空头开仓
kkcd2:=cross(ma10,ma20);//空头平仓

dtzy:=(c-AvGENTERPRICE)/AVGENTERPRICE>=0.02;//多头止盈条件
ktzy:=(AvGENTERPRICE-c)/AVGENTERPRICE>=0.02;//空头止盈条件


if dtzy and holding>0 then
begin
多头止盈:sell(holding>0,holding,market);   
mark:=1;//重置全局变量为1
end


if ktzy and holding<0 then
begin
空头止盈:sellshort(kkcd2 and holding<0,holding,market);   
mark:=-1;//重置全局变量为-1
end

if kdcd2 and holding>0 then //普通平仓
begin
sell(1,holding,market);   
mark:=0;//普通平仓情况下全局变量重置为0
end

buy(kdcd1 and holding=0 and mark<=0,1,market);

if kkcd2 and holding<0 then //普通平仓
begin
sellshort(1,holding,market);
mark:=0;//普通平仓情况下全局变量重置为0
end

buyshort(kkcd1 and holding=0 and mark>=0,1,market);




[此贴子已经被作者于2020/4/10 13:31:59编辑过]