
この戦略は,MACDとRSIの指標を計算し,トレンドとオーバーバイオーバーセールフィルターを組み合わせて,トレンド追跡取引を実現します. この戦略は,中長線取引に適用され,偽突破を効果的にフィルターし,トレンドの方向を確認し,トレンドの初期にポジションを構築し,その後,トラッキングストップなどの方法を使用して利益をロックすることができます.
この戦略は,主にMACDとRSIの2つの指標に基づいて取引シグナル生成を行う.
MACDは移動平均差指数で,差離値 ((DIF),信号線 ((DEA),柱からの距離で構成されている.この戦略では,DIFFは5日指数移動平均と13日指数移動平均の差値であり,DEAはDIFFの5日指数移動平均である.DIFFの上を通過すると買い信号が生じ,下を通過すると売り信号が生じます.
RSIは,相対強弱指数を表し,それは,期間中の平均クローズアップ日数と平均クローズアップダウン日の比値を比較して,市場が超買いか超売りかを判断する.この戦略では,RSI周期は14に設定されている.RSIは,70より大きい時は超買い区,30より小さい時は超売り区である.
MACDの取引信号とRSIのフィルター信号を組み合わせて,MACDが買取信号を生じ,RSIが超買区に入っていないとき,オーバー;MACDが売り信号を生じ,RSIが超売り区に入っていないとき,空き.
さらに,この戦略は,現在のK線が前のK線の色と異なるかどうかを判断し,同じであれば取引信号をスキップします.これは主に偽突破をフィルターするために設計されています.
入札後,戦略は次のK線の閉盘価格が開盘価格より高/低かどうかを判断し,条件が満たされた場合,トレンドが検証されたことを証明し,平仓を停止する.
この戦略には以下のリスクがあります.
MACDの取引信号は,より多くのノイズを生じさせ,取引を頻繁にする可能性があります. MACDのパラメータを適切に調整し,曲線を平らにするのが解決策です.
RSIフィルターの設定を間違えた場合,取引機会が逃れることがあります. 解決方法は,より適切なRSIパラメータをテストすることです.
追跡停止設定が不適切である場合,早期の停止または非常に大きな停止が起こることがあります. 解決策は,市場の変動率と個人のリスク好みに応じて停止幅を調整することです.
短期間の価格の急激な変動は,巨額の損失を引き起こす可能性があります. 解決策は,オプションまたは他の金融機関を使用して,危険を回避することです.
この戦略は以下の点で最適化できます.
MACDパラメータを最適化し,MACD曲線を平滑化し,ノイズ信号を低減する
RSI フィルターを最適化または改良して FILTER 効果を向上させる
KD,ブリン帯などの他の指標確認信号を試す
ストップ・ストップ戦略の最適化,ストップ・ストップのダイナミックな追跡
機械学習などの方法によるパラメータ最適化
株価指数期貨,オプションなどのツールと組み合わせた期間の保值
この戦略は,MACD指標とRSI指標を総合的に使用し,トレンド判断,オーバーバイオーバーセールフィルターとストップトラッキングを実現し,取引リスクを効果的に制御できます.この戦略は,最適化できるスペースが大きいので,パラメータ調整,新しい指標の導入などの手段によってより良い取引効果が得られることが期待されます.
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Al-Sat Sinyali ve Teyidi", overlay=true)
// MACD (Hareketli Ortalama Yakınsaklık Sapma)
[macdLine, signalLine, _] = ta.macd(close, 5, 13, 5)
// RSI (Göreceli Güç Endeksi)
rsiValue = ta.rsi(close, 14)
// RSI Filtresi
rsiOverbought = rsiValue > 70
rsiOversold = rsiValue < 30
// MACD Sinyalleri
buySignalMACD = ta.crossover(macdLine, signalLine) and not rsiOverbought
sellSignalMACD = ta.crossunder(macdLine, signalLine) and not rsiOversold
// Al-Sat Stratejisi
if (buySignalMACD and close[1] != close) // Al sinyali ve bir önceki mumdan farklı renkte ise
strategy.entry("Buy", strategy.long)
if (sellSignalMACD and close[1] != close) // Sat sinyali ve bir önceki mumdan farklı renkte ise
strategy.entry("Sell", strategy.short)
// Teyit için bir sonraki mumu bekleme
strategy.close("Buy", when=ta.crossover(close, open))
strategy.close("Sell", when=ta.crossunder(close, open))
// Varsayımsal bir sonraki mumun kapanış fiyatını hesapla
nextBarClose = close[1]
plot(nextBarClose, color=color.blue, linewidth=2, title="Tahmin Edilen Kapanış Fiyatı")
// Görselleştirmeyi devre dışı bırakma
plot(na)
// Al-Sat Etiketleri
plotshape(series=buySignalMACD, title="Al Sinyali", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, text="Al")
plotshape(series=sellSignalMACD, title="Sat Sinyali", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sat")