MA CROSSOVER

Penulis:ChaoZhang, Tarikh: 2023-09-04 15:55:46
Tag:

Strategi MA Crossover adalah strategi perdagangan teknikal yang menggunakan crossover purata bergerak untuk mengenal pasti peluang perdagangan. Strategi ini direka untuk digunakan dalam jangka masa harian, dan ia boleh digunakan untuk berdagang kedua-dua kedudukan panjang dan pendek.

Strategi ini berfungsi dengan mengenal pasti persilangan antara purata bergerak pantas dan perlahan. Apabila purata bergerak pantas melintasi di atas purata bergerak perlahan, isyarat beli dihasilkan. Apabila purata bergerak pantas melintasi di bawah purata bergerak perlahan, isyarat jual dihasilkan.

Strategi MA Crossover adalah strategi yang agak mudah digunakan, tetapi ia boleh menjadi sangat berkesan.

Berikut adalah beberapa faedah menggunakan strategi MA Crossover:

Ia adalah strategi yang mudah digunakan, menjadikannya mudah diakses oleh peniaga dari semua peringkat pengalaman. Ia berdasarkan prinsip teknikal yang kukuh, yang bermaksud ia mempunyai kebarangkalian yang tinggi untuk berjaya. Ia adalah strategi trend-mengikuti, yang bermaksud bahawa ia boleh membantu peniaga untuk menunggang trend. Ia boleh digunakan untuk berdagang kedua-dua kedudukan panjang dan pendek, menjadikannya strategi serba boleh. Berikut adalah beberapa risiko yang berkaitan dengan menggunakan strategi MA Crossover:

Strategi ini berdasarkan data harga sejarah, dan tidak ada jaminan bahawa ia akan menguntungkan pada masa akan datang. Strategi ini boleh terdedah kepada whipsaw, iaitu apabila harga aset bergerak dengan cepat ke kedua-dua arah. Strategi boleh berubah-ubah, yang bermaksud terdapat risiko kerugian besar. Secara keseluruhan, strategi MA Crossover adalah strategi perdagangan yang agak mudah dan berkesan yang boleh digunakan oleh peniaga dari semua peringkat pengalaman.

Berikut adalah beberapa perkara tambahan yang perlu diingat apabila menggunakan strategi MA Crossover:

Panjang purata bergerak boleh diselaraskan sesuai dengan gaya perdagangan dan toleransi risiko anda. Anda juga boleh menggunakan pelbagai purata bergerak untuk membuat strategi yang lebih kompleks. Adalah penting untuk menguji strategi pada data sejarah untuk memastikan ia menguntungkan sebelum menggunakannya untuk perdagangan langsung. Anda juga harus menggunakan stop loss untuk mengehadkan kerugian anda. Saya harap artikel ini berguna dan memberi maklumat.


/*backtest
start: 2022-08-28 00:00:00
end: 2023-02-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":10000}]
*/

//@version=5
strategy("EMA-Cross-JC Intraday with Trailing SL", overlay=true)

// emabasel = input(100, "Base Length")
emaslen = input(15, "Slow Length")
emaflen = input(9, "Fast Length")
intra =input(true, title = "Intraday?")
sq_time_hr = input(15, title="Exit Hr")
sq_time_min = input(20, title="Exit Min")

emaslow = ta.ema(close, emaslen)
emafast = ta.ema(close, emaflen)
// emabase = ta.ema(close, emabasel)

emaup = ta.crossover(emafast, emaslow)
emadown = ta.crossunder(emafast, emaslow)

tsival = ta.tsi(close, 13, 55)

plot(emaslow, title="Slow EMA", color=color.yellow, linewidth=1)
plot(emafast, title="Fast EMA", color=color.green, linewidth=1)
// plot(emabase, title="Base EMA", color=color.white, linewidth=3)

takeProfitPoints = input(200, title="Take Profit")
// tp_off = input(4000, title="Keep trailing")
stopLossPoints = input(100, title="Stop Loss")

// Define the time to square off positions
squareOffTime = timestamp(year, month, dayofmonth, sq_time_hr, sq_time_min)

var float trailingStop = na

if emaup and barstate.isconfirmed and time < squareOffTime //and tsival >=0
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=close - stopLossPoints, limit=close + takeProfitPoints)
    // trailingStop := emabase - stopLossPoints
    strategy.exit("Trailing Stop", "Buy", stop=trailingStop)

if emadown and barstate.isconfirmed and time < squareOffTime //and tsival <=0
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=close + stopLossPoints, limit=close - takeProfitPoints)
    // trailingStop := emabase + stopLossPoints
    strategy.exit("Trailing Stop", "Sell", stop=trailingStop)

// Close any open positions before the end of the trading day
if ta.barssince(strategy.opentrades) == 0 and time >= squareOffTime and intra == true
    strategy.close_all()

// plot(tsival, title = "TSI Value")
plotshape(emaup and barstate.isconfirmed, title="Crossover", style = shape.triangleup , size=size.small,color = color.green, location = location.belowbar)
plotshape(emadown and barstate.isconfirmed, title="Crossunder",style = shape.triangledown, size=size.small,color = color.red, location = location.abovebar)


Lebih lanjut