
この戦略は,二重移動平均線が取引シグナルを形成する方法を採用し,短期移動平均線上に長期移動平均線を穿越するときに買取シグナルを生成し,短期移動平均線の下に長期移動平均線を穿越するときに売出シグナルを生成する.この戦略は,移動平均線のトレンド追跡機能と組み合わせて,価格トレンドを効果的に捉え,トレンド取引を実現する.
この戦略は,2つの異なる周期の指数移動平均線 ((EMA) を使用します.EMA1は短期移動平均線で,周期は9で設定され,EMA2は長期移動平均線で,周期は21で設定されています.短期移動平均線がEMA1上に長期移動平均線EMA2を穿越すると,買取シグナルが生じます.EMA1を下にEMA2を穿越すると,売り込みシグナルが生じます.
このように,移動平均線のトレンド追跡機能を利用して,価格が新しいトレンド方向を始める時に適切なタイミングでシグナルをキャプチャし,トレンドを追跡することができます.例えば,価格が下落から上昇に転じるとき,短期移動平均線は長期移動平均線より先に上昇し,短期移動平均線に長期移動平均線を穿越することは,価格が上昇し始める初期の信号です.
この戦略の最大の利点は,価格トレンドを効果的に識別でき,特にトレンドが強い市場には適していることです.移動平均線は,それ自体が良いトレンド追跡機能を有しており,双移動平均線戦略は,この優位性をさらに強化しています.さらに,単一の移動平均線戦略と比較して,双移動平均線戦略は,偽の信号をさらにフィルターすることができ,信号の信頼性が高くなります.
この戦略の最大のリスクは,価格が激しく波動すると,移動平均線が遅れをとり,最適な入場または出場のタイミングを逃してしまう可能性があるというものです. さらに,市場は震動区間にあるときに,この戦略は,戦略の安定性を低下させる,より多くの無効信号を生成します.
リスクを軽減するために,移動平均線の周期パラメータを適切に調整したり,他の指標をフィルターするために追加したりできます.例えば,市場の変動率指標と組み合わせて値を設定し,市場が大きく揺れ動いたときに取引を避けるなどです.
この戦略の最適化には以下のポイントが重要です.
この戦略は,二指数移動平均線形成の取引信号の方法を採用し,最大の優点は,価格トレンドの追跡能力が強く,価格トレンドの転換を効果的に識別できるということです.しかし,移動平均線の遅滞などの問題もあります.次のステップは,信号の質を向上させ,特定の入場タイミングとストップ損失の観点から最適化することができます.
/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © technicalTruff99446
//@version=4
strategy("AhmetMSA", overlay=true, initial_capital = 10000, commission_value = 0.002, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, calc_on_order_fills = true)
//2. DEĞERDEN SONRA GEÇMİŞ HESAPLAMA DEĞERİ, KOMİSYON ORANI, PARANIN TAMAMI, DEĞERLERİ EKLEMDİ
emaShPD = input (title="EMA KISA PERİYOT", defval=9, minval=1)
emaLngPD = input (title="EMA UZUN PERİYOT", defval=21, minval=1)
//input DEĞİŞKEN DEĞER ATAMA
ema1 = ema (close,emaShPD)
ema2 = ema (close,emaLngPD)
//EMALAR ARASINI BOYAMA upTrend downTrend
upTrend = plot (ema1, color=#4DFF00, linewidth=2, title= "EMA KISA", transp=0)
downTrend = plot (ema2, color=#FF0C00, linewidth=3, title= "EMA UZUN", transp=0)
//linewidth ÇİZGİ KALINLIĞI
//title İSİM VERME
//BACKTESTİN BAŞLANGIÇ TARİHİNİ BELİRLEME
yearin = input(2024, title = "Backtest Başlangıç Tarihi")
//longCondition = crossover(ema1, ema2)
//shortCondition = crossover(ema2, ema1)
buy = crossover(ema1, ema2) and yearin >= year
sell = crossover(ema2, ema1) and yearin >= year
//ta.crossunder KESİŞİM KODU
//Barları BOYAMA
barbuy = ema1 >= ema2
barsell = ema2 < ema1
//AL SAT AŞK KUTUCUKLU EKRANA YAZMA
plotshape(buy, title = "AL AŞK", text = 'AL AŞK', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "SAT AŞK", text = 'SAT AŞK', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
//Barları BOYAMA KOŞULU
barcolor(barbuy? #4DFF00: barsell? #FF0C00: #FF0C00)
fill(upTrend, downTrend, color = ema1 >= ema2?#4DFF00 : #FF0C00, transp = 80, title = "bgcolor")
//longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
//shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
//14 GÜNLÜĞÜN KAPANIŞDEĞERİNİN 28 GÜNLÜK KAPANIŞ DEĞERİNİ KESMESİ KOŞULU
if (buy)
strategy.entry("AL AŞK", strategy.long)
if (sell)
strategy.entry("SAT AŞK", strategy.short)