Strategi Big Surge Big Fall

Penulis:ChaoZhang, Tarikh: 2023-11-06 15:48:22
Tag:

img

Ringkasan

Strategi Big Surge Big Fall mengesan lilin bullish dan bearish besar untuk memasuki kedudukan. Ia pergi pendek apabila mengesan lilin bullish besar dan pergi panjang apabila mengesan lilin bearish besar. Stop loss diletakkan di bawah bawah lilin isyarat (kebalikannya untuk panjang), dan mengambil keuntungan ditetapkan pada 1 kali stop loss. Pengguna boleh menentukan saiz minimum lilin bullish / bearish, dan kelipatan julat bar purata dalam tempoh tertentu.

Logika Strategi

Logik teras strategi ini ialah:

  1. Mengira julat candlestick semasa (tinggi - rendah) dan saiz badan candlestick (positif jika ditutup > terbuka, negatif jika ditutup < terbuka)

  2. Mengira julat purata sepanjang N candlesticks yang lalu

  3. Periksa sama ada lilin semasa memenuhi: julat >= julat purata x kelipatan dan saiz badan >= julat x pekali saiz badan min

  4. Jika syarat-syarat di atas dipenuhi, isyarat dicetuskan: pergi pendek pada candlestick bullish, pergi panjang pada candlestick bearish

  5. Pilihan untuk membolehkan stop loss dan mengambil keuntungan: Stop loss pada tahap rendah ditambah pekali stop loss x julat; mengambil keuntungan pada 1 x stop loss

Penapis saiz badan tidak termasuk doji. Julat purata dinamik menyesuaikan diri dengan perubahan pasaran. Stop loss dan mengambil keuntungan membolehkan kawalan penarikan yang munasabah.

Kelebihan

Kelebihan terbesar strategi ini adalah menangkap isyarat pembalikan trend berkualiti tinggi, berdasarkan dua penilaian:

  1. Lilin bullish/bearish yang besar mungkin menunjukkan trend telah habis selepas pergerakan yang diperpanjang

  2. Julat yang luar biasa besar melebihi purata dinamik mengesahkan signifikansi

Di samping itu, tetapan stop loss dan mengambil keuntungan adalah munasabah, membolehkan kawalan kerugian yang berkesan sambil tidak mengejar.

Secara keseluruhan, strategi ini berjaya mengenal pasti titik perubahan struktur yang berkualiti tinggi, membolehkan pelaksanaan yang cekap.

Risiko

Risiko utama datang dari dua aspek:

  1. Bar besar boleh berhenti kehilangan memburu, mewujudkan isyarat palsu

  2. Stop loss mungkin terlalu luas untuk mengawal kerugian secara berkesan

Untuk risiko pertama, menambah penapis saiz minimum boleh mengurangkan isyarat palsu tetapi juga kehilangan peluang.

Untuk risiko kedua, menyesuaikan pekali stop loss boleh mengoptimumkan berhenti berhampiran sokongan tanpa terlalu ketat.

Peluang Peningkatan

Terdapat beberapa cara untuk meningkatkan lagi strategi ini:

  1. Tambah penapis arah trend untuk mengelakkan perdagangan kontra-trend

  2. Mengoptimumkan parameter melalui backtesting untuk mencari kombinasi terbaik

  3. Tambah penapis kelantangan untuk memastikan jumlah yang tinggi pada lilin besar

  4. Pertimbangkan penapis tambahan seperti purata bergerak, Bollinger Bands untuk mengurangkan isyarat palsu

  5. Parameter ujian di seluruh produk yang berbeza untuk pengoptimuman

  6. Tambah kerugian hentian untuk pelarasan dinamik berdasarkan tindakan harga

  7. Pertimbangkan peluang masuk semula selepas stop loss awal

Dengan penambahbaikan di atas, strategi ini boleh menjadi lebih berkesan dan meningkatkan kebarangkalian keuntungan.

Kesimpulan

Strategi Big Surge Big Fall mendapat keuntungan daripada pembalikan lilin yang besar dengan pengurusan stop loss dan mengambil keuntungan. Ia berjaya mengenal pasti titik perubahan struktur berkualiti tinggi, menyediakan maklumat berharga untuk peniaga trend. Dengan parameter dan pengoptimuman logik, strategi ini boleh menjadi alat keputusan yang praktikal. Logiknya yang mudah dan ekonomi intuitif juga menjadikannya mudah difahami dan digunakan. Secara keseluruhan, strategi ini menyediakan kerangka kerja yang kukuh yang patut diteliti dan dilaksanakan.


/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 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/
// © tweakerID

// This strategy detects and uses big bars to enter a position. When the Big Bar 
// is bearish (red candle) the position will be long and viceversa
// for short positions. The stop loss (optional) is placed on the low of the 
// candle used to trigger the position and user inputs allow you to modify the
// size of the SL. Take profit is placed on a reward ratio of 1. User can also modify 
// the size of the bar body used to determine if we have a real Big Bar and
// filter out Doji bars. Big Bars are determined relative to the previous X period size, 
// which can also be modified, as well as the required size of the Big Bar relative to this period average.

//@version=4
strategy("Big Bar Strategy", overlay=false)

direction = input(0, title = "Direction (Long=1, Both=0, Short=-1 ", type=input.integer, minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

//Inputs
barsizemult=input(1, step=.1, title="SL Mult")
TPbarsizemult=input(1, step=.1, title="TP Mult")
barsizeThreshold=input(.5, step=.1, minval=.5, maxval=.9, title="Bar Body Size")
period=input(10)
mult=input(2, step=.2, title="Big Size Avg Mult to determine Big Bar")
i_reverse=input(false, title="Reverse Trades")
SLon=input(false, title="Use SL / TP")

//Calculations
barsize=high-low
barbodysize=close>open?(open-close)*-1:(open-close)
barsizeavg=sum(barsize, period)/period
bigbar=barsize >= barsizeavg*mult and barbodysize>barsize*barsizeThreshold

//Entry Logic
longCondition = close < open and bigbar //and strategy.position_size==0
shortCondition = close > open and bigbar //and strategy.position_size==0

//SL & TP Calculations
longTP=strategy.position_avg_price + (valuewhen(longCondition,barsize,0)*TPbarsizemult)
longSL=strategy.position_avg_price - (valuewhen(longCondition,barsize,0)*barsizemult)
shortTP=strategy.position_avg_price - (valuewhen(shortCondition,barsize,0)*TPbarsizemult)
shortSL=strategy.position_avg_price + (valuewhen(shortCondition,barsize,0)*barsizemult)
TP=strategy.position_size>0?longTP:shortTP
SL=strategy.position_size>0?longSL:shortSL

//Entries
if (longCondition)
    strategy.entry("long", long=not i_reverse?true:false)
    alert("Big Bar")
if (shortCondition)
    strategy.entry("short", long=not i_reverse?false:true)
    alert("Big Bar")
if SLon
    strategy.exit("SL & TP", "long", stop=SL, limit=TP)
    strategy.exit("SL & TP", "short", stop=SL, limit=TP)
    
// Plots
barcolor(bigbar ? color.white : na)
plot(barsizeavg, transp=100, title="Barsize Avg")
plot(barsize, transp=100, title="Bar Size")
plot(barbodysize, transp=100, title="Bar Body Size")
plot(SLon?TP:na, color=color.green, style=plot.style_cross, title="TP")
plot(SLon?SL:na, color=color.red, style=plot.style_cross, title="SL")
plotshape(longCondition ? 1 : na, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bullish Setup")
plotshape(shortCondition ? 1 : na, style=shape.triangledown, location=location.abovebar, color=color.red, title="Bearish Setup")



Lebih lanjut