以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  最高点回撤最低点,再上调10跳加仓  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=168463)

--  作者:天天涨停
--  发布时间:2019/2/27 11:01:59
--  最高点回撤最低点,再上调10跳加仓

已买有多单,以多单的开仓价为准,以开仓盈利最高点计算,回落最低点,再上调10跳后加仓。如下图所示:

 


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20190227105455.jpg
图片点击可在新窗口打开查看

 

如何写策略实现此思路。

 


 


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20190227110042.jpg
图片点击可在新窗口打开查看

--  作者:FireScript
--  发布时间:2019/2/27 14:03:35
--  
 试下这样:
max_Locate:HHVBARS(h,len);//最高点距离现在的位置
min_P:hhv(l,max_Locate+1);//最高点位置到现在的最低价
cond:holding>0 and c-min_p>=10*MINDIFF;//最新价比上面最低点回升10个点
if cond then buy(holding>0,10,market);

--  作者:天天涨停
--  发布时间:2019/2/28 9:53:31
--  
max_Locate:HHVBARS(h,len);中的len怎么定义变量
--  作者:FireScript
--  发布时间:2019/2/28 9:57:31
--  
 漏掉了。
len:=ENTERBARS+2;

--  作者:天天涨停
--  发布时间:2019/2/28 11:28:15
--  
谢谢
--  作者:天天涨停
--  发布时间:2019/2/28 11:46:19
--  

老师,我加进去后没有信号出现,是什么原因。

//中间变量

input:p1(5,1,150,1),p2(6,1,300,1),手数(1,1,200,1);
Var1:=(C+L+H)/3;
Var2:=EMA(Var1,p1);
Var3:=EMA(Var2,p2);
Var4:=eMA(Var3,12);
Var5:=eMA(Var4,5);
生命线:=eMA(Var3,2),COLORRED,POINTDOT;


DRAWICON((C-5)>生命线,生命线,10);
DRAWICON((C+5)<生命线,生命线,11);

len:=ENTERBARS+2;
max_Locate:HHVBARS(h,len);//最高点距离现在的位置
min_P:hhv(l,max_Locate+1);//最高点位置到现在的最低价
cond:holding>0 and c-min_p>=10*MINDIFF;//最新价比上面最低点回升10个点


 //交易条件:
 sellcond:=(C+5)<生命线;
 buycond:=(C-5)>生命线;
//交易系统


if buycond then begin
 if cond then
sellshort(holding<0,HOLDING,MARKETR,(H+L)/2)IGNORECHECKPRICE;
buy(holding=0,手数,LIMITR,(H+L)/2)IGNORECHECKPRICE;

end

if sellcond then
begin
sell(holding>0,HOLDING,MARKETR,(H+L)/2)IGNORECHECKPRICE;
buyshort(holding=0,手数,LIMITR,(H+L)/2)IGNORECHECKPRICE;

end

 

没加之前


此主题相关图片如下:1.png
按此在新窗口浏览图片

加之后

此主题相关图片如下:2.png
按此在新窗口浏览图片


--  作者:FireScript
--  发布时间:2019/2/28 13:08:28
--  
 if buycond then begin
sellshort(holding<0,HOLDING,MARKETR,(H+L)/2)IGNORECHECKPRICE;
buy(holding=0,手数,LIMITR,(H+L)/2)IGNORECHECKPRICE;
end

if cond and holding>0 then buy(1,1,market);

加仓不要和开仓混淆在一起的。分开写2个语句。

--  作者:天天涨停
--  发布时间:2019/3/3 14:15:40
--  

老师,我现在想空单跟多单一样反过来,也就是回落最低点,再上调10跳后加仓,这个怎么写。

我这样写实现不了。

 

len:=ENTERBARS+1;
max_Locate:LLVBARS(l,len);//最低点距离现在的位置
min_P:LLV(l,max_Locate+1);//最低点位置到现在的最低价
cond:holding<0 and c-min_p>=10*MINDIFF;//最新价比上面最低点回升10个点

if cond and holding<0 then BUYSHORT(1,1,market);


--  作者:FireScript
--  发布时间:2019/3/4 9:07:28
--  
 cond:holding<0 and c-min_p<=10*MINDIFF

这里应该是小于吧。空头盈利回升不应该是现在价格比之前最低点低10个点么。

--  作者:天天涨停
--  发布时间:2019/3/4 11:35:33
--  

老师:更过来后,能加仓了,但是加仓浮度有点密集,能否帮我改一个浮度大一点的,在盈利的情况下加仓,我将最新价比上面最低点回升10个点的值调大一点,也达不到这个效果,谢谢。

//中间变量

input:p1(5,1,150,1),p2(6,1,300,1),手数(1,1,200,1);
Var1:=(C+L+H)/3;
Var2:=EMA(Var1,p1);
Var3:=EMA(Var2,p2);
Var4:=eMA(Var3,12);
Var5:=eMA(Var4,5);
生命线:=eMA(Var3,2),COLORRED,POINTDOT;


DRAWICON((C-5)>生命线,生命线,10);
DRAWICON((C+5)<生命线,生命线,11);

len:=ENTERBARS+2;
max_Locate:LLVBARS(l,len);//最低点距离现在的位置
min_P:LLV(l,max_Locate+1);//最低点位置到现在的最低价
cond:holding<0 and c-min_p<10*MINDIFF;//最新价比上面最低点回升10个点

 

 

 //交易条件:
 sellcond:=(C+5)<生命线;
 buycond:=(C-5)>生命线;
//交易系统


if buycond then begin

sellshort(holding<0,HOLDING,MARKETR,(H+L)/2)IGNORECHECKPRICE;
buy(holding=0,手数,LIMITR,(H+L)/2)IGNORECHECKPRICE;

end

if sellcond then
begin
sell(holding>0,HOLDING,MARKETR,(H+L)/2)IGNORECHECKPRICE;
buyshort(holding=0,手数,LIMITR,(H+L)/2)IGNORECHECKPRICE;

end
if cond and holding<0 then BUYSHORT(holding>-5,1,market);


此主题相关图片如下:qq图片20190304112622.png
按此在新窗口浏览图片