web-dev-qa-db-ja.com

TradingView – Pine Scriptの1つの注文に対して複数の利益を得る

私は、買いシグナルを受け取ったときにlongを入力する単純な戦略を実装しようとしています。その後、複数の利益を受け取り、ストップロスを設定したいと思います。

  • 1%の利益で25%の数量を販売
  • 2%の利益で25%の数量を販売
  • 3%の利益で25%の数量を販売
  • 25%の数量で4%の利益を売る
  • 2%で損失を阻止

strategy.closestrategy.exitstrategy.entryに基づいて多くのことを試しましたが、何も機能しませんでした。誰かがそのような戦略の経験がありますか?

ありがとう

2
Jul

そのような戦略の例:

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © adolgov

//@version=4
strategy("Multiple %% profit exits example", overlay=false, default_qty_value = 100)

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)

percentAsPoints(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)

lossPnt = percentAsPoints(2)

strategy.exit("x1", qty_percent = 25, profit = percentAsPoints(1), loss = lossPnt)
strategy.exit("x2", qty_percent = 25, profit = percentAsPoints(2), loss = lossPnt)
strategy.exit("x3", qty_percent = 25, profit = percentAsPoints(3), loss = lossPnt)
strategy.exit("x4", profit = percentAsPoints(4), loss = lossPnt)

profitPercent(price) =>
    posSign = strategy.position_size > 0 ? 1 : strategy.position_size < 0 ? -1 : 0
    (price - strategy.position_avg_price) / strategy.position_avg_price * posSign * 100

p1 = plot(profitPercent(high), style=plot.style_linebr, title = "open profit % upper bound")
p2 = plot(profitPercent(low), style=plot.style_linebr, title = "open profit % lower bound")
fill(p1, p2, color = color.red)

どのように機能するかは、 https://www.tradingview.com/script/kHhCik9f-Multiple-profit-exits-example/ で確認できます。

1
Andrey D