Strategi ini didasarkan pada indikator MACD dan garis panjang dan dekat untuk menerapkan perdagangan jangka panjang dari pasangan mata uang. Ini membuka posisi ketika garis indikator MACD melintasi garis panjang dan menutup posisi ketika garis indikator MACD melintasi di bawah garis dekat. Strategi stop loss juga dikonfigurasi.
Strategi ini menggunakan garis cepat dan lambat dari indikator MACD. Garis cepat memiliki parameter EMA 12 hari dan garis lambat memiliki parameter EMA 26 hari. Perbedaan antara kedua garis adalah histogram MACD. Selain itu, EMA 9 hari dihitung sebagai garis sinyal.
Secara khusus, strategi pertama menghitung garis cepat, garis lambat dan garis sinyal dari indikator MACD. Kemudian garis panjang ditetapkan pada -0.04, garis dekat ditetapkan pada 0.015. Jika histogram MACD saat ini lebih besar dari garis panjang, itu akan panjang. Jika histogram MACD saat ini lebih kecil dari garis dekat, itu menutup posisi panjang. Selain itu, garis stop loss ditetapkan pada 95% dari harga masuk.
Strategi ini memiliki keuntungan berikut:
Strategi ini juga memiliki beberapa risiko:
Metode seperti menyesuaikan parameter, menggabungkan indikator lain dapat digunakan untuk mengoptimalkan dan meningkatkan.
Strategi dapat dioptimalkan dalam aspek berikut:
Uji kombinasi parameter MACD yang berbeda untuk menemukan parameter yang lebih baik
Jalur cepat, jalur lambat, jalur sinyal dengan panjang yang berbeda dapat dicoba untuk menemukan kombinasi yang lebih cocok
Cobalah indikator lain
Indikator seperti RSI, KD mungkin memiliki hasil yang sangat berbeda
Mengoptimalkan parameter garis panjang dan dekat
Parameter yang lebih cocok dapat ditemukan melalui backtesting berulang
Sesuaikan strategi stop loss
Pertimbangkan stop trailing untuk membuat stop loss lebih dinamis
Tes pada pasangan mata uang yang berbeda
Menerapkan strategi untuk pasangan lain dan memeriksa efek
Kesimpulannya, ini adalah strategi perdagangan jangka panjang yang sangat sederhana dan intuitif. Ini menilai kondisi pasar menggunakan indikator MACD dan menetapkan kriteria filter ganda untuk mengurangi perdagangan palsu. Kontrol risiko juga dikonfigurasi melalui stop loss. Logika jelas dan pekerjaan sumber daya rendah. Mudah dipahami dan diimplementasikan, layak direkomendasikan. Tentu saja, masih banyak ruang untuk perbaikan melalui penyesuaian parameter, perubahan indikator dan cara lain, untuk membuat strategi lebih luar biasa.
/*backtest start: 2024-01-04 00:00:00 end: 2024-01-11 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(shorttitle = "GBPJPY MACD", title = "GBPJPY MACD") fastMA = input(title="Fast moving average", defval = 12, minval = 7) slowMA = input(title="Slow moving average", defval = 26, minval = 7) lastColor = yellow [currMacd,_,_] = macd(close[0], fastMA, slowMA, 9) [prevMacd,_,_] = macd(close[1], fastMA, slowMA, 9) plotColor = currMacd > 0 ? currMacd > prevMacd ? lime : green : currMacd < prevMacd ? maroon : red plot(currMacd, style = histogram, color = plotColor, linewidth = 3) plot(0, title = "Zero line", linewidth = 1, color = gray) //MACD // Getting inputs fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signal_length = input(title="Signal Smoothing", minval = 1, maxval = 50, defval =9) sma_source = input(title="Simple MA(Oscillator)", type=bool, defval=false) sma_signal = input(title="Simple MA(Signal Line)", type=bool, defval=false) // Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 col_macd = #0094ff col_signal = #ff6a00 // Calculating fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal //plot(hist, title="Histogram", style=columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 ) plot(macd, title="MACD", color=col_macd, transp=0) plot(signal, title="Signal", color=col_signal, transp=0) ///END OF MACD //Long and Close Long Lines linebuy = input(title="Enter Long", type=float, defval=-0.04) linesell = input(title="Close Long", type=float, defval=0.015) //Plot Long and Close Long Lines plot(linebuy,color=green),plot(linesell,color=red) //Stop Loss Input sl_inp = input(0.05, title='Stop Loss %', type=float)/100 //Order Conditions longCond = crossover(currMacd, linebuy) exitLong = crossover(currMacd, linesell) stop_level = strategy.position_avg_price * (1 - sl_inp) //Order Entries strategy.entry("long", strategy.long, when=longCond==true) strategy.close("long", when=exitLong==true) strategy.exit("Stop Loss", stop=stop_level)