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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 均线策略代码怎么写,谢谢!

   

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


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

主题:均线策略代码怎么写,谢谢!

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/8 9:04:07    Post IP:58.246.57.26[显示全部帖子]

 ma10:ma(c,10);
开仓条件:cross(c,ma10*(1+0.01));//这里以上穿作为判断依据
平仓条件:(c-AVGENTERPRICE)>=15*MINDIFF;//持仓均价大于最新价15个点 止盈平仓

buy(开仓条件 and holding=0,1,market);
sell(平仓条件,holding,market);


macd死叉那个你可以参考系统自带的macd策略。然后空头的止盈你把上面这个止盈的条件的写法反过来 改成AVGENTERPRICE-c 就行了。


命数如织,当如磐石。
查看使用道具详细信息
获赠金币帖,共获得 0 个金币
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/8 17:25:05    Post IP:58.246.57.26[显示全部帖子]

 后面2句代码调换下位置即可。

sell(平仓条件,holding,market);
buy(开仓条件 and holding=0,1,market);


命数如织,当如磐石。 赠送楼主:0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/9 9:07:54    Post IP:58.246.57.26[显示全部帖子]

 你上面这个代码里的止损逻辑上没问题。贴下完整代码我看下呢。


命数如织,当如磐石。 赠送楼主:0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/9 9:31:25    Post IP:58.246.57.26[显示全部帖子]

 前面看错了,没注意到。

KD:=CROSS(K,D);//开多条件
PD:=C<=AVGENTERPRICE-10*MINDIFF;//平多条件最新价低于买开仓价10个最小变动价位,多头止损;
PD:=(C-AVGENTERPRICE)>=20*MINDIFF;//平多条件最新价高于买开仓价20个最小变动价位,多头止赢
KK:=CROSS(D,K);//开空条件
PK:=C>=AVGENTERPRICE+10*MINDIFF;//平空条件高于卖开仓价10个最小变动价位,空头止损;
PK:=(AVGENTERPRICE-C)>=20*MINDIFF;//平空条件低于卖开仓价20个最小变动价位,空头止赢;

你这个怎么能用同名变量呢。这样的话,实际运行中只执行后面的止盈。




命数如织,当如磐石。 赠送楼主:0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/9 9:35:23    Post IP:58.246.57.26[显示全部帖子]

LOWV:=LLV(LOW,9);
HIGHV:=HHV(HIGH,9);
RSV:=EMA((CLOSE-LOWV)/(HIGHV-LOWV)*100,3);
K:=EMA(RSV,3);
D:=MA(K,3);//公式参数


KD:=CROSS(K,D);//开多条件
PD1:=C<=AVGENTERPRICE-10*MINDIFF;//平多条件最新价低于买开仓价10个最小变动价位,多头止损;
PD2:=(C-AVGENTERPRICE)>=20*MINDIFF;//平多条件最新价高于买开仓价20个最小变动价位,多头止赢
KK:=CROSS(D,K);//开空条件
PK1:=C>=AVGENTERPRICE+10*MINDIFF;//平空条件高于卖开仓价10个最小变动价位,空头止损;
PK2:=(AVGENTERPRICE-C)>=20*MINDIFF;//平空条件低于卖开仓价20个最小变动价位,空头止赢;


空止盈:SELLSHORT(PK2,holding,THISCLOSE);  
空止损:SELLSHORT(PK1,holding,THISCLOSE);                 //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
多止盈:SELL(PD2,holding,THISCLOSE);    
多止损:SELL(PD1,holding,THISCLOSE);  
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号

hd:holding;



命数如织,当如磐石。 赠送楼主:0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/10 14:29:11    Post IP:58.246.57.26[显示全部帖子]

 这个有现成的。你照抄系统里面的那个移动止盈止损就行了。

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


命数如织,当如磐石。 赠送楼主:0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/12 9:37:34    Post IP:58.246.57.26[显示全部帖子]

你这上面“开仓”是一个判断结果。但是“开仓参考价”则是一个具体的数值。具体要满足什么条件开仓 你要描述具体点 不然我这边无法处理的。




命数如织,当如磐石。 赠送楼主:0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/12 16:56:00    Post IP:58.246.57.26[显示全部帖子]

所以这个 开仓数值 是指下单价格吧。

开仓条件:CROSS(C,MA(C,10))AND C>MA(C,5)*1.01;
开仓数值:MAX(REF(MA(C,10),1),(MA(C,5)*1.01));

buy(开仓条件 and holding=0,1,limit,开仓数值);

平仓条件你可以自己加上去就行了。


命数如织,当如磐石。 赠送楼主:0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/16 11:07:50    Post IP:58.246.57.26[显示全部帖子]

 本地正常。

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

唯一需要注意的是这里这个价格:
buy(开仓条件 and holding=0,1,limit,开仓数值),IGNORECHECKPRICE;//开仓信号
sell((CROSS(AB,AA)),holding,market);//平仓信号

很可能会超出所在K的价格范围,因此需要加一个函数处理下。


命数如织,当如磐石。 赠送楼主:0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/18 13:18:52    Post IP:58.246.57.26[显示全部帖子]

 能的。和开仓一样的方式。
下单价格都可以以限价指令的方式 来直接指定价格。
比如:
平仓条件:CROSS(MA(C,5),C)AND C<MA(C,5)*0.995;
平仓数值: MAX(REF(MA(C,5),1),(MA(C,5)*0.995));

sell(平仓条件,holding,limit,平仓数值);


命数如织,当如磐石。 赠送楼主:0个金币
 回到顶部
总数 34 1 2 3 4 下一页