% に基づいたシンプルなストップ&購入戦略

作者: リン・ハーンチャオチャン開催日:2024年1月19日 14時30分59秒
タグ:

img

概要

この戦略は,単純な百分比ベースのトレーリングストップとトレーリング購入を実装する. タイムフレームやチャートで異なる百分比組み合わせを実験することで,戦略パラメータを最適化することができます.

戦略の論理

この戦略は主に2つのメトリックを使用して,ストップ損失と購入を後押しします.

  1. トレーリングストップライン (TSL): 閉店価格の最近のNバーとユーザーによって設定されたストップ損失オフセットパーセントに基づいて計算されます.価格がこのラインを下回るとストップ損失を誘発します.

  2. トレイリング・バイ・ライン (TBL): 最近のNバーの最高価格とユーザーによって設定された購入オフセットパーセントに基づいて計算されます.価格がこのラインを超えると購入を誘発します.

この2つのメトリックと価格を比較することで,ストップ・ロストとトラッキング・バイのルールが実装されます.

利点

この戦略の利点は次のとおりです.

  1. シンプルで直感的で 分かりやすく実行できます

  2. 柔軟なストップ損失とパラメータ調整によるトライリング購入

  3. 市場と時間枠に当てはまる.

  4. トレンドをフォローし,タイムリーストロップを可能にします.

リスク

この戦略のリスクは以下のとおりです.

  1. パラメータの設定が正しくない場合,過剰なストップ・ロードまたは買いが起こる可能性があります.

  2. 市場での頻繁に取引と滑り込み

  3. 異なる市場特性に合わせてパラメータを最適化する必要があります

増進 の 機会

戦略は以下を通じて強化できます.

  1. アダプティブアルゴリズムで ストップと購入のパラメータを自動最適化します

  2. ポジションサイズとリスク管理モジュールの追加

  3. 他の指標を組み込み,全体的な傾向を測定し,不快を回避する.

結論

概要すると,これは非常にシンプルで直感的なトレンドフォロー戦略である.パラメータチューニングにより,市場全体に適応することができる.適応アルゴリズムと追加のフィルターのさらなる組み込みにより,強度が向上することができる.全体として,定量的な取引のための基本的な効果的フレームワークを提供します.


/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Developed from ©Finnbo code
strategy("Simple Trailing Buy & Stop Strategy", overlay=true)
offset = input(defval=1.5, title="Stop Offset %", type=float, minval=0.1, maxval=100, step=0.1)
buyoffset = input(defval=1.9, title="Trailing Buy Offset %", type=float, minval=0.1, maxval=100, step=0.1)

sumbars = input(defval=6, title="Use last x bars for calculation",  minval=1)
srcts = input(title="Source Trailing Stop calculation",  defval=close)
srctb = input(title="Source Trailing Buy calculation",  defval=close)
srctrigger = input(title="Source Stop Trigger",  defval=low)
srctriggerbuy = input(title="Source Buy Trigger",  defval=high)
tsl = rma(srcts, sumbars)*(1-(offset/100))// = (sum(srcts,sumbars)/sumbars)*(1-(offset/100))
tbuy = rma(srctb, sumbars)*(1+(buyoffset/100))
plot(tsl, color=(srctrigger<tsl)?red:green)
plot(tbuy, color=(srctriggerbuy>tbuy)?red:green)
//plotshape(crossunder(srctrigger,tsl), text="Long Stop", style=shape.circle, color=red)
alertcondition(crossunder(srctrigger,tsl), "Long Stop alert", "SELL")
//plotshape(crossover(srctriggerbuy,tbuy), text="Long", style=shape.circle, color=green)
alertcondition(crossover(srctriggerbuy,tbuy), "Long alert", "BUY")

longCondition =  crossover(srctriggerbuy,tbuy)
if (longCondition)
    strategy.entry("Long", strategy.long)
closeCondition = crossunder(srctrigger,tsl)
if (closeCondition)
    strategy.close("Long")


もっと