Strategi pembalikan arah aliran jangka pendek


Tarikh penciptaan: 2024-01-16 14:44:35 Akhirnya diubah suai: 2024-01-16 14:44:35
Salin: 0 Bilangan klik: 698
1
fokus pada
1617
Pengikut

Strategi pembalikan arah aliran jangka pendek

Gambaran keseluruhan

Strategi trend track reversal adalah strategi perdagangan trend jangka pendek berdasarkan NQ 15 minit. Ia mencari peluang perdagangan dengan mengesan gelombang trend dan bentuk reversal. Strategi ini mudah dan berkesan, sesuai untuk pedagang aktif garis pendek.

Prinsip Strategi

Strategi ini adalah berdasarkan kepada beberapa prinsip:

  1. Menggunakan EMA 8 kitaran sebagai penapis trend utama, EMA di atas lebih banyak, EMA di bawah kurang.

  2. Mengenali bentuk pembalikan K-line tertentu sebagai isyarat masuk, termasuk isyarat ganda dan isyarat kosong, yang menunjukkan bahawa trend mungkin mula berbalik.

  3. Titik kemasukan ditetapkan sebagai titik tinggi atau rendah di sekitar garis K terbalik, dan titik henti ditetapkan sebagai titik tinggi atau rendah pada garis K terbalik itu sendiri, untuk mencapai nisbah ganjaran risiko yang cekap.

  4. Menggunakan hubungan entiti K untuk menilai keberkesanan isyarat pembalikan, seperti harga bukaan sinis lebih tinggi daripada entiti K sebelumnya, entiti sepenuhnya mengandungi peraturan untuk menyaring kebisingan.

  5. Strategi untuk beroperasi hanya pada masa-masa perdagangan tertentu, mengelakkan masa-masa khusus seperti bulan pertukaran kontrak utama di pasaran, untuk mengelakkan kerugian yang tidak perlu akibat dari keadaan yang tidak normal.

Analisis kelebihan

Strategi ini mempunyai beberapa kelebihan utama:

  1. Isyarat strategi mudah, berkesan, dan mudah dilaksanakan.

  2. Mengambil keputusan berdasarkan trend dan pembalikan, mengelakkan kematian berganda di pasaran lembu dan beruang.

  3. Pengendalian risiko, tetapan stop loss yang munasabah, dan pengendalian wang yang baik.

  4. Keperluan data kecil, sesuai untuk pelbagai perisian dan platform.

  5. Frekuensi dagangan yang tinggi, sesuai untuk pelabur yang berminat untuk berdagang secara aktif dalam jangka pendek.

Risiko dan tindakan

Strategi ini juga mempunyai beberapa risiko, dengan masalah utama adalah:

  1. Peluang bentuk pembalikan tidak mencukupi, isyarat kurang. Peraturan penghakiman pembalikan boleh dilonggarkan dengan sewajarnya.

  2. Masalah penembusan palsu berlaku. Anda boleh menambah lebih banyak penapis untuk penilaian bersama.

  3. Terdapat ketidakstabilan pada waktu malam dan waktu luar arus utama. Ia boleh ditetapkan untuk beroperasi hanya pada waktu perdagangan AS.

  4. Ruang untuk mengoptimumkan parameter adalah terhad. Anda boleh mencuba teknik seperti pembelajaran mesin untuk mencari parameter yang lebih baik.

Arah pengoptimuman

Strategi ini mempunyai ruang untuk pengoptimuman, dengan beberapa arah utama:

  1. Uji parameter EMA untuk tempoh yang lebih lama untuk menilai trend.

  2. Menambah indeks pasaran saham sebagai penapis trend tambahan.

  3. Menggunakan teknologi seperti pembelajaran mesin untuk mengoptimumkan titik masuk dan titik henti secara automatik.

  4. Menambah kedudukan berdasarkan kadar turun naik dan mekanisme penyesuaian dinamik untuk menghentikan kerugian.

  5. Cubalah melakukan pengelasan pelbagai jenis untuk menyebarkan lagi risiko sistemik dari satu jenis.

ringkaskan

Strategi pembalikan trend secara keseluruhan adalah strategi strategi garis pendek yang sangat praktikal, dengan sedikit parameter yang mudah, mudah dikendalikan, dapat mengawal risiko peribadi dengan baik, sesuai untuk pedagang garis pendek yang aktif. Strategi ini mempunyai ruang pengoptimuman tertentu, melabur dalam tenaga R&D tertentu yang dapat menjadikannya berfungsi secara berprogram, bahkan sesuai untuk modal garis panjang dan sederhana, dengan potensi pembangunan yang baik.

Kod sumber strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 3h
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/
// © bdrex95

//@version=5

// Rob Reversal Strategy - Official
// Using Rob Reversal Indicator: Original
// Description
// This indicator is based on the strategy created by Trader Rob on the NQ 15m chart.
// 
// Timeframe for trading is 8:30am-1:15pm Central.
// 
// Above the EMA line, look for a long position. You will have a short candle, then a long candle that opens below the short candle. It will have a lower high and a lower low. Once the long candle closes, your entry will be 1 tick above the wick (green line) and stop loss will be at the bottom of the bottom wick (red line).
// 
// Below the EMA line, look for a short position. You will have a long candle, then a short candle that opens above the long candle. It will have a higher high and a higher low. Once the short candle closes, your entry will be 1 tick below the wick (green line) and stop loss will be at the top of the top wick (red line).
//

strategy("Trader Rob Reversal Strategy NQ 15min", shorttitle="Official Rob Rev Strat", overlay=true)


//--- Session Input ---
sess = input(defval = "0930-1415", title="Trading Session")
t = time(timeframe.period, sess)
sessionOpen = na(t) ? false : true

flat_time = input(defval = "1515-1558", title="Close All Open Trades")
ft = time(timeframe.period, flat_time)
flatOpen = na(ft) ? false : true


// Calculate start/end date and time condition
startDate = input(timestamp('2018-12-24T00:00:00'),group = "ALL STRATEGY SETTINGS BELOW")
finishDate = input(timestamp('2029-02-26T00:00:00'),group = "ALL STRATEGY SETTINGS BELOW")
time_cond = true


emaColor = input.color(color.orange, title="EMA Color")
emaLength = input.int(8, title="EMA Length")


emaInd = ta.ema(close, emaLength)


rr = input(1.0,"Enter RR",group = "TP/SL CONDITION INPUTS HERE")


sellShapeInput = input.string("Arrow", title="Sell Entry Shape", options=["Arrow", "Triangle"])
buyShapeInput = input.string("Arrow", title="Buy Entry Shape", options=["Arrow", "Triangle"])


sellShapeOption = switch sellShapeInput
    "Arrow" => shape.arrowdown
    "Triangle" => shape.triangledown
   
buyShapeOption = switch buyShapeInput
    "Arrow" => shape.arrowup
    "Triangle" => shape.triangleup


O = open
C = close
H = high
L = low


sellEntry = (C[1] > O[1]) and (C < O) and (H[1] < H) and (C < H[1]) and (C > L[1]) and (L > L[1]) and (C < emaInd) and sessionOpen and time_cond
buyEntry = (C[1] < O[1]) and (C > O) and (H[1] > H) and (L[1] > L) and (C < H[1]) and (C > L[1]) and (C > emaInd) and sessionOpen and time_cond


sellEntry_index = ta.valuewhen(sellEntry,bar_index,0)
sellEntry_hi = ta.valuewhen(sellEntry,high,0)
sellEntry_low = ta.valuewhen(sellEntry,low,0)
buyEntry_index = ta.valuewhen(buyEntry,bar_index,0)
buyEntry_hi = ta.valuewhen(buyEntry,high,0)
buyEntry_lo = ta.valuewhen(buyEntry,low,0)


plotshape(buyEntry, color = color.green, location = location.belowbar, style = buyShapeOption, size = size.small)
plotshape(sellEntry, color = color.red, location = location.abovebar, style = sellShapeOption, size = size.small)
plot(emaInd, color=emaColor)


// Risk Management
entry_price_long = (buyEntry_hi + syminfo.mintick)
entry_price_short = (sellEntry_low - syminfo.mintick)
long_sl_price = (buyEntry_lo-syminfo.mintick)
short_sl_price = (sellEntry_hi + syminfo.mintick)
long_tp_price = ((entry_price_long - long_sl_price)*rr) + entry_price_long
short_tp_price = entry_price_short - ((short_sl_price - entry_price_short)*rr)


long_sl_ticks = (entry_price_long - long_sl_price) / syminfo.mintick
short_sl_ticks = (short_sl_price - entry_price_short) / syminfo.mintick


long_tp_ticks = (long_tp_price - entry_price_long) / syminfo.mintick
short_tp_ticks = (entry_price_short - short_tp_price) / syminfo.mintick


// Positions
if (buyEntry)
    strategy.entry("Long", strategy.long,stop = H + syminfo.mintick)
if strategy.position_size > 0
    strategy.exit("Long Ex","Long", loss = long_sl_ticks, profit = long_tp_ticks, comment_loss = "SL Long", comment_profit = "TP Long")


if (sellEntry)
    strategy.entry("Short", strategy.short,stop = L - syminfo.mintick)
if strategy.position_size < 0
    strategy.exit("Short Ex","Short",loss = short_sl_ticks, profit = short_tp_ticks, comment_loss = "SL Short", comment_profit = "TP Short")


// Cancel order if close beyond ema
if (C < emaInd)
    strategy.cancel("Long")


if (C > emaInd)
    strategy.cancel("Short")


// Go flat at close (for futures funded account)
if strategy.position_size > 0 and flatOpen
    strategy.close_all(comment = "EOD Flat")
if strategy.position_size < 0 and flatOpen
    strategy.close_all(comment = "EOD Flat")
 
//END