Strategi Poligon Purata Bergerak


Tarikh penciptaan: 2023-10-31 14:53:50 Akhirnya diubah suai: 2023-10-31 14:53:50
Salin: 1 Bilangan klik: 674
1
fokus pada
1617
Pengikut

Strategi Poligon Purata Bergerak

Gambaran keseluruhan

Strategi moving average multilateral adalah strategi untuk membina multilateral melalui pelbagai peredaran yang berbeza dan untuk mengikuti trend yang merentasi multilateral sebagai isyarat perdagangan. Strategi ini mengambil kira pelbagai faktor jangka masa secara komprehensif dan dapat menyaring kebisingan pasaran dengan berkesan untuk menangkap trend utama.

Prinsip Strategi

Strategi ini menghasilkan satu saluran berbentuk polygon dengan memasukkan garis rata-rata EMA dari pelbagai tempoh, seperti EMA 3-siklus, 7-siklus dan 13-siklus, dan menggambarnya pada grafik harga. Ia menghasilkan banyak isyarat apabila harga melintasi beberapa garis rata-rata EMA di atas; ia menghasilkan isyarat kosong apabila harga melintasi beberapa garis rata-rata EMA di bawah.

Kod ini menetapkan isyarat pengalihan ke atas dengan menutup> ema1 dan ema1> ema2 dan ema2> ema3, menutup

Kelebihan Strategik

Kelebihan utama strategi ini adalah dapat menangkap arah trend utama dengan berkesan, menggunakan banyak garis rata bergerak untuk membina mekanisme penapisan, mengelakkan pengaruh bunyi jangka pendek pasaran, mengurangkan isyarat palsu. Hentikan bergerak membolehkan ia menghentikan kerugian tepat pada masanya untuk melindungi keuntungan.

Risiko dan penyelesaian

Risiko utama strategi ini adalah ketidakupayaan untuk menetapkan titik perubahan trend, dan kerugian yang mungkin timbul apabila trend berbalik. Selain itu, pengaturan kombinasi garis rata yang tidak betul juga boleh menyebabkan frekuensi perdagangan yang terlalu tinggi atau kelewatan isyarat. Risiko dapat dikurangkan dengan mengoptimumkan kombinasi parameter garis rata, menambahkan indikator lain untuk menentukan pembalikan, dan meluaskan julat berhenti.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan parameter kitaran pada garisan purata bergerak untuk mencari kombinasi parameter yang terbaik

  2. Tambah indikator isyarat pembalikan seperti RSI, MACD dan lain-lain pada titik perubahan trend untuk menghentikan kerugian pada masa yang tepat

  3. Mengoptimumkan amplitudo dan nilai penyingkiran berhenti bergerak, mengurangkan kebarangkalian berhenti yang dicetuskan

  4. Mengoptimumkan parameter yang berbeza untuk meningkatkan kebolehan adaptasi strategi

ringkaskan

Secara keseluruhannya, strategi pelbagai arah bergerak adalah strategi pengesanan trend yang boleh dipercayai dan berkesan. Kelebihan utamanya adalah menangkap arah trend utama dan dapat menapis kebisingan secara besar-besaran. Tetapi ada juga masalah kekurangan pengenalan pembalikan. Kita boleh meningkatkan prestasi strategi dengan mengoptimumkan parameter, memasukkan petunjuk tambahan dan sebagainya.

Kod sumber strategi
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 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/
// © Crypto-Oli

//@version=4
strategy("BLANK Strategy + TSL", initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, pyramiding=1, commission_value=0.075, overlay=true)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
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 = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////


/// YOUR INPUTS BELOW - DELET EXAPLES ///


ema1=ema(close,input(3))
ema2=ema(close,input(7))
ema3=ema(close,input(13))


/// PLOTS IF YOU NEED BELOW - DELET EXAPLES ///


plot(ema1, "EMA1", color.yellow)
plot(ema2, "EMA2", color.white)
plot(ema3, "EMA3", color.blue)


/// YOUR CONDITIONS BELOW - DELET EXAPLES ///


longCondition = close>ema1 and ema1>ema2 and ema2>ema3 and time_cond
shortCondition = close<ema1 and ema1<ema2 and ema2<ema3 and time_cond

/// EXECUTION ///


if (longCondition)
    strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick)

if (shortCondition)
    strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick)