欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教老师

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3153人关注过本帖树形打印复制链接

主题:请教老师

帅哥哟,离线,有人找我吗?
诗与远方
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:84 积分:0 威望:0 精华:0 注册:2020/12/18 10:31:16
请教老师  发帖心情 Post By:2020/12/25 13:12:03    Post IP:14.25.160.242[只看该作者]

//中间变量

MA1:=MA(OPEN,A);

MA2:=MA(OPEN,B);

MA3:=MA(OPEN,D);

MA4:=MA(OPEN,E);

手数:=ss;

//交易条件

开多条件:=CROSS(MA1,MA2)AND(MA2>MA3)AND(MA3>MA4);//开多条件

开空条件:=CROSS(MA2,MA1)AND(MA2<MA3)AND(MA3<MA4);//开空条件

开多:BUY(开多条件,手数,MARKET);

(有时有信号,有时没信号。有时刚下单,下一秒就平仓)

开空:BUYSHORT(开空条件,手数,MARKET);

(有时有信号,有时没信号。有时刚下单,下一秒就平仓)

 

//320秒内的连续视为异常持仓同步行为(320秒内同一方向不重复下单),怎样编写?

 

//移动止损部分************************

//求出持仓以来的最高价或最低价,通过与当前价做比较,判断资金回落的幅度

hh:=hhv(h,enterbars+1);

ll:=llv(l,enterbars+1);

if c<hh-20*mindiff and holding>0 then sell(1,holding,marketr);

if c>ll+20*mindiff and holding<0 then sellshort(1,holding,marketr);

//*************************************

(不执行止损)

 

//下午3点前10秒强平,晚上11点前10秒强平。

 if time=29990 or time=189990 then

begin 

sell(holding>0,holding,market);

sellshort(holding<0,holding,market);   

end

(不执行强平)


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/12/25 13:44:48    Post IP:58.246.57.26[只看该作者]

 “(有时有信号,有时没信号。有时刚下单,下一秒就平仓)
把平仓代码放到开仓代码前面。

hh:=hhv(h,enterbars+1);
ll:=llv(l,enterbars+1);
if c<hh-20*mindiff and holding>0 then sell(1,holding,marketr);
if c>ll+20*mindiff and holding<0 then sellshort(1,holding,marketr);
开多:BUY(开多条件,手数,MARKET);
开空:BUYSHORT(开空条件,手数,MARKET);


//320秒内的连续视为异常持仓同步行为(320秒内同一方向不重复下单),怎样编写?
无法用代码实现。而且有现成的功能,直接用就行了。

(不执行止损)
参考第一个的调整。


调整后信号都是正常的。

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看


(不执行强平)
//只能固定轮询模式下执行下面的代码。
abb1:=timetot0(30000)-timetot0(dynainfo(207)),NODRAW;
abb2:=timetot0(190000)-timetot0(dynainfo(207)),NODRAW;  
cd:((abb1>0 and abb1<=10) or (time=30000 and not(ISLASTBAR))) or ( (abb2>0 and abb2<=10) or  (time=190000 and  not(ISLASTBAR)));

 if cd then
begin
强平1:sell(holding>0,holding,market);
强平2:sellshort(holding<0,holding,market);  
end



命数如织,当如磐石。
 回到顶部