在Pine Script中,alert_profit和alert_loss只能在strategy.exit函数中使用。如果想要在开仓时就设置止盈和止损,并在达到相应价格时进行提醒,可以使用以下方法。
示例代码:
//@version=4
strategy("My Strategy", overlay=true)
// 定义止盈止损价格
float takeProfit = 1.5
float stopLoss = 0.8
// 设置开仓信号
longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
// 设置止盈止损
positionSize = strategy.position_size
if (positionSize > 0)
strategy.exit("My Long Exit Id", "My Long Entry Id", limit=takeProfit, stop=stopLoss)
// 发送提醒
if (close >= takeProfit)
alert("Take Profit Reached", alert.freq_once_per_bar_close)
if (close <= stopLoss)
alert("Stop Loss Reached", alert.freq_once_per_bar_close)
在这个示例中,当策略发出“买入”信号时,使用strategy.entry函数进行开仓,并在这个订单上设置止盈和止损。如果价格达到了这些价格,就会在图表上显示出信号,并发送出提醒。由于alert函数使用了“alert.freq_once_per_bar_close”参数,所以每当价格突破止盈或止损价格时,都只会发送一条提醒。
注意:在上面的代码中,只设置了买入的止盈止损,如果需要设置卖出单的止盈止损,可以使用strategy.exit函数的short参数。