开拓者期货期权程序化系统交易论坛

标题: 急!关于当日止损问题 [打印本页]

作者: 风险玩家    时间: 2008-2-19 10:12:41     标题: 急!关于当日止损问题

1.以日线为交易对象,假如我设置开盘买进,并设置好止损,结果发现止损价格都发生在K线实体里面,从来没有发生在影线上。请问怎么解决。
2如何在分时K线中,如5分钟k线,限定一天做交易的次数。

[ 本帖最后由 风险玩家 于 2008-2-19 10:28 编辑 ]
作者: 孤舟骑浪    时间: 2008-2-19 10:41:35

用日K线做日内,有点不明白,放点代码出来看看;用全局变量记录每次开仓次数即可,用条件限制开仓即可.
  1. params
  2. numeric partimes(5);
  3. vars
  4. numeric times;
  5. begin
  6. if(date!=date[1])
  7. {
  8. setglobalvar(0,0);
  9. }
  10. if(con getglobalvar(0)<paratimes)
  11. {
  12. 开仓;
  13. times=getglobalvar(0)+1;
  14. setglobalvar(0);
  15. }
  16. end
复制代码

作者: 小米    时间: 2008-2-19 10:44:40

1.看一下止损价位的公式是怎么写的,如果是以CLOSE来判断,那自然会是在实体里,如果是以最高最低价来判断的话才有可能到影线上.
2.可以用全局变量来记录
作者: 孤舟骑浪    时间: 2008-2-19 10:55:31

setglobalvar(0,times);
作者: 风险玩家    时间: 2008-2-19 11:07:49

我代码是分开写的,在止损部分里我这样写的。
整个意思就是以开盘价格买进,然后设定好止损,代码很简单啊。亏损500就卖出。我发现在周K线和日K线上止损都是在K线实体里出线。
Params
        Numeric Type(1);
        Numeric MoneyLoss(500);
        Bool             ExitPosition(false);
Begin
        SetStopLoss(Type,MoneyLoss,ExitPosition);
End
作者: 风险玩家    时间: 2008-2-19 11:25:51

这是图,图中文字部分就是问题。明明赔了,结果还是赚了。
作者: 风险玩家    时间: 2008-2-19 11:39:51

谢谢各为的回答,可能我问的不好,问题关键是我在当日开盘买进,当日收盘必须卖出,其中设置了止损,结果从图上也可以看出,从来都没于止损止在影线上
作者: 风险玩家    时间: 2008-2-19 11:47:33

原帖由 小米 于 2008-2-19 10:44 发表
1.看一下止损价位的公式是怎么写的,如果是以CLOSE来判断,那自然会是在实体里,如果是以最高最低价来判断的话才有可能到影线上.
2.可以用全局变量来记录 ...

我最先用的固定金额止损,然后到了收盘才卖出。那个固定金额止损,我就填如我希望的参数啊。其他的没什么 可判断的啊
作者: jvya    时间: 2008-2-19 12:25:27

我的建议,
还是不要在日线上做日内。
因为代码没法表示
很难表达一天之中的价格变化。
最高最低价,都是不断推进的。而历史K线上,只有一个最高最低。
同样的效果,在日线以下周期,更容易写代码吧。
那就非常容易写了。

相来你这套交易思维的核心就是突破做为信号,
突破了前的最高价,代表行情展多。
根本无法在历史日K线上表达的。

如你一定要坚持,就无法进行回溯测试了。
只能拿模拟柜台进行统计和观察了。

[ 本帖最后由 jvya 于 2008-2-19 12:34 编辑 ]
作者: tradeblazer    时间: 2008-2-19 12:45:20

JVYA说的很对。您希望在日线上做日内交易,很多信息反映不出来。
SetStopLoss在开仓当前Bar只对收盘价计算止损。不对高低价做判断,因为无法确认高低价是在开仓前还是开仓后发生。
作者: 风险玩家    时间: 2008-2-19 12:52:24

谢谢各位的回答。万分感谢
作者: win5ms    时间: 2010-6-30 16:44:40

有通用代码吗?````````




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2