Artikel ini menerangkan strategi kuantitatif untuk membentuk isyarat perdagangan melalui pengesahan pelbagai petunjuk. Strategi ini menggunakan penilaian pelbagai petunjuk secara komprehensif untuk meningkatkan kebolehpercayaan isyarat.
I. Prinsip-prinsip Strategi
Strategi ini menggunakan dua teknik perdagangan:
(a) 123 Strategi pembalikan bentuk
Mengira hubungan harga penutupan garisan K untuk menentukan kemungkinan bentuk bawah dan atas;
Menentukan isyarat pembalikan dengan menggunakan penunjuk rawak untuk mengelakkan isyarat yang salah;
(ii) Menyesuaikan penunjuk jumlah ruang kosong
Pengiraan Indeks Keluasan dan Purata Bergeraknya;
Kecenderungan penilaian berdasarkan indeks dan garis rata-rata;
isyarat perdagangan akhir dihasilkan hanya apabila kedua-dua teknik bersetuju.
Dengan cara ini, dengan pengesahan pelbagai indikator, anda boleh menyaring beberapa isyarat palsu dan meningkatkan ketepatan isyarat.
Kedua, kelebihan strategi
Kelebihan utama strategi ini ialah pengesahan kombinasi pelbagai indikator, yang mengelakkan keterbatasan satu indikator dan meningkatkan kestabilan isyarat.
Kelebihan lain ialah penggunaan gabungan dua jenis teknologi yang berbeza, yang meningkatkan lagi kepelbagaian penghakiman.
Akhirnya, penggunaan gabungan juga menyediakan lebih banyak ruang parameter untuk ujian pengoptimuman.
Ketiga, potensi risiko
Namun, strategi ini juga mempunyai masalah:
Pertama, kombinasi pelbagai parameter meningkatkan kesukaran pengoptimuman parameter, yang boleh menyebabkan pengoptimuman yang berlebihan.
Kedua, mungkin terdapat perbezaan antara kedua-dua isyarat teknologi, dan perlu menetapkan peraturan penilaian yang jelas.
Akhirnya, terdapat masalah ketinggalan dalam beberapa indikator seperti indikator rawak.
Empat isi, ringkasan
Artikel ini menerangkan secara terperinci satu strategi untuk melakukan perdagangan kuantitatif melalui pengesahan pelbagai indikator. Ia meningkatkan kualiti isyarat dengan menggunakan kombinasi indikator, tetapi juga perlu memperhatikan kesukaran pengoptimuman parameter dan keterlambatan indikator. Secara keseluruhannya, strategi ini menyediakan kaedah perdagangan yang agak mantap.
/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 21/07/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
// Accumulation is a term used to describe a market controlled by buyers;
// whereas distribution is defined by a market controlled by sellers.
// Williams recommends trading this indicator based on divergences:
// Distribution of the security is indicated when the security is making
// a new high and the A/D indicator is failing to make a new high. Sell.
// Accumulation of the security is indicated when the security is making
// a new low and the A/D indicator is failing to make a new low. Buy.
//
// 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
SWAD(Length) =>
pos = 0.0
xWAD = 0.0
xPrice = close
xWAD:= iff(close > nz(close[1], 0), nz(xWAD[1],0) + close - low[1],
iff(close < nz(close[1],0), nz(xWAD[1],0) + close - high[1],0))
xWADMA = sma(xWAD, Length)
pos:= iff(xWAD > xWADMA, 1,
iff(xWAD < xWADMA, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Smoothed Williams AD", 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, "---- Smoothed Williams AD ----")
LengthWillAD = input(14, step = 1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSWAD = SWAD(LengthWillAD)
pos = iff(posReversal123 == 1 and posSWAD == 1 , 1,
iff(posReversal123 == -1 and posSWAD == -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 )