Strategi Crossover Midpoint Moving Average adalah strategi trend berikut. Ia menggabungkan penunjuk midpoint dan garis purata bergerak untuk menjana isyarat perdagangan apabila harga memecahkan titik persilangan penunjuk midpoint dan purata bergerak.
Penunjuk pusat strategi ini adalah penunjuk titik tengah. Penunjuk titik tengah mengambil nilai purata harga tertinggi dan terendah dalam tempoh tertentu untuk mencari tahap sokongan dan rintangan utama.
Di samping itu, purata bergerak diperkenalkan untuk data harga yang lancar dan menentukan arah trend.
Isyarat beli dihasilkan apabila harga pecah di atas titik persilangan titik tengah dan purata bergerak, dan isyarat jual dihasilkan apabila harga pecah di bawah titik persilangan.
Menurut logik strategi ini, menangkap penembusan titik tengah dan kawasan persilangan purata bergerak boleh mengikuti trend dengan baik dan mengambil perdagangan pembalikan semasa penurunan.
Strategi ini menggabungkan kelebihan penunjuk titik tengah dan purata bergerak, dengan tepi berikut:
Penunjuk titik tengah dengan tepat mencari tahap sokongan / rintangan utama, dan purata bergerak menentukan arah trend.
Menghakimi pembalikan melalui situasi silang mengurangkan kebarangkalian pecah palsu.
Mengambil crossover dua garis menghalang salah satu penunjuk tunggal.
Idea strategi adalah mudah dan jelas, mudah difahami dan dilaksanakan, sesuai untuk perdagangan algoritma.
Terdapat juga beberapa risiko dalam strategi ini:
Titik tengah dan purata bergerak mungkin gagal apabila pasaran turun naik secara ganas.
Mungkin ada tekanan menarik balik apabila persilangan berlaku, menyebabkan risiko kehilangan berhenti.
Strategi ini memberi tumpuan kepada operasi jangka sederhana dan tidak terpakai kepada operasi jangka panjang.
Pengukuran pengurusan risiko yang sepadan termasuk:
Mengoptimumkan parameter purata bergerak untuk meningkatkan kelancaran.
Memperluas julat stop loss dengan betul untuk mengatasi tekanan tarik balik.
Memendekkan tempoh penyimpanan untuk mengambil keuntungan tepat pada masanya dan menghentikan kerugian.
Strategi ini juga boleh dioptimumkan dalam aspek berikut:
Mengoptimumkan tempoh penunjuk titik tengah dan purata bergerak untuk mencari kombinasi parameter yang terbaik.
Tambah penunjuk lain seperti MACD, RSI untuk penapisan untuk meningkatkan kualiti isyarat.
Tambah pengesahan jumlah dagangan untuk mengelakkan pecah palsu dengan jumlah yang rendah.
Memasukkan penunjuk turun naik untuk menyesuaikan paras berhenti dan mengambil keuntungan berdasarkan turun naik pasaran.
Uji kebolehgunaan di pasaran dan produk yang berbeza.
Strategi Crossover Midpoint Moving Average mengintegrasikan kelebihan penunjuk midpoint dan purata bergerak, menangkap pembalikan trend dengan menilai pecahnya tahap sokongan / rintangan utama.
/*backtest start: 2023-11-12 00:00:00 end: 2023-12-12 00:00:00 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/ // © MGULHANN //@version=5 strategy('Forex Midpoint Stratejisi For Nasdaq ', overlay=true) BPeriod = input(131, 'Başlangıç Period') kaydirma = input(14, 'Kaydırma Seviyesi') yuzdeseviyesi = input.float(0.0006, 'Yüzde Seviyesi', step=0.0001) len = input.int(44, minval=1, title="Length") src = input(close, title="Source") out = ta.sma(src, len) ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) typeMA = input.string(title = "Method", defval = "EMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing") smoothingLength = input.int(title = "Length", defval = 53, minval = 1, maxval = 100, group="Smoothing") smoothingLine = ma(out, smoothingLength, typeMA) //plot(smoothingLine, title="Smoothing Line", color=color.red, linewidth = 2) //zararDurdurmaYuzde = input.float(0.2, title='Zarar Durdurma %', step=0.01) / 100 //karAlmaYuzde = input.float(0.5, title='Kar Alma %', step=0.01) / 100 //MIDPOINT HESAPLA midpoint1 = ta.highest(high, BPeriod) + ta.lowest(low, BPeriod) midpoint2 = midpoint1 / 2 midyuzdeseviyesi = midpoint2 * yuzdeseviyesi midtopdeger = midyuzdeseviyesi + midpoint2 //GİRİŞ KOŞULLARI buycross = ta.crossover(smoothingLine, midtopdeger[kaydirma]) //? aort > ta.sma(close,50) : na sellcross = ta.crossover(midtopdeger[kaydirma], smoothingLine) // ? aort < ta.sma(close,50) : na //LONG GİRİŞ if (buycross) strategy.entry("BUY", strategy.long) //longKarAl = strategy.position_avg_price * (1 + karAlmaYuzde) //longZararDurdur = strategy.position_avg_price * (1 - zararDurdurmaYuzde) //strategy.exit("Long Exit","Long", stop=longZararDurdur) //SHORT GİRİŞ if (sellcross) strategy.entry("SELL", strategy.short) //shortKarAl = strategy.position_avg_price * (1 - karAlmaYuzde) //shortZararDurdur = strategy.position_avg_price * (1 + zararDurdurmaYuzde) //strategy.exit("Short Exit","Short", stop=shortZararDurdur) //plot(midtopdeger, offset=kaydirma, linewidth=2, color=color.blue)