以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  补仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=147085)

--  作者:liwei
--  发布时间:2017/1/19 9:03:54
--  补仓
老师 请问在开仓价上回撤X点就补仓X手 再回撤X点再补X手【都是按照初始开仓价基础上计算的回撤】总共补两次就停止。应该怎样写?  新图表用。
--  作者:qq代人发帖
--  发布时间:2017/1/19 9:27:54
--  
VARIABLE:n=0;
if ENTERPRICE-c>=x and n<=1 and holding>0 then buy(1,x,market);
if 平仓条件 and holding>0 then begin
sell();
n:=0;
end

--  作者:liwei
--  发布时间:2017/1/19 13:22:27
--  
老师 不好意思上午出去了 刚才测试一下只能多头补仓 没有空头补仓 麻烦老师给看看怎么写空头和多头都是一样的条件
--  作者:qq代人发帖
--  发布时间:2017/1/19 14:33:12
--  

VARIABLE:n=0,m=0;
if ENTERPRICE-c>=x and n<=1 and holding>0 then buy(1,x,market);
if 平仓条件 and holding>0 then begin
sell();
n:=0;
end
if c-ENTERPRICE>=x and m<=1 and holding<0 then buyshort(1,x,market);
if 平空条件 and holding<0 then begin
sellshort();
m:=0;
end
 

 


--  作者:liwei
--  发布时间:2017/1/19 14:56:51
--  
老师 我试过这样的 空头不是只补仓两次  存在无数次补仓的情况
--  作者:pyd
--  发布时间:2017/1/19 16:41:52
--  
把你的代码和信号截图贴出来
[此贴子已经被作者于2017-1-19 16:42:02编辑过]

--  作者:liwei
--  发布时间:2017/1/20 7:39:21
--  
老师 我截图发送不了 不用和我说怎么发送 按照官方提示也是也发送不了 可以QQ截图发送  代码;

DR:=VALUEWHEN(D1>0,D1); TR:=VALUEWHEN(T1>0,T1);K1:=IF(C>DR,-1,IF(C<TR,1,1));
K2:=VALUEWHEN(K1<>0,K1);G:=IF(K2=1,DR,TR);
SS:=1;if K2<=0 then begin

   sellshort(1,0,marketr);  buy(holding=0,ss,marketr);

end if K2>0 then begin  sell(1,0,marketr);

   buyshort(holding=0,ss,marketr);

end


--  作者:pyd
--  发布时间:2017/1/20 8:57:16
--  

按照这个,4楼少写了一步

VARIABLE:n=0,m=0;
if ENTERPRICE-c>=x and n<=1 and holding>0 then begin
 buy(1,x,market);
 n:=n+1;
 end
if 平仓条件 and holding>0 then begin
sell();
n:=0;
end
if c-ENTERPRICE>=x and m<=1 and holding<0 then begin
 buyshort(1,x,market);
 m:=m+1;
 end
if 平空条件 and holding<0 then begin
sellshort();
m:=0;
end
 


--  作者:liwei
--  发布时间:2017/1/20 9:23:56
--  
老师 还是不行的 我是不是这样不对

DR:=VALUEWHEN(D1>0,D1); TR:=VALUEWHEN(T1>0,T1);K1:=IF(C>DR,-1,IF(C<TR,1,1));
K2:=VALUEWHEN(K1<>0,K1);G:=IF(K2=1,DR,TR);
SS:=1;if K2<=0 then begin    sellshort(1,0,marketr),orderqueue;
buy(holding=0,ss,marketr),orderqueue;
end
VARIABLE:n=0,m=0;
if ENTERPRICE-c>=3 and n<=1 and holding>0 then begin
 buy(1,2,market);
 n:=n+1;
 end
if 平仓条件 and holding>0 then begin
sell(1,0,marketr);
n:=0;
end
if c-ENTERPRICE>=3 and m<=1 and holding<0 then begin
 buyshort(1,2,market);
 m:=m+1;
 end
if 平空条件 and holding<0 then begin
sellshort(1,0,marketr);
m:=0;
end
 


if K2>0 then begin
sell(1,0,marketr),orderqueue;
buyshort(holding=0,ss,marketr),orderqueue;
end