Strategi ini adalah berdasarkan kepada penunjuk MACD dan garis panjang dan dekat untuk melaksanakan perdagangan jangka panjang pasangan mata wang. Ia membuka kedudukan apabila garis penunjuk MACD melintasi garis panjang dan menutup kedudukan apabila garis penunjuk MACD melintasi di bawah garis dekat. Strategi stop loss juga dikonfigurasi.
Strategi ini menggunakan garis cepat dan perlahan penunjuk MACD. Garis cepat mempunyai parameter EMA 12 hari dan garis perlahan mempunyai parameter EMA 26 hari. Perbezaan antara kedua-dua garis adalah histogram MACD. Di samping itu, EMA 9 hari dikira sebagai garis isyarat. Ia pergi lama apabila histogram MACD melintasi di atas 0.04 dan menutup kedudukan panjang apabila melintasi di bawah 0.015.
Secara khusus, strategi ini mula-mula mengira garis cepat, garis perlahan dan garis isyarat penunjuk MACD. Kemudian garis panjang ditetapkan pada -0.04, garis dekat ditetapkan pada 0.015. Jika histogram MACD semasa lebih besar daripada garis panjang, ia pergi panjang. Jika histogram MACD semasa kurang daripada garis dekat, ia menutup kedudukan panjang. Di samping itu, garis stop loss ditetapkan pada 95% daripada harga kemasukan.
Strategi ini mempunyai kelebihan berikut:
Strategi ini juga mempunyai beberapa risiko:
Kaedah seperti menyesuaikan parameter, menggabungkan penunjuk lain boleh digunakan untuk mengoptimumkan dan meningkatkan.
Strategi ini boleh dioptimumkan dalam aspek berikut:
Uji gabungan parameter MACD yang berbeza untuk mencari parameter yang lebih baik
Talian pantas, talian perlahan, talian isyarat dengan panjang yang berbeza boleh cuba mencari kombinasi yang lebih sesuai
Cuba penunjuk lain
Penunjuk seperti RSI, KD mungkin mempunyai hasil yang sangat berbeza
Mengoptimumkan parameter garis panjang dan dekat
Parameter yang lebih sesuai boleh dijumpai melalui pengujian semula berulang
Sesuaikan strategi stop loss
Pertimbangkan hentian untuk membuat hentian kerugian lebih dinamik
Ujian pada pasangan mata wang yang berbeza
Terapkan strategi kepada pasangan lain dan kaji kesan
Kesimpulannya, ini adalah strategi perdagangan jangka panjang yang keseluruhan sangat mudah dan intuitif. Ia menilai keadaan pasaran menggunakan penunjuk MACD dan menetapkan kriteria penapis berganda untuk mengurangkan perdagangan palsu. Kawalan risiko juga dikonfigurasikan melalui stop loss. Logiknya jelas dan pekerjaan sumber rendah. Ia mudah difahami dan dilaksanakan, patut disyorkan. Sudah tentu, masih banyak ruang untuk peningkatan melalui penyesuaian parameter, perubahan penunjuk dan cara lain, untuk menjadikan strategi lebih cemerlang.
/*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)