
Strategi pembalikan silang dua baris adalah strategi pengesanan trend yang menggabungkan strategi pembalikan 123 dan strategi pendorong trend DiNapoli untuk menghasilkan isyarat perdagangan melalui silang dua baris untuk mencapai fungsi mengesan trend pasaran.
Strategi ini terdiri daripada dua bahagian:
123 Strategi pembalikan: Strategi ini menggunakan penunjuk stochastic untuk menghasilkan isyarat. Ia menghasilkan isyarat beli apabila harga tutup naik selepas turun selama dua hari berturut-turut dan garis cepat stochastic berada di bawah garis lama dan garis cepat berada di bawah 50. Ia menghasilkan isyarat jual apabila harga tutup naik selepas turun selama dua hari berturut-turut dan garis cepat stochastic berada di atas garis lama dan garis cepat berada di atas 50.
DiNapoli ke arah strategi pengayun trend: Strategi ini menggunakan purata bergerak harga, menghasilkan isyarat perdagangan apabila harga lebih tinggi atau lebih rendah daripada purata bergerak. Khususnya, menghasilkan isyarat beli apabila harga melebihi purata bergerak nilai Trigger positif, menghasilkan isyarat jual apabila harga lebih rendah daripada purata bergerak nilai Trigger negatif.
Kedua-dua strategi di atas masing-masing menghasilkan isyarat perdagangan yang berasingan, strategi ini menggabungkan mereka, dan strategi ini menghasilkan arahan perdagangan sebenar apabila isyarat perdagangan kedua-duanya sama, iaitu apabila dua garis silang membentuk isyarat arah, atau tidak melakukan apa-apa operasi.
Strategi ini menggabungkan isyarat dagangan dua hala untuk mengesan trend pasaran dengan berkesan dan mempunyai kelebihan berikut:
Mengambil manfaat sepenuhnya daripada kefahaman dan kecenderungan indikator stochastic, mengelakkan kerugian yang disebabkan oleh kesalahan isyarat indikator tunggal.
Indeks DiNapoli dapat mengesan trend dengan berkesan, dan mengelakkan kedudukan yang tidak perlu disebabkan oleh turun naik rawak.
Penyelesaian dua baris secara berkesan mengurangkan isyarat palsu, meningkatkan kualiti isyarat, dan memberikan asas yang kuat untuk menilai arah pergerakan.
Parameter strategi boleh disesuaikan, pengguna boleh memilih kombinasi parameter mengikut keutamaan peribadi, fleksibel untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Strategi ini juga mempunyai risiko:
Dalam pasaran lembu, strategi mungkin terlalu berhati-hati kerana parameter penunjuk, yang menyebabkan kehilangan peluang membeli yang baik. Parameter boleh disesuaikan dengan baik untuk menjadikan strategi lebih positif.
Dalam pasaran beruang, isyarat silang dua baris boleh ditangguhkan, membawa kepada fenomena overbought dan oversold, dengan tepat mengurangkan kitaran purata, menjadikan strategi lebih sensitif.
Sekiranya berlaku satu sisi yang besar, isyarat persilangan dua baris mungkin lambat, dan anda harus menetapkan stop loss untuk mengawal kerugian.
Strategi ini boleh dioptimumkan melalui:
Uji dan optimumkan parameter stochastic dan DiNapoli untuk mencari kombinasi parameter terbaik.
Menambah petunjuk penilaian tambahan seperti indikator Volume, memperkayakan logik dalaman strategi, meningkatkan ketepatan isyarat.
Menggunakan kaedah pembelajaran mesin untuk melatih dan mengoptimumkan parameter strategi dan peraturan penjanaan isyarat untuk menyesuaikan diri dengan perubahan pasaran secara lebih menyeluruh.
Gabungan dengan penunjuk teknologi canggih untuk menilai struktur tempatan, membezakan isyarat garis pendek dan garis panjang, membolehkan strategi berfungsi dalam jangka masa yang lebih lama.
Strategi pembalikan silang dua baris menggunakan gabungan dua jenis indikator untuk membentuk isyarat perdagangan silang dua baris, dapat mengesan trend pasaran dengan berkesan, memperoleh keuntungan yang lebih baik dengan syarat mengawal risiko, merupakan strategi pengesanan trend yang boleh dipercayai. Strategi ini dapat terus diperbaiki dan ditingkatkan dengan cara pengoptimuman parameter dan penambahan petunjuk tambahan, dan mempunyai prospek aplikasi yang luas.
/*backtest
start: 2023-10-24 00:00:00
end: 2023-11-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/02/2020
// 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
// DiNapoli Detrended Oscillator Strategy
//
// 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
DiNapoli(Length, Trigger) =>
pos = 0.0
xSMA = sma(close, Length)
nRes = close - xSMA
pos := iff(nRes > Trigger, 1,
iff(nRes <= Trigger, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & DiNapoli Detrended Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDiN = input(14, minval=1)
TriggerDiN = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDiN = DiNapoli(LengthDiN, TriggerDiN)
pos = iff(posReversal123 == 1 and posDiN == 1 , 1,
iff(posReversal123 == -1 and posDiN == -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 )