HalfTrend ロングショートトレンドトラッキングストップリミット買い戦略

ATR
作成日: 2024-05-17 15:45:13 最終変更日: 2024-05-17 15:45:13
コピー: 7 クリック数: 805
1
フォロー
1617
フォロワー

HalfTrend ロングショートトレンドトラッキングストップリミット買い戦略

概要 この戦略は,HalfTrend指標をベースに,多空トレンドを判断することによって買い信号を識別する.HalfTrend指標が空から転がりすぎると,以前の空頭トレンドのHalfTrend値の位置で単一ストップ損失制限価格で購入する.この戦略は,AmplitudeTrend指標 ((ATR) を使用して,動的にトレンド判断の幅を調整する.

戦略の原則

  1. HalfTrend指標値を計算するには,回顧周期lengthと幅度パラメータamplitudeを設定する必要があります.
  2. 現在の閉盤価格と前期のHalfTrend指標値を比較して,多空傾向を判断する.
    • 閉盤価格がHalfTrendの指標値のアンプリチュードを突破すると,トレンドは反転する.
    • 閉盤価格の下からHalfTrendの指標値アンプリチュードを突破すると,トレンドは逆転する.
  3. 将来の潜在的な買い物位置として,トレンドが逆転した時のHalfTrend指標値を記録します.
  4. ハーフトレンドの指数が再び空から上昇すると,ステップ3で記録した位置でストップ・ロスの限度価格に達したときに購入してください.

戦略的優位性

  1. 投資の方向性は,全空間のトレンドに基づいて判断され,現在の状況に最大限に適応されます.
  2. 制限オーダーで注文すれば,予約先で購入し,より優良な取引価格を得ることができます.
  3. 購入位置は,前空のHalfTrendのトレンドに基づいて決定され,購入ポイントの低位安全性が保証されます.
  4. 多空傾向を区別するために必要な最小幅度を制御するためにアンプリチュードパラメータを使用することで,ノイズ信号を効果的にフィルタリングできます.

戦略的リスク

  1. トレンドは判定に幅度パラメータに依存し,誤ったパラメータ値は,早すぎるまたは遅すぎる注文を引き起こす可能性があります.
  2. 制限オーダーが価格変動により取引ができない場合や,市場が上昇しやすい場合がある.
  3. 止損設定の位置が買取位置に近すぎると,大きな損失を負う可能性があります.

戦略の最適化方向

  1. アンプリチュードパラメータを最適化して,最適のトレンド判断幅を探します.アンプリチュードトレンド指標 ((ATR) を使用して動的に幅を調整できます.
  2. ストップ・ローズで買い,同時にテイク・プロフィット・セールを設定し,間に合うように利益をロックする.
  3. ストップ・ロスは,より低い位置に設定され,より大きな損失の余地を与え,同時に利益の余地も高めます.
  4. モバイル・ストップ・ロジックが追加され,価格が有利な方向に動くとストップ・ポイントを上げ,リスクを軽減する.

総括する HalfTrend空白トレンドは,空白トレンドの変化を判断して購入のタイミングを決定し,比較的安全な低値での入場のために購入の位置として以前の空白トレンドの低点を利用する.この戦略は,トレンド判断,限値シート,ストップシートなどのよく使用される戦略要素を含み,リスクと利益の比率を向上させるためにさらに最適化することができます.

ストラテジーソースコード
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("HalfTrend Stop-Limit Buy", overlay=true)

// HalfTrend indicator parameters
length = 1
amplitude = 2.0

// HalfTrend calculation
float ph = na
float pl = na
var float dir = na
var float trend = na

if na(trend)
    trend := close
    ph := high
    pl := low
    dir := na
else
    if high > ph
        ph := high
    if low < pl
        pl := low
    if close > trend and na(dir)
        dir := 1
        trend := close
        ph := high
        pl := low
    if close < trend and na(dir)
        dir := -1
        trend := close
        ph := high
        pl := low
    if dir == 1 and close < trend - amplitude
        dir := -1
        trend := close
        ph := high
        pl := low
    if dir == -1 and close > trend + amplitude
        dir := 1
        trend := close
        ph := high
        pl := low

// Buy signal based on HalfTrend
buySignal = dir == 1 and ta.valuewhen(dir == -1, trend, 0)

// Plot HalfTrend
plot(dir == 1 ? trend : na, color=color.blue, linewidth=2, title="HalfTrend Bullish")
plot(dir == -1 ? trend : na, color=color.red, linewidth=2, title="HalfTrend Bearish")

// Place a stop-limit buy order
if (buySignal)
    stopPrice = ta.valuewhen(dir == -1, trend, 0)
    strategy.entry("HalfTrend Buy", strategy.long, stop=stopPrice, comment="HalfTrend Buy")