Pine Script 策略 - 当 *price*(未关闭)超过某个值时如何触发入场?目前进入交易一根蜡烛为时已晚

时间:2021-01-16 19:24:49

标签: pine-script

只是玩玩,学习如何编写策略。我现在正在尝试的是(伪代码)...

if(previousCandle == red 
   ... AND previousCandle.high >= sma
   ... AND previousCandle.low <= sma 
   ... AND currentPrice > previousCandle.high)
    
    enter trade

我在 Pine Script 中拥有的是...

redTouch = close < open and high >= ma and low <= ma

longCond = redTouch[1] and close > high[1]

strategy.entry("Long", strategy.long, when = longCond)

redTouch 蜡烛都被正确识别(之前使用 BG 颜色检查过),但对于 longCond 我不想要 close > high[1],因为它只在下一个进入交易蜡烛(为时已晚)。

以下屏幕截图显示当前进入交易的位置(红色蜡烛上的蓝线),以及我希望触发/进入的位置(绿色蜡烛上的黄线)。

Late and desired trades

如何将 close > high[1] 更改为 price > high[1] 或类似的蜡烛内交叉触发器?或者您只能在 Pine Script 中的 next 蜡烛中输入交易?

1 个答案:

答案 0 :(得分:0)

您需要做一些事情才能获得所需的行为。

  1. process_orders_on_close=true 添加到您的 strategy 声明语句中,以使策略测试器处理触发条件的柱,而不是下一个柱的打开。
  2. 将您要输入的价格存储在一个变量中,例如 high[1]+somenumber
  3. limit=YourEntryPriceVariable 添加到您的 strategy.entry 语句

这将创建一个限价单,以您在它发生的柱上指定的价格进入。