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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 麻烦老师帮忙编写一个止损思路

   

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


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

主题:麻烦老师帮忙编写一个止损思路

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


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

 可是这里

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

还有个3612啊。60分钟周期上 开仓K是10:00(北京时间) 平仓K是14:00(北京时间). 而这个3612是在这个区间内出现的。


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


加好友 发短信
等级:论坛游侠 帖子:211 积分:0 威望:0 精华:0 注册:2016/7/22 16:00:23
  发帖心情 Post By:2019/8/26 15:20:58    Post IP:182.88.27.169[只看该作者]

60分钟 周期,,,,利润大于 100 点  的那根K线,,,是 18:00:00( 北京时间14:00 )  至18:59:59 (北京时间15:00 )   这个 时间段,,, 而这根60分钟  K线   在 5分钟的走势 中  , 其回调回来的最高价才是3609

 

如图所示

 

60分钟这根

 

 

 

 


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

 

这根K 在 5分钟走势中是这样的

 

利润超过 100点之后,,,回调回来的位置最高是 3609 啊
 


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

 

 

 

我那个思路是  利润大于100点之后,,回调回来要保住  34 个点的利润!

 

因为开仓的浮动盈利计算太麻烦,我就直接按 点数 来 计算  比较省事

 


 


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


加好友 发短信
等级:论坛游侠 帖子:211 积分:0 威望:0 精华:0 注册:2016/7/22 16:00:23
  发帖心情 Post By:2019/8/26 15:33:50    Post IP:182.88.27.169[只看该作者]

这张图会比较 容易看一些,,,

 

利润大于 100点才回去启动 回撤, 按思路,,,回撤到 最高点 3609 之后是不会平仓的,,  现在遇到的问题是      利润没有大于 100 点,,已经平仓了,  说明  回测  的逻辑 是 按照 当根K 最低点位 和 最高来计算的!    不是 按照实盘  那种 时间 序列 来回测!

 

这样导致的问题就是   回测 和 实盘 相差甚远, 特别是对于 经常使用 回撤 止盈 止损  的策略来说! 

 

因此  希望老师帮忙解决一下   这个问题,,完善一下 策略的思路!

 

麻烦了!

 


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

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


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

 不是啊。我们K线时间是 结束时间啊。
不是这个:
18:00:00( 北京时间14:00 )  至18:59:59 (北京时间15:00 )

你如果直接在那几个K线算的话。当时最高盈利点数是113  最低是23点,都是满足平仓条件的。那个K最高价是3628  3609是后面一个K的价格。


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


加好友 发短信
等级:论坛游侠 帖子:211 积分:0 威望:0 精华:0 注册:2016/7/22 16:00:23
  发帖心情 Post By:2019/8/26 15:50:00    Post IP:182.88.27.169[只看该作者]



进场点是  3652  ,, 然后 盈利 100 个点,,, 那 最低价位是  至少要 走到 3552 对吧  , 那 按照 思路,,, 利润大于 100点( 也就是 价格至少要 低于 3552 位置 )   之后,  启动回撤 止损,,, 要保住  34 个点位利润!  那这样  出场底线 是 3652 - 34  = 3618 为 平仓点位吧! 


那 按照这样算的话,,, 老师切换到 5 分钟 周期,,从 3652 进场点进去,到 3618 价格的  这个 时间 区间  , 检查一下,,,  有没有 价格 低于 3552 的?         


而 5 分钟 周期 价格 低于 3552 之后  的  回调 价格, 最高才是 3609 !  而且,,,3552 往后的  几根 60分钟 K 线 最高,,也没有超过3609 , 到后面 才起来,  是这样吧

问题的原因 就是    这个回撤止损 思路,, 按照 60分钟 K 来 计算,  就是 最低点 超过 100 点,然后,,,当根K  最高点如果 出场 底线,  就平仓了,,,,但是  时间序列不对,  5 分钟 周期走势  时间 序列 中,,,,出来 价格 低于 3552 之后,,压根没 回调到  出场底线 


或者 老师能否提供一个 更为准确的 回撤止损 思路,  论坛里 零零星星的 代码和知识点,我试过也是这个问题

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


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

你的意思是说小周期上可能回撤到平仓的这个点其实是在最高盈利之前发生的,实际上最高盈利之后根本没有达到这个回撤点。但是因为大周期是一个统计结果所以体现不出来这个问题是吧。


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


加好友 发短信
等级:论坛游侠 帖子:211 积分:0 威望:0 精华:0 注册:2016/7/22 16:00:23
  发帖心情 Post By:2019/8/26 16:15:44    Post IP:182.88.27.169[只看该作者]

是的!    按照实盘来走的话,,,就是说,,利润出现100 之后,,往后是没有满足 出场的条件的! 


策略 回测 过程中 ,,是有了 平仓 信号,在利润出现100点  之前 , 因此 回测是不科学的!   这个有 两方面问题, 要么是 策略思路本身问题,,,, 要么就是回测  的逻辑 有问题!     

存在这根漏洞的话,,跑实盘就有很大风险!



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


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

  如果是这样 我觉得可以考虑在止盈平仓上采取调用小周期数据来进行判断比较好,就是在小周期上判断这个趋势是否是先盈利100点然后回调下来。  但是这种我也不是很确定能否实现,而且也比较担心闪烁的问题。我抽空尝试下。


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


加好友 发短信
等级:论坛游侠 帖子:211 积分:0 威望:0 精华:0 注册:2016/7/22 16:00:23
  发帖心情 Post By:2019/8/26 16:24:55    Post IP:182.88.27.169[只看该作者]

好的,麻烦老师帮忙了! 后期软件升级的话,如果能改进这个地方挺好的,如果能提供科学准确的回撤止损 止盈, 而且回测 和实盘 贴近的话,最好了!

谢谢老师了

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


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

 做了一些改进,供参考:

需要进行跨周期调用
被调用指标M:
INPUT:t(0,0,900000,1),d(19000101,0,20991231,1);//这个参数是传递大周期的日期和时间用的

len0:BARSLAST(time=t and date=d);//返回大周期开仓位置到当前位置 所涵盖的小周期K线数量

hl:llv(l,len0);//开仓以来最低价
hlen:LLVBARS(l,len0);//最低价位置,(返回值是从0开始的)
hprice:hhv(h,hlen+1);//最低价位置以来 的最高价 以此确定是否在最高盈利之后出现了回落

交易指标:
diff := ema( close,12 ) - ema( close,26 ) ;
dea  := ema( diff,9 ) ;
macd := 2 * ( diff - dea ) ;
Scond :=  ref( cross( dea,diff ),1 ) ;
if ref( cross( diff,dea ),1 ) then sellshort( holding < 0, holding, limitr, open + 1 * mindiff ),ignorecheckprice ;

if holding = 0 and Scond then buyshort( 1, 6, limitr, open - 1 * mindiff ), ignorecheckprice ;
SellHc:=enterprice - 34 * mindiff ;

m0:=ref(time,ENTERBARS+1);//获取上次开仓位置的时间(开仓K的起始时间,相当于开仓K前一个K的时间)
d0:=ref(date,ENTERBARS+1);//获取上次开仓位置的日期

ms:=NUMTOSTR(m0,0);
ds:=NUMTOSTR(d0,1);
//hpprice 表示的是开仓之后最低价位置 之后的最高价。以此获取最高盈利之后是发生的回落情况
hprice:STKINDI('','M.hprice('&ms&','&ds&')',0,2,0);//把开仓位置传递给小周期,以判断小周期的趋势变化。
Lprice :=enterprice - llv( low,barslast( Scond ));//最高盈利
//这里我把( range( TYPEBAR( 1,3 ),1,6 )  这个的判断我先去掉,否则无法测试小周期趋势判断的准确性了。
if Lprice > 100 * mindiff  and  hprice > SellHc then 空离:sellshort ( holding < 0, holding, limitr, max( open + 1 * mindiff, SellHc+ 1 * mindiff ) ), ignorecheckprice ;

最终效果,在大周期上:

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

开仓是螺纹连续的8.9 10:00(北京时间)  平仓 8.12 15:00(北京时间)

在小周期上看:
开仓之后最高盈利 (最高盈利在3538的地方)之后, 第一个满足最高价大于3617的位置在下图标识的地方。对应的小时周期 是 8.12 15:00(北京时间)  5分钟周期则是8.12 14:15


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


需要注意的是请不要把这个指标应用到小周期上,因为这里的跨周期调用有一些特殊的使用,小周期上会因为K线数太多会直接出现调用过多的报错。



命数如织,当如磐石。
 回到顶部
总数 21 上一页 1 2 3 下一页