Strategi ini mengoptimalkan parameter indikator MACD, dikombinasikan dengan moving average, price action dan waktu trading tertentu untuk mencapai strategi trading forex tingkat kemenangan tinggi.
Gunakan 3 K-line untuk menilai tren harga. Jika harga penutupan dari 3 K-line terakhir lebih tinggi dari harga pembukaan, itu dinilai sebagai tren naik; jika harga penutupan dari 3 K-line terakhir lebih rendah dari harga pembukaan, itu dinilai sebagai tren turun.
Menghitung garis cepat, garis lambat dan perbedaan MACD. parameter garis cepat adalah 12, parameter garis lambat adalah 26, dan parameter garis sinyal adalah 9.
Waktu perdagangan ditetapkan untuk 09:00-09:15 setiap hari. Dalam periode waktu ini, masuk ke pasar jika kondisi berikut terpenuhi:
Take profit ditetapkan menjadi 0,3 pips, dan stop loss ditetapkan menjadi 100 pips.
Tutup semua posisi selama 21:00-21:15.
Menggunakan kombinasi indikator multi-frame waktu untuk menilai secara komprehensif arah tren dan meningkatkan akurasi keputusan.
Mengoptimalkan waktu perdagangan untuk menghindari periode volatilitas pasar yang tinggi, mengurangi risiko stop loss yang tidak perlu.
Tetapkan rasio yang wajar untuk mengambil keuntungan dan stop loss untuk memaksimalkan profit lock dan menghindari pembesaran kerugian.
Secara keseluruhan, strategi ini memiliki tingkat kemenangan yang sangat tinggi dan cocok untuk perdagangan jangka pendek yang sering.
Waktu perdagangan relatif tetap, mungkin kehilangan peluang perdagangan jika tidak dapat memasuki pasar tepat waktu.
Indikator MACD rentan terhadap sinyal yang menyesatkan. Berdagang dengan hati-hati jika tren naik atau turun yang jelas tidak dapat ditentukan.
Mengambil keuntungan dan stop loss dapat ditetapkan tidak wajar, mengakibatkan ketidakseimbangan kerugian keuntungan. parameter perlu disesuaikan sesuai dengan produk yang berbeda.
Risiko keseluruhan kecil, tapi posisi yang terlalu besar dengan leverage tinggi masih bisa menyebabkan kerugian besar.
Menggabungkan dengan indikator lain untuk menentukan tren, menghindari sinyal yang menyesatkan dari MACD. Misalnya, menggabungkan Bollinger Bands, RSI dll.
Mengoptimalkan rasio take profit/stop loss dengan menghitung parameter optimal dari data backtest.
Memperluas varietas perdagangan yang berlaku untuk strategi, mengevaluasi efek pengaturan parameter pada produk yang berbeda.
Memperkenalkan algoritma pembelajaran mesin untuk memilih parameter optimal secara dinamis berdasarkan kondisi pasar yang bervariasi.
Secara keseluruhan strategi ini sangat cocok untuk trader pemula. Logika jelas, ruang optimasi besar, dan risiko dapat dikendalikan. Dengan menyesuaikan waktu pembukaan dan menetapkan rasio kerugian keuntungan yang wajar, pengembalian yang tinggi dapat dicapai. Optimasi lebih lanjut dapat dilakukan untuk menyesuaikan parameter secara dinamis dan beradaptasi dengan lingkungan pasar yang lebih kompleks.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © exlux99 //@version=4 strategy("Very high win rate strategy", overlay=true) // fast_length =12 slow_length= 26 src = close signal_length = 9 sma_source = false sma_signal = false // 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 //ma len=10 srca = input(close, title="Source") out = hma(srca, len) fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2000, title = "From Year", minval = 1970) //monday and session // To Date Inputs toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2021, title = "To Year", minval = 1970) startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true timeinrange(res, sess) => time(res, sess) != 0 // = input('0900-0915', type=input.session, title="My Defined Hours") myspecifictradingtimes = '0900-0915' exittime = '2100-2115' optionmacd=true entrytime = time(timeframe.period, myspecifictradingtimes) != 0 exit = time(timeframe.period, exittime) != 0 if(time_cond and optionmacd ) if(close > open and close[1] > open[1] and close[2] > open[2] and entrytime and crossover(hist,0)) strategy.entry("long",1) if(close< open and close[1] < open[1] and close[2] < open[2] and entrytime and crossunder(hist,0)) strategy.entry("short",0) tp = input(0.0003, title="tp") //tp = 0.0003 sl = input(1.0 , title="sl") //sl = 1.0 strategy.exit("closelong", "long" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closelong") strategy.exit("closeshort", "short" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closeshort")