Pembalikan dan Pusat Graviti Strategi Dagangan Bersepadu Berdasarkan Multi-Strategi

Penulis:ChaoZhang, Tarikh: 2024-01-03 16:51:03
Tag:

img

Ringkasan

Strategi ini merealisasikan keputusan perdagangan yang lebih stabil dan cekap dengan mengintegrasikan isyarat perdagangan berganda. Satu adalah strategi pembalikan yang menggabungkan isyarat pembalikan harga dan penunjuk stokastik, dan yang lain adalah strategi pecah garis tengah dan saluran harga. Isyarat perdagangan kedua-dua strategi akan AND secara logik, iaitu, kedudukan akan dibuka hanya apabila kedua-dua strategi mengeluarkan isyarat ke arah yang sama pada masa yang sama. Jenis integrasi multi-strategi ini dapat menapis beberapa isyarat yang tidak sah dan mencapai keputusan perdagangan yang lebih boleh dipercayai.

Prinsip Strategi

Bahagian strategi pembalikan menjana isyarat perdagangan apabila harga menunjukkan corak pembalikan selama dua hari perdagangan berturut-turut dan penunjuk stokastik telah memasuki kawasan overbought atau oversold. Ini membolehkan penggunaan kedua-dua isyarat pembalikan harga dan isyarat overbought / oversold untuk pengesahan berganda.

Kedua-dua strategi menangkap peluang nilai dan trend masing-masing. Dengan ANDing isyarat strategi secara logik, kedudukan dibuka hanya apabila kedua-dua strategi mengeluarkan isyarat ke arah yang sama pada masa yang sama. Ini dapat menapis beberapa isyarat yang tidak sah dan menjadikan strategi akhir lebih boleh dipercayai.

Analisis Kelebihan

Kelebihan terbesar strategi ini adalah kestabilan dan kebolehpercayaan isyarat. Gabungan strategi pembalikan dan trend menangkap kedua-dua peluang perdagangan pembalikan dan trend pada masa yang sama tanpa kehilangan pergerakan utama. Sementara itu, operasi AND logik menapis beberapa isyarat yang tidak sah, menjadikan strategi akhir lebih boleh dipercayai dan mengelakkan tertipu oleh bunyi bising.

Di samping itu, gabungan strategi pembalikan dan trend juga mencapai operasi yang stabil di bawah pelbagai bingkai masa. Strategi pembalikan menggunakan isyarat overbought / oversold jangka pendek sementara strategi pusat graviti berdasarkan purata bergerak jangka menengah dan panjang. Bingkai masa pelengkap dapat menghasilkan peluang perdagangan yang berterusan dan stabil.

Analisis Risiko

Risiko terbesar dari strategi ini adalah kegagalan untuk memadankan isyarat dari dua strategi, yang membawa kepada isyarat perdagangan yang tidak mencukupi. Ini boleh berlaku apabila harga terikat julat dan mengumpul tanpa trend arah yang jelas. Apabila harga berayun dalam corak sisi untuk jangka masa yang panjang, sukar untuk isyarat pembalikan dan isyarat trend dihasilkan, mengakibatkan lebih sedikit peluang perdagangan.

Di samping itu, operasi AND logik strategi dual juga boleh kehilangan beberapa peluang dari satu strategi. Apabila hanya satu strategi menghasilkan isyarat perdagangan yang sah, tidak ada kedudukan yang akan dibuka. Ini boleh mengakibatkan kos peluang tertentu.

Untuk mengurangkan risiko, parameter boleh dikurangkan secara sederhana untuk menjadikan isyarat strategi lebih mudah untuk dipadankan dan membuka kedudukan.

Arahan pengoptimuman

Terdapat dua dimensi utama strategi ini boleh dioptimumkan:

Pertama adalah pengoptimuman parameter. Parameter termasuk yang untuk penunjuk Stoch dan saluran garis pusat boleh diuji dan dioptimumkan lagi untuk mendapatkan isyarat yang lebih sejajar. Ini boleh dicapai melalui lebih banyak backtest.

Kedua adalah untuk memperkenalkan mekanisme yang serupa dengan operasi pemilihan saham. Kerana strategi ini lebih sesuai untuk stok dengan trend yang jelas. Oleh itu, jika stok yang memenuhi syarat tertentu dapat dipilih untuk berdagang berdasarkan penunjuk tertentu, ia akan meningkatkan prestasi strategi keseluruhan dengan ketara. Ini memerlukan reka bentuk modul pemilihan saham yang digabungkan dengan trend putaran industri, sistem purata bergerak, dll.

Ringkasan

Strategi ini mencapai pengesahan berganda dan pencocokan keputusan perdagangan pelbagai jangka masa dengan mengintegrasikan strategi pembalikan dan trend, sementara juga menghadapi masalah peluang perdagangan yang berkurangan kerana kesukaran pencocokan isyarat.


/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/07/2019
// 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
// The indicator is based on moving averages. On the basis of these, the 
// "center" of the price is calculated, and price channels are also constructed, 
// which act as corridors for the asset quotations.
//
// 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

CenterOfGravity(Length, m,Percent, SignalLine) =>
    pos = 0
    xLG = linreg(close, Length, m)
    xLG1r = xLG + ((close * Percent) / 100)
    xLG1s = xLG - ((close * Percent) / 100)
    xLG2r = xLG + ((close * Percent) / 100) * 2
    xLG2s = xLG - ((close * Percent) / 100) * 2
    xSignalR = iff(SignalLine == 1, xLG1r, xLG2r)
    xSignalS = iff(SignalLine == 1, xLG1s, xLG2s)
    pos :=  iff(close > xSignalR, 1,
             iff(close < xSignalS, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Center Of Gravity", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCoF = input(20, minval=1)
m = input(5, minval=0)
Percent = input(1, minval=0)
SignalLine = input(1, minval=1, maxval = 2, title = "Trade from line (1 or 2)")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(LengthCoF, KSmoothing, DLength, Level)
posCenterOfGravity = CenterOfGravity(Length, m,Percent, SignalLine)
pos = iff(posReversal123 == 1 and posCenterOfGravity == 1 , 1,
	   iff(posReversal123 == -1 and posCenterOfGravity == -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 )

Lebih lanjut