以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (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

|