ピボット・アンド・モメンタム・ストラテジー (Pivot and Momentum Strategy) は,ピボット・ポイントとモメンタム・インディケーターを組み合わせた取引方法である.この戦略は,ピボット・ポイントを計算するために前回の取引期間の高値,低値,閉値を利用し,市場動向を決定するためにROC (レート・オブ・チェンジ) やストカスティックRSIなどのモメンタム・インディケーターを使用する.価格がピボット・ポイントを超越し,モメンタム・インディケーターが確認すると,戦略はポジションを開く.逆に,価格がピボット・ポイントを下回り,モメンタム・インディケーターが確認すると,戦略はポジションを閉鎖する.この戦略はリスクを制御しながら市場動向を把握することを目的としている.
この戦略の核心はピボットポイントとモメント指標の組み合わせである.ピボットポイントは,市場の重要なサポートとレジスタンスレベルを表す,以前の取引期
同時,戦略は動向を確認するために,ROCとストカスティックRSIという2つのモメントインジケーターを使用する.ROCは価格変化の速度を測定する.ROCが0を超えると上昇傾向を示し,ROCが0未満の場合下落傾向を示します.ストカスティックRSIは,特定の期間のRSIのポジションを比較することによって,市場が過買いまたは過売れているかどうかを決定します.
価格がピボットポイントを突破し,ROCとストカスティックRSIの両方がトレンドを確認すると,戦略はポジションを開く.価格がピボットポイントを下回り,ROCとストカスティックRSIの両方がトレンドを確認すると,戦略はポジションを閉じる.この複数の条件の組み合わせは,誤った信号を効果的にフィルタリングし,戦略の勝ち率を改善することができます.
トレンドトラッキング:ピボットポイントとモメント指標を組み合わせることで,戦略は市場のトレンドを効果的に把握し,トレンド形成の早い段階でポジションに入ることができ,利益の可能性を最大化します.
リスク管理: 戦略は,取引信号をフィルターするために複数の条件を使用し,偽信号の発生を軽減し,取引リスクを低下させます.同時に,ストップロスのレベルを設定することで,戦略は単一の取引の最大損失を効果的に制御することができます.
高い適応性: 戦略は複数のタイムフレームと異なる市場に適用できます.パラメータを調整することで,異なる市場特性と取引スタイルに適応できます.
パラメータ最適化: 戦略には,ピボットポイントの計算方法やモメント指標の期間などの複数のパラメータが含まれます.異なるパラメータ設定は戦略のパフォーマンスに大きな違いをもたらす可能性があります. したがって,最適な組み合わせを見つけるためにパラメータを最適化しテストする必要があります.
市場リスク: 戦略は,明らかに傾向のある市場に適しており,不安定な市場ではうまく機能しない可能性があります. 同時に,市場が深刻な変動または異常なイベントを経験した場合,戦略は重大な引き下げを経験する可能性があります.
過剰なフィットメントリスク: 戦略がパラメータ最適化プロセス中に歴史的データに過剰にフィットされている場合,実際の取引ではうまく機能しない可能性があります. したがって,サンプル外テストと実際の取引を通じて戦略の有効性を検証する必要があります.
動的パラメータ調整: 戦略パラメータは,市場の状況に応じて動的に調整することができます.例えば,不安定な市場では,市場のリズムの変化に適応するためにモメント指標の期間が短縮できます.
他のフィルタリング条件の追加: 他の技術指標や基本的要因は,取引量や市場情勢などの追加のフィルタリング条件として考慮され,信号の信頼性をさらに向上させることができます.
リスク管理の最適化: 戦略のリスク・リターン特性は,ポジション管理とストップ・ロス/テイク・プロフィートルールの最適化によって改善することができる.例えば,動的なストップ・ロスレベルを設定するためにATR (平均真差) を使用する.
ピボット・モメント・ストラテジー (Pivot and Momentum Strategy) は,トレンド・トラッキングに焦点を当て,リスク管理を強調するピボット・ポイントとモメント・インジケーターを組み合わせている.この戦略は複数の市場と時間枠に適用できる.パラメータを最適化し,他のフィルタリング条件を追加することで,戦略の安定性と収益性がさらに向上することができる.実用的な応用では,市場リスクとオーバーフィットリスクに注意を払い,継続的な最適化とモニタリングを通じて戦略の有効性を確保すべきである.
/*backtest start: 2023-04-24 00:00:00 end: 2024-04-29 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Pivot and Momentum", overlay=true) //systemedic // Pivot Hesaplama highPrev = request.security(syminfo.tickerid, "60", high[1]) lowPrev = request.security(syminfo.tickerid, "60", low[1]) closePrev = request.security(syminfo.tickerid, "60", close[1]) pivotPoint = (highPrev + lowPrev + closePrev) / 3 R1 = 2 * pivotPoint - lowPrev S1 = 2 * pivotPoint - highPrev // Stochastic RSI smoothK = input(3, "Stochastic RSI Smooth K") smoothD = input(3, "Stochastic RSI Smooth D") lengthRSI = input(14, "RSI Length") lengthStoch = input(14, "Stochastic Length") rsi = ta.rsi(close, lengthRSI) k = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), smoothK) d = ta.sma(k, smoothD) // ROC rocLength = input(9, "ROC Length") roc = ta.roc(close, rocLength) // Alım ve Satım Koşulları longCondition = close > pivotPoint and ta.crossover(k, d) and roc > 0 shortCondition = close < pivotPoint and ta.crossunder(k, d) and roc < 0 // Pozisyon Kontrolü ve İşlem if (longCondition) strategy.close("short") // Mevcut short pozisyonunu kapat strategy.entry("long", strategy.long, comment="Long Pozisyonu") if (shortCondition) strategy.close("long") // Mevcut long pozisyonunu kapat strategy.entry("short", strategy.short, comment="Short Pozisyonu") // Pivot ve Seviyeleri Çiz plot(pivotPoint, "Pivot", color=color.red) plot(R1, "R1", color=color.green) plot(S1, "S1", color=color.blue)