Kebalikan dan Pusat Gravitasi Strategi Trading Terintegrasi Berdasarkan Multi-strategi

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

img

Gambaran umum

Strategi ini mewujudkan keputusan perdagangan yang lebih stabil dan efisien dengan mengintegrasikan sinyal perdagangan ganda. Salah satunya adalah strategi pembalikan yang menggabungkan sinyal pembalikan harga dan indikator stokastik, dan yang lainnya adalah strategi breakout dari garis tengah dan saluran harga. Sinyal perdagangan dari kedua strategi akan secara logis ANDed, yaitu posisi akan dibuka hanya ketika kedua strategi mengeluarkan sinyal ke arah yang sama pada saat yang sama.

Prinsip Strategi

Bagian strategi pembalikan menghasilkan sinyal perdagangan ketika harga menunjukkan pola pembalikan selama dua hari perdagangan berturut-turut dan indikator stokastik telah memasuki area overbought atau oversold. Ini memungkinkan penggunaan kedua sinyal pembalikan harga dan sinyal overbought / oversold untuk konfirmasi ganda. Bagian pusat gravitasi membangun saluran atas dan bawah di sekitar garis pusat regresi linier harga untuk menghasilkan sinyal perdagangan ketika saluran rusak.

Kedua strategi menangkap peluang nilai dan tren masing-masing. Dengan secara logis ANDing sinyal strategi, posisi dibuka hanya ketika kedua strategi mengeluarkan sinyal ke arah yang sama pada saat yang sama. Ini dapat secara efektif menyaring beberapa sinyal yang tidak valid dan membuat strategi akhir lebih dapat diandalkan.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah stabilitas dan keandalan sinyal. Kombinasi strategi pembalikan dan tren menangkap peluang perdagangan pembalikan dan tren pada saat yang sama tanpa melewatkan gerakan utama. Sementara itu, operasi AND logis menyaring beberapa sinyal yang tidak valid, membuat strategi akhir lebih dapat diandalkan dan menghindari ditipu oleh kebisingan.

Selain itu, kombinasi strategi pembalikan dan tren juga mencapai operasi yang stabil di bawah beberapa kerangka waktu. Strategi pembalikan memanfaatkan sinyal overbought / oversold jangka pendek sementara strategi pusat gravitasi didasarkan pada rata-rata bergerak jangka menengah dan panjang. Kerangka waktu komplementer dapat menghasilkan peluang perdagangan yang berkelanjutan dan stabil.

Analisis Risiko

Risiko terbesar dari strategi ini adalah kegagalan dalam mencocokkan sinyal dari strategi dual, yang menyebabkan sinyal perdagangan yang tidak cukup. Hal ini dapat terjadi ketika harga terikat rentang dan konsolidasi tanpa tren arah yang jelas. Ketika harga berosilasi dalam pola sisi untuk jangka waktu yang lama, sulit untuk sinyal pembalikan dan sinyal tren untuk dihasilkan, sehingga menghasilkan lebih sedikit peluang perdagangan.

Selain itu, operasi AND logis dari strategi dual juga dapat kehilangan beberapa peluang dari strategi tunggal. Ketika hanya satu strategi menghasilkan sinyal perdagangan yang valid, tidak ada posisi yang akan dibuka. Ini dapat mengakibatkan biaya peluang tertentu.

Untuk mengurangi risiko, parameter dapat dikurangi secara moderat untuk membuat sinyal strategi lebih mudah untuk mencocokkan dan membuka posisi.

Arahan Optimasi

Ada dua dimensi utama strategi ini dapat dioptimalkan:

Pertama adalah optimasi parameter. Parameter termasuk yang untuk indikator Stoch dan saluran garis tengah dapat diuji lebih lanjut dan dioptimalkan untuk mendapatkan sinyal yang lebih sejajar. Ini dapat dicapai melalui lebih banyak backtest.

Kedua adalah untuk memperkenalkan mekanisme yang mirip dengan operasi seleksi saham. Karena strategi ini lebih cocok untuk saham dengan tren yang jelas. Oleh karena itu, jika saham yang memenuhi kondisi tertentu dapat dipilih untuk diperdagangkan berdasarkan indikator tertentu, itu akan secara signifikan meningkatkan kinerja strategi secara keseluruhan. Ini membutuhkan desain modul seleksi saham dikombinasikan dengan tren rotasi industri, sistem rata-rata bergerak, dll.

Ringkasan

Strategi ini mencapai konfirmasi ganda dan pencocokan keputusan perdagangan multi-frame dengan mengintegrasikan strategi pembalikan dan tren, sementara juga menghadapi masalah peluang perdagangan yang berkurang karena kesulitan pencocokan sinyal.


/*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 banyak