请教小米版主关于K线突破再创新高持有怎么写 [开拓者 TB]
-
咨询内容:
k线区域按时间顺序从左向右共由5根k线组成, 最左边的k线标号为5, 如果3号k线收盘价高于5号k线最高点, 开多仓持有,如果2号1号未创5根K线新高则平仓,请教下TB里面这个策略怎么写
来源:CXH99.COM
-
TB技术人员:
没有验证,仅供参考。
- Numeric High5;
- If(BarStatus == 0)
- {
- SetGlobalVar(1, 0);
- SetGlobalVar(2, 0);
- }
- High5 = Highest(High[3], 3);
- If(GetGlobalVar(1) == 0 and Open[1] > High[3])
- {
- Buy(1);
- SetGlobalVar(1, Date+Time);
- }
- If(GetGlobalVar(1) > Date+Time)
- {
- SetGlobalVar(1, Date+Time);
- SetGlobalVar(2, GetGlobalVar(2)+1);
- }
- If(GetGlobalVar(2) == 2 and High[1] <= High5 and High[2] <= High5)
- {
- Sell(1);
- SetGlobalVar(1, 0);
- SetGlobalVar(2, 0);
- }
- Numeric High5;
-
TB客服:
Yuen_Lee 发表于 2020-3-28 12:49
没有验证,仅供参考。
好像跟四周规则差不多,只是突破开仓后,需要一根BAR创新高来确认 -
网友回复:
最后一个条件可以改成:
- If(GetGlobalVar(2) == 2)
- {
- If(High[1] <= High5 and High[2] <= High5)
- {
- Sell(1);
- SetGlobalVar(1, 0);
- SetGlobalVar(2, 0);
- }
- Else
- SetGlobalVar(2, 3); //当GetGlobalVar(2)为3时,一直持有多单
- }
- If(GetGlobalVar(2) == 2)
- 网友回复:
- Numeric High5;
- If(BarStatus == 0)
- {
- SetGlobalVar(1, 0);
- SetGlobalVar(2, 0);
- }
- // 5根K线中K线3~5的最高价
- High5 = Highest(High[3], 3);
- // 未开仓:K线3收盘价>K线5高点,在K线2位置开多单
- If(GetGlobalVar(1) == 0 and Close[1] > High[3])
- {
- Buy(1);
- SetGlobalVar(1, Date+Time);
- }
- // 已开仓:记录开仓后走过几根K线
- If(GetGlobalVar(1) > Date+Time and GetGlobalVar(2) < 2)
- {
- SetGlobalVar(1, Date+Time);
- SetGlobalVar(2, GetGlobalVar(2)+1);
- }
- // 已开仓:记录开仓后走过2根K线后,若K线1、2高点均<=K线3~5的高点,平多单
- If(GetGlobalVar(2) == 2)
- {
- If(High[1] <= High5 and High[2] <= High5)
- {
- Sell(1);
- SetGlobalVar(1, 0);
- SetGlobalVar(2, 0);
- }
- Else
- //当GetGlobalVar(2)为3时,一直持有多单
- SetGlobalVar(2, 3);
- }
加了注释。
有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友
可联系技术人员 QQ: 262069696 或微信号:cxh99cxh99 进行 有偿收费 编写!
(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)
相关文章
-
没有相关内容