Strategi EMA golden cross breakthrough yang cepat dan lambat adalah strategi sederhana dan efektif untuk melacak tren pasar. Ini menggunakan silang EMA dari siklus yang berbeda untuk menghasilkan sinyal beli dan jual. Ide dasarnya adalah: ketika EMA siklus pendek melintasi di atas EMA siklus yang lebih lama, sinyal beli dihasilkan; ketika EMA siklus pendek melintasi di bawah EMA siklus yang lebih lama, sinyal jual dihasilkan.
Strategi ini terutama didasarkan pada perbandingan EMA 5-siklus, 8-siklus dan 13-siklus untuk menghasilkan sinyal perdagangan.
Ini mewujudkan efek dari melacak tren jangka menengah dan jangka panjang. Ketika rata-rata bergerak siklus pendek melintasi di atas rata-rata bergerak siklus panjang, itu berarti bahwa tren jangka pendek telah berubah naik dan dapat dibeli; ketika rata-rata bergerak siklus pendek melintasi di bawah rata-rata bergerak siklus panjang, itu berarti bahwa tren jangka pendek telah berubah menurun dan harus dijual.
Keuntungan utama dari strategi ini adalah:
Ada juga beberapa risiko dalam strategi ini:
Strategi dapat dioptimalkan dalam aspek berikut:
Singkatnya, operasi strategi EMA golden cross breakthrough yang cepat dan lambat lancar, sinyalnya lebih dapat diandalkan, penarikan tidak tinggi, dan cocok untuk melacak tren jangka menengah dan panjang. Hasil strategi yang lebih baik dapat diperoleh melalui optimasi parameter dan peraturan yang ditingkatkan.
/*backtest start: 2023-11-23 00:00:00 end: 2023-11-30 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © gregoirejohnb // @It is modified by ttsaadet. // Moving average crossover systems measure drift in the market. They are great strategies for time-limited people. // So, why don't more people use them? // // strategy(title="EMA Crossover Strategy by TTS", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000) // === GENERAL INPUTS === //strategy start date start_year = input(defval=2020, title="Backtest Start Year") // === LOGIC === short_period = input(type=input.integer,defval=5,minval=1,title="Length") mid_period = input(type=input.integer,defval=8,minval=1,title="Length") long_period = input(type=input.integer,defval=13,minval=1,title="Length") rsi_period = input(type=input.integer,defval=14,minval=1,title="Length") longOnly = input(type=input.bool,defval=false,title="Long Only") shortEma = ema(close,short_period) midEma = ema(close,mid_period) longEma = ema(close,long_period) rsi = rsi(close, rsi_period) [diplus, diminus, adx] = dmi(short_period, short_period) plot(shortEma,linewidth=2,color=color.red,title="Fast") plot(midEma,linewidth=2,color=color.orange,title="Fast") plot(longEma,linewidth=2,color=color.blue,title="Slow") longEntry = crossover(shortEma,midEma) and crossover(shortEma,longEma) //or ((shortEma > longEma) and crossover(shortEma,midEma)))and (adx > 25) shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma)) plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle") plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle") plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign") // === STRATEGY - LONG POSITION EXECUTION === enterLong() => longEntry and time > timestamp(start_year, 1, 1, 01, 01) exitLong() => crossunder(shortEma,longEma) or crossunder(close, longEma) strategy.entry(id="Long", long=strategy.long, when=enterLong()) strategy.close(id="Long", when=exitLong()) // === STRATEGY - SHORT POSITION EXECUTION === enterShort() => not longOnly and shortEntry and time > timestamp(start_year, 1, 1, 01, 01) exitShort() => crossover(shortEma,longEma) strategy.entry(id="Short", long=strategy.short, when=enterShort()) strategy.close(id="Short", when=exitShort())