
Strategi penembusan berbalik dua hala adalah strategi gabungan yang menggabungkan strategi 123 berbalik dan strategi selisih harga dan hala. Gagasan utama strategi ini adalah untuk menghasilkan isyarat perdagangan apabila selisih harga dan hala yang ditetapkan dalam tempoh 123 berbalik membentuk isyarat yang sama.
Taktik ini terdiri daripada dua bahagian:
Isyarat perdagangan strategi 123 berbalik adalah: harga penutupan dua hari berturut-turut berbalik ((iaitu harga penutupan hari sebelumnya lebih tinggi, penutupan hari berikutnya lebih rendah; atau penutupan hari sebelumnya lebih rendah, penutupan hari kedua lebih tinggi), sementara pada hari ke-9 garis penunjuk K acak berada di bawah tahap tertentu ((default 50), yang membentuk isyarat membeli; harga penutupan dua hari berturut-turut berbalik, sementara pada hari ke-9 garis penunjuk K acak lebih tinggi daripada tahap tertentu ((default 50), yang membentuk isyarat menjual.
Strategi selisih harga dengan garis rata-rata, adalah peratusan selisih harga dengan garis rata-rata tempoh yang ditetapkan (default 14 hari). Apabila selisihnya kurang dari tahap tertentu (default 3%) menghasilkan isyarat beli, dan apabila selisihnya lebih besar daripada tahap tertentu (default 0.54%) menghasilkan isyarat jual.
Strategi terbalik dua garis rata untuk memecahkan strategi ini hanya akan menghasilkan isyarat perdagangan sebenar apabila kedua-dua strategi yang disebutkan di atas berlawanan arah, iaitu kedua-duanya untuk membeli atau kedua-duanya untuk menjual.
Strategi terobosan reversal linear ganda menggabungkan kelebihan strategi reversal dan strategi trend.
123 Strategi pembalikan sebagai strategi pembalikan, dapat menangkap peluang pembalikan ketika harga berbalik. Dan strategi jurang harga dan rata-rata sebagai strategi pemantauan trend, dapat menangkap trend di garis yang lebih panjang. Kedua-duanya digabungkan, dapat menangkap pembalikan harga jangka pendek tepat pada masanya, dan dapat menangkap trend jangka panjang, untuk mengelakkan terikat.
Di samping itu, dengan memerlukan dua strategi isyarat selaras, ia dapat mengurangkan jumlah transaksi yang tidak sah dan meningkatkan nisbah bising.
Walaupun strategi dua hala yang bertukar-tukar menggunakan kelebihan kedua-dua strategi, ia juga mewarisi risiko masing-masing.
Bagi 123 bahagian pembalikan, pembalikan dua hari berturut-turut tidak dapat memastikan pembalikan harga sepenuhnya, mungkin pembalikan palsu yang disebabkan oleh pergerakan pemulihan jangka pendek. Selain itu, parameter penunjuk rawak yang tidak betul juga boleh menyebabkan kualiti isyarat menurun.
Untuk bahagian jurang harga dan garis purata, parameter garis purata yang tidak betul boleh menyebabkan lag isyarat. Selain itu, jurang harga dan garis purata tidak dapat menentukan arah trend, hanya dapat menghasilkan isyarat secara mekanikal.
Secara keseluruhannya, risiko utama strategi ini adalah parameter yang tidak betul dan kesalahan pertimbangan. Risiko boleh dielakkan dengan mengoptimumkan parameter, menetapkan stop loss, atau perdagangan campur tangan buatan.
Strategi penembusan balik dua hala boleh dioptimumkan dalam beberapa aspek:
Dengan menggabungkan pelbagai cara, ia diharapkan dapat meningkatkan lagi kestabilan dan tahap keuntungan strategi tersebut.
Strategi penembusan reversal dua garis lurus menggunakan strategi reversal dan strategi trend secara komprehensif, menghasilkan isyarat perdagangan sebenar pada masa yang sama dengan kedua-dua isyarat strategi. Ia dapat menangkap peluang pembalikan harga jangka pendek dan dapat mengikuti trend jangka panjang, dan mengelakkan terhalang.
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 13/04/2021
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Percent difference between price and MA
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
DBP_MA(Length,SellZone,BuyZone) =>
pos = 0.0
xSMA = sma(close, Length)
nRes = abs(close - xSMA) * 100 / close
pos:= iff(nRes < BuyZone, 1,
iff(nRes > SellZone, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Difference between price and MA", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Difference between price and MA ----")
LengthDBP = input(14, minval=1)
SellZone = input(0.54, minval=0.01, step = 0.01)
BuyZone = input(0.03, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDBP_MA = DBP_MA(LengthDBP,SellZone,BuyZone)
pos = iff(posReversal123 == 1 and posDBP_MA == 1 , 1,
iff(posReversal123 == -1 and posDBP_MA == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1 , 1, pos))
if (possig == 1 )
strategy.entry("Long", strategy.long)
if (possig == -1 )
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )