Strategi Dagangan Pullback Purata Pergerakan Rangka Masa Berbilang Masa


Tarikh penciptaan: 2024-02-29 11:20:28 Akhirnya diubah suai: 2024-02-29 11:20:28
Salin: 1 Bilangan klik: 673
1
fokus pada
1617
Pengikut

Strategi Dagangan Pullback Purata Pergerakan Rangka Masa Berbilang Masa

Gambaran keseluruhan

Strategi ini menggunakan kaedah garis rata-rata bingkai masa yang banyak, menggunakan garis rata-rata jangka panjang untuk menentukan arah trend besar, garis rata-rata jangka pendek untuk menentukan arah trend pendek, masuk dengan lebih banyak / kosong apabila garis panjang dan garis pendek mengesahkan trend; apabila garis pendek kembali ke garis panjang, menilai peluang masuk untuk penyesuaian jangka pendek, dan melakukan operasi terbalik. Strategi ini terutama digunakan untuk saham yang cenderung ke garis panjang.

Prinsip Strategi

Strategi ini menggunakan purata bergerak mudah 200 hari untuk menentukan arah trend jangka panjang, menggunakan purata bergerak mudah 10 hari untuk menentukan arah trend jangka pendek. Apabila harga saham berada di atas purata 200 hari dan di bawah purata 10 hari, ini menunjukkan bahawa ia kini berada dalam tahap kenaikan garis panjang dan pemulihan garis pendek.

Khususnya, apabila memenuhi syarat-syarat berikut, masuk lebih banyak: harga penutupan> 200 hari rata-rata dan harga penutupan < 10 hari rata-rata; apabila memenuhi syarat-syarat berikut, masuk kosong: harga penutupan < 200 hari rata-rata dan harga penutupan> 10 hari rata-rata.

Tetapkan mekanisme hentian kerugian selepas masuk, jika lebih daripada 10% mundur dari harga beli, hentikan kerugian. Pada masa yang sama, jika anda menetapkan pilihan i_lowerClose, anda akan menunggu harga penutupan yang lebih rendah untuk masuk semula, yang dapat mengelakkan hentian terlalu sensitif.

Analisis kelebihan

Strategi ini menggabungkan garis purata pelbagai bingkai masa untuk menangkap arah trend garis tengah dan panjang dengan kebarangkalian yang lebih besar. Strategi utsch memberikan masa masuk yang lebih baik apabila garis purata jangka pendek disesuaikan dengan garis purata jangka panjang.

Strategi ini mempunyai risiko terkawal. Ia menetapkan peratusan stop loss 10% untuk mengawal kerugian; dan ia juga menetapkan syarat penapis masa yang dapat mengelakkan perdagangan dalam tempoh masa tertentu.

Analisis risiko

Strategi ini masih mempunyai risiko untuk disetel. Apabila penyesuaian garis pendek terlalu lama atau penyesuaian terlalu besar, ia mungkin mencetuskan stop loss dan disetel.

Strategi ini kurang sesuai untuk varieti perdagangan. Strategi ini mudah dihentikan dan tidak berkesan untuk saham yang berfluktuasi tinggi dan jangka masa penyesuaian yang panjang.

Strategi ini juga menghadapi kerugian yang lebih besar apabila terdapat perubahan besar dalam pasaran secara keseluruhan. Strategi ini mungkin sukar untuk menghasilkan keuntungan, misalnya, semasa krisis kewangan.

Arah pengoptimuman

Lebih banyak sistem garis rata boleh diperkenalkan, membentuk mekanisme penyaringan berganda. Sebagai contoh, penambahan garis rata-rata 50 hari, hanya dipertimbangkan apabila harga penutupan berada di antara garis rata-rata 50 hari dan garis rata-rata 200 hari. Ini dapat menyaring lebih jauh varieti yang lebih baik dalam trend.

Hentian terapung boleh ditetapkan. Khususnya, selepas masuk, anda boleh menetapkan amplitudo hentian yang berubah-ubah berdasarkan kelembapan saham, dan bukannya hentian 10% yang tetap. Ini dapat mengurangkan kemungkinan hentian yang tidak perlu dicetuskan.

Ia boleh dikombinasikan dengan petunjuk lain untuk menilai keadaan pasaran. Sebagai contoh, MACD, apabila MACD menunjukkan pasaran keluar, anda boleh menangguhkan strategi ini untuk mengelakkan kerugian. Ini dapat mengawal permulaan dan penutupan strategi berdasarkan penilaian pasaran besar.

ringkaskan

Strategi ini secara keseluruhannya adalah strategi garis rata-rata jangka masa yang tipikal. Ia menggabungkan garis rata-rata jangka pendek dan panjang, dengan kemungkinan besar menangkap trend garis panjang dan tengah, sambil mengambil peluang pemulihan garis pendek. Risiko strategi juga dalam lingkungan yang terkawal.

Kod sumber strategi
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © irfanp056
// @version=5

strategy("Simple Pullback Strategy", 
     overlay=true) // Interactive Brokers rate

// Get user input
i_ma1           = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2           = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent   = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose    = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime     = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime       = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")

// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)

// Check filter(s)
f_dateFilter = true

// Check buy/sell conditions
var float buyPrice = 0
buyCondition    = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition   = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance    = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice       = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition   = strategy.position_size > 0 and stopDistance > i_stopPercent

// Enter positions
if buyCondition
    strategy.entry(id="Long", direction=strategy.long)

if buyCondition[1]
    buyPrice := open

// Exit positions
if sellCondition or stopCondition
    strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
    buyPrice := na

// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)