0

我想使用 ATR 获利并设置止损。问题是,ATR 继续调整每根柱线。如何根据开盘蜡烛将 ATR 设置为静态数字,而不是继续更新每个柱?

仅供参考:stackoverflow 上有几个同样的问题,但没有一个真正起作用。

我也尝试过使用 strategy.position_avg_price 而不是 close 但这似乎也不起作用。

这是我的代码。

我正在使用 v4。

谢谢!

// Create ATR
atr = atr(14)


// Determine stop loss price
longStopPrice  = close - (atr * 1)


// Take Profit
takeProfit = close + (atr *  1.5)
4

2 回答 2

0

今天试图找出同样的问题只是在另一篇文章中发现了这个

ta.valuewhen(条件、来源、发生)

于 2021-12-08T05:16:43.527 回答
0

您应该使用strategy.position_size来检查您是否有未平仓头寸,然后将您的止盈和止损水平设置为strategy.exit

这是一个简单的例子:

//@version=5
strategy("My Strategy", overlay=true, margin_long=100, margin_short=100)

longCondition = ta.atr(14) >= 100
tp = close * 1.01
plot(tp)

if (longCondition)
    strategy.entry(id="Long Id", direction=strategy.long)

if (strategy.position_size > 0)
    strategy.exit(id="Short Id", from_entry="Long Id", profit=tp)

在此处输入图像描述

蓝线是每个柱计算的获利水平。如您所见,每个柱的止盈水平都会发生变化,但是,实际的策略退出是基于最初计算的止盈水平。

于 2021-11-15T17:46:36.690 回答