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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]交易系统不会编写

   

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


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

主题:[求助]交易系统不会编写

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


加好友 发短信
等级:新手上路 帖子:7 积分:0 威望:0 精华:0 注册:2019/10/22 21:18:33
[求助]交易系统不会编写  发帖心情 Post By:2019/11/15 9:06:33    Post IP:120.235.44.97[只看该作者]

老师,麻烦你帮我编写一下

图表交易系统用

开仓条件:
当5日均线上穿10日均线,开多。当5日均线下穿10日均线,开空。

平仓条件:
1、开仓后, 当价格触碰到-5%马上止损;当价格触碰到10%马上止盈。(我说的是触碰到价格,例:开多价为10元,只要价格下跌9.5元马上止损,盈亏按止损价计算。如果同一条K线内同时达到止损和止盈价,以止损价计算)
2、开仓后20同期后无论涨跌都平仓。
3、上一个交易完成后才开新仓。

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/11/15 9:43:47    Post IP:180.169.30.6[只看该作者]

 MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,10);

手数:=1;
//交易条件

开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件

//交易系统
平空:SELLSHORT(开多平空条件 ,holding,MARKET);
平多:SELL(开空平多条件,holding,MARKET);
开多:BUY(开多平空条件  and holding=0,手数,MARKET);
开空:BUYSHORT(开空平多条件  and holding=0,手数,MARKET);

//多头止盈
IF (C-AvGENTERPRICE)/AvGENTERPRICE>=0.1 THEN BEGIN
多止盈:SELL(1,HOLDING,MARKET);
END


//多头止损
IF (AvGENTERPRICE-c)/AvGENTERPRICE>=0.05 THEN BEGIN
多止损:SELL(1,HOLDING,MARKET);
END


//空头止盈
IF (AvGENTERPRICE-c)/AvGENTERPRICE>=0.1 THEN BEGIN
空止盈:SELLSHORT(1,HOLDING,MARKET);
END


//空头止损
IF (c-AvGENTERPRICE)/AvGENTERPRICE>=0.05 THEN BEGIN
空止损:SELLSHORT(1,HOLDING,MARKET);
END
//20周期平仓
if ENTERBARS=19 and holding<>0 then
begin
SELLSHORT(1,HOLDING,MARKET);
SELL(1,HOLDING,MARKET);    
end




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


加好友 发短信
等级:新手上路 帖子:7 积分:0 威望:0 精华:0 注册:2019/10/22 21:18:33
什么不是按止损5%计算的  发帖心情 Post By:2019/11/15 11:09:51    Post IP:120.235.44.97[只看该作者]

交易系统内设置亏5%止损;盈10%止盈

比例:亏5%止损,计算的时候为什么不是按亏5%计算的,有的按-13.91%,有的按-0.18%。这是为什么?
图片点击可在新窗口打开查看此主题相关图片如下:截图1573785394.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/11/15 11:27:59    Post IP:180.169.30.6[只看该作者]

 我上面代码是有反手的。不一定是 止盈止损到的平仓,有的是反手的。如果你不要反手,那就要调整下代码了。
[此贴子已经被作者于2019/11/15 11:28:15编辑过]


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


加好友 发短信
等级:新手上路 帖子:7 积分:0 威望:0 精华:0 注册:2019/10/22 21:18:33
  发帖心情 Post By:2019/11/15 11:40:56    Post IP:120.235.44.97[只看该作者]

那就要调整下代码了,看看,谢了

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/11/15 13:26:19    Post IP:180.169.30.6[只看该作者]

 
 MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,10);

手数:=1;
//交易条件

开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件


开多:BUY(开多平空条件  and holding=0,手数,MARKET);
开空:BUYSHORT(开空平多条件  and holding=0,手数,MARKET);

//多头止盈
IF (C-AvGENTERPRICE)/AvGENTERPRICE>=0.1 THEN BEGIN
多止盈:SELL(1,HOLDING,MARKET);
END


//多头止损
IF (AvGENTERPRICE-c)/AvGENTERPRICE>=0.05 THEN BEGIN
多止损:SELL(1,HOLDING,MARKET);
END


////空头止盈
IF (AvGENTERPRICE-c)/AvGENTERPRICE>=0.1 THEN BEGIN
空止盈:SELLSHORT(1,HOLDING,MARKET);
END


//空头止损
IF (c-AvGENTERPRICE)/AvGENTERPRICE>=0.05 THEN BEGIN
空止损:SELLSHORT(1,HOLDING,MARKET);
END
//20周期平仓
if ENTERBARS=19 and holding<>0 then
begin
SELL(1,HOLDING,MARKET);    
end

你直接加载到图表上看下。止盈止损的平仓都是有标识的。


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


加好友 发短信
等级:新手上路 帖子:7 积分:0 威望:0 精华:0 注册:2019/10/22 21:18:33
这个还不是我想要表达那个意思  发帖心情 Post By:2019/11/15 14:10:40    Post IP:120.235.44.97[只看该作者]


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


我的意思

1、开仓后,亏5%马上止损;盈10%马上止盈。
2、开仓后20同期后无论涨跌都平仓。
3、上一个交易完成后才开新仓。


图表中计算的
亏-6.16%,也有亏-13.08%等等,不是我想要表达的那个亏了5%马上止损。
是18.83%,也不是我想要表达盈了10%马上止盈。

麻烦帮我再改改,谢谢......


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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2019/11/15 14:35:45    Post IP:180.169.30.6[只看该作者]

这个没办法。回测过程中都是见价处理的。体现不出来中间价格过程,只能根据开高低收的价格判断。只要超出止盈止损的点为就会平仓。


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/11/15 14:53:17    Post IP:180.169.30.6[只看该作者]

 你把策略放图上去,看一下止损止盈位置的收盘价。止盈止损都是按照c写出来的。我开仓K是100点,下一个K是80点,那我肯定也就止损了,总不能因为中间没有95这个点,就不止损了吧。所以这其实就是个价格连续性问题。


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


加好友 发短信
等级:新手上路 帖子:7 积分:0 威望:0 精华:0 注册:2019/10/22 21:18:33
  发帖心情 Post By:2019/11/16 11:55:29    Post IP:120.235.44.134[只看该作者]

老师,你的意思,我大概理解,但是在实际操作中,一般人开仓都会设定止损止盈,以止损为例,无非是固定止损和移动止损,我们现在说的是固定止损,固定多少个点或者百分之几止损。例如,日线螺纹钢4000开多一手,当天的开盘价3999,最高价4050,当天的最低价3950,收盘价为3990。设定亏1%止损(即3960),最低价3950,已经触碰了3960止损,实际平仓价也就是止损价3960。老师编写出来的统计是以收盘价(即3990)计算,而不是实际的止损价(3960)计算,这里严重失真,失去统计意义。我估计逻辑上你会问,如果同一天又出现了止损价和止盈价,你叫我怎么算,以止损价计算(只要有止损价出现的以止损价计算)。不知道我这样表达老师理解了没有?明白了没有?

还有一个关于反手的问题,在开仓交易过程中,发出开仓信号忽略开仓交易,等交易完成之后才按最新信号开仓。

要老师编写的目的是什么呢? 当用信号发出开仓后,通过优化止损止盈参数,看看用什么参数止损或者止盈,更合理,更科学。

 回到顶部
总数 12 1 2 下一页