Strategi Pembalikan Persilangan Garis Ganda


Tanggal Pembuatan: 2023-11-24 17:03:47 Akhirnya memodifikasi: 2023-11-24 17:03:47
menyalin: 0 Jumlah klik: 622
1
fokus pada
1617
Pengikut

Strategi Pembalikan Persilangan Garis Ganda

Ringkasan

Strategi biner crossover adalah strategi pelacakan tren yang menggabungkan strategi 123 reversal dan strategi DiNapoli to trend oscillator untuk menghasilkan sinyal perdagangan melalui biner crossover, yang memungkinkan untuk melacak tren pasar.

Prinsip Strategi

Strategi ini terdiri dari dua bagian:

  1. Strategi 123 reversal: Strategi ini menggunakan indikator stochastic untuk menghasilkan sinyal. Ketika harga close-out naik setelah turun dua hari berturut-turut, dan garis cepat stochastic di bawah garis lambat dan garis cepat di bawah 50, menghasilkan sinyal beli; Ketika harga close-out naik setelah turun dua hari berturut-turut, dan garis cepat stochastic di atas garis lambat dan garis cepat di atas 50, menghasilkan sinyal jual.

  2. Strategi oscillator tren DiNapoli: Strategi ini memanfaatkan harga moving average, menghasilkan sinyal perdagangan ketika harga berada di atas atau di bawah rata-rata bergerak. Secara khusus, menghasilkan sinyal beli ketika harga melebihi nilai Trigger positif moving average, menghasilkan sinyal jual ketika harga di bawah nilai Trigger negatif moving average.

Kedua strategi di atas masing-masing menghasilkan sinyal perdagangan independen, strategi ini mengintegrasikannya, dan strategi ini menghasilkan instruksi perdagangan yang sebenarnya hanya ketika sinyal perdagangan keduanya sama, yaitu ketika silang dua baris membentuk sinyal yang sama, atau tidak ada operasi yang dilakukan.

Analisis Keunggulan

Strategi ini menggabungkan sinyal perdagangan biner untuk secara efektif melacak tren pasar, dengan keuntungan sebagai berikut:

  1. Manfaatkan keunggulan dari penilaian dan tren indikator stokastik untuk menghindari kerugian yang disebabkan oleh kesalahan sinyal indikator tunggal.

  2. Indikator DiNapoli secara efektif mengidentifikasi tren dan menghindari posisi yang tidak perlu karena fluktuasi acak.

  3. Dua garis silang secara efektif mengurangi sinyal palsu, meningkatkan kualitas sinyal, dan memberikan dasar yang kuat untuk menilai arah pergerakan.

  4. Parameter strategi dapat disesuaikan, pengguna dapat memilih kombinasi parameter sesuai dengan preferensi pribadi, dan fleksibel untuk beradaptasi dengan lingkungan pasar yang berbeda.

Analisis risiko

Strategi ini juga memiliki risiko sebagai berikut:

  1. Dalam bull market, strategi mungkin terlalu berhati-hati karena parameter indikator yang disetel, yang menyebabkan kehilangan peluang untuk membeli. Parameter dapat disesuaikan agar strategi lebih positif.

  2. Pada saat bear market, sinyal crossover dua baris dapat tertunda, sehingga terjadi overbought dan oversold. Periode rata-rata harus dipersingkat secara tepat untuk membuat strategi lebih sensitif.

  3. Jika terjadi transaksi unilateral yang besar, sinyal silang dua baris mungkin lambat, dan stop loss harus diatur untuk mengendalikan kerugian.

Arah optimasi

Strategi ini dapat dioptimalkan dengan cara:

  1. Parameter dari indikator stokastik dan indikator DiNapoli diuji dan dioptimalkan untuk menemukan kombinasi optimal.

  2. Menambahkan indikator penilaian tambahan lainnya seperti indikator Volume, memperkaya logika internal strategi, meningkatkan akurasi sinyal.

  3. Menggunakan metode pembelajaran mesin untuk melatih dan mengoptimalkan parameter strategi dan aturan pembuatan sinyal, sehingga lebih selaras dengan perubahan pasar.

  4. Kombinasi dengan indikator teknis canggih untuk menilai struktur lokal, membedakan sinyal garis pendek dan garis panjang menengah, memungkinkan strategi untuk beroperasi dalam beberapa kerangka waktu.

Meringkaskan

Strategi pembalikan silang dua baris menggunakan dua indikator untuk membentuk sinyal perdagangan silang dua baris, dapat secara efektif melacak tren pasar, dengan asumsi pengendalian risiko untuk mendapatkan keuntungan yang lebih baik, merupakan strategi pelacakan tren yang andal. Strategi ini dapat terus-menerus ditingkatkan dan ditingkatkan dengan cara pengoptimalan parameter dan penambahan indikator tambahan, dan memiliki prospek aplikasi yang luas.

Kode Sumber Strategi
/*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 )