以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=173041)

--  作者:lala123
--  发布时间:2019/11/11 15:16:39
--  盈利加仓编写
编写:比如,MA5和MA10金叉之后入场,盈利2%加仓1手,再盈利1%的话再加仓1手
--  作者:lala123
--  发布时间:2019/11/11 15:27:48
--  
盈利的比例按入场价格与实时价格对比
--  作者:FireScript
--  发布时间:2019/11/11 15:29:09
--  
 第二次是在第一次加仓基础上再盈利1%?
--  作者:lala123
--  发布时间:2019/11/11 15:44:57
--  
是的
--  作者:FireScript
--  发布时间:2019/11/11 16:10:12
--  
 提供一个用全局变量控制的范例吧:

VARIABLE:mark:=0;
ma5:ma(c,5);
ma10:ma(c,10);
jc:cross(ma5,ma10);

if jc and holding=0 then buy(1,1,market);

if mark=1 and holding>0 and (c-AvGENTERPRICE)/AvGENTERPRICE>=0.01 then //第二次加仓  这部分代码一定要在第一次加仓代码前面; 判断条件里面的holding>0是必不可少的。
begin
mark:=2;
加仓2:buy(holding>0,1,market);     
end

if mark=0 and holding>0 and (c-AvGENTERPRICE)/AvGENTERPRICE>=0.02 then //第一次加仓 ; 判断条件里面的holding>0是必不可少的。
begin
mark:=1;
加仓1:buy(holding>0,1,market);     
end

if cross(ma10,ma5) and holding>0 then //平仓时重置全局变量。 if判断条件里面的holding>0是必不可少的。
begin
sell(holding>0,holding,market);
mark:=0;
end
[此贴子已经被作者于2019/11/12 9:51:09编辑过]

--  作者:lala123
--  发布时间:2019/11/11 16:32:23
--  
谢谢,再麻烦编写:当总持仓盈利了5%后,价格高位回撤20%后全平
--  作者:FireScript
--  发布时间:2019/11/12 9:55:02
--  
 maxProfit:=(hhv(h,ENTERBARS+2)-AvGENTERPRICE);

if maxProfit/AvGENTERPRICE>0.05 and  (hhv(h,ENTERBARS+2)-c)/c>=0.2 and holding>0 then
begin
回撤平仓:sell(holding>0,holding,market);
mark:=0;    
end

加一段代码。