Strategi perdagangan pembalikan pengesanan kejutan berganda


Tarikh penciptaan: 2023-10-11 14:47:25 Akhirnya diubah suai: 2023-10-11 14:47:25
Salin: 0 Bilangan klik: 585
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini adalah strategi perdagangan berbalik dengan pengesanan kejutan ganda, yang menggabungkan strategi berbalik indikator rawak dan indikator turun naik Yaken untuk mendapatkan isyarat perdagangan yang lebih dipercayai. Strategi ini bertujuan untuk menangkap keuntungan pada titik-titik trend yang berbalik dan digunakan untuk perdagangan garis panjang dan tengah.

Prinsip Strategi

Strategi ini terdiri daripada dua bahagian:

  1. Strategi pembalikan penunjuk rawak

Bahagian ini menggunakan petunjuk acak untuk menghasilkan isyarat perdagangan. Apabila harga penutupan dua hari berturut-turut lebih rendah daripada harga penutupan hari sebelumnya dan garis cepat lebih tinggi daripada garis lambat, maka anda boleh melakukan perdagangan lebih banyak. Apabila harga penutupan dua hari berturut-turut lebih tinggi daripada harga penutupan hari sebelumnya dan garis cepat lebih rendah daripada garis lambat, maka anda boleh melakukan perdagangan kosong.

  1. Indeks Ketidakseimbangan Yaken

Penunjuk ini mengira perubahan perbezaan antara harga tertinggi dan harga terendah dalam jangka masa tertentu. Apabila perbezaan itu berkembang, menunjukkan kenaikan kadar turun naik, dan boleh dilakukan; apabila perbezaan itu berkurangan, menunjukkan penurunan kadar turun naik, dan boleh dilakukan.

Isyarat perdagangan akhir adalah gabungan dua bahagian isyarat. Isyarat diambil apabila isyarat penunjuk rawak dan isyarat penunjuk kadar turun naik sama; jika kedua-dua isyarat tidak sama, tidak berdagang.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Penggunaan gabungan dua jenis penunjuk boleh meningkatkan ketepatan isyarat.

  2. Menggunakan mekanisme pengesahan dua kali dapat mengurangkan isyarat palsu dan mengawal risiko.

  3. Dengan berbalik sebagai arah perdagangan utama, anda boleh mendapat keuntungan pada titik perubahan trend.

  4. Tetapan parameter fleksibel dan boleh disesuaikan untuk pelbagai jenis dan tempoh.

  5. Parameter penunjuk boleh disesuaikan untuk mencapai keadaan optimum.

Analisis risiko

Strategi ini juga mempunyai risiko:

  1. Isyarat pembalikan mungkin berlaku kesalahan penghakiman, yang menyebabkan kerugian. Parameter boleh disesuaikan dengan betul untuk mengurangkan kemungkinan kesalahan penghakiman.

  2. Apabila kadar turun naik meningkat secara mendadak, terdapat risiko kerugian dalam arah shorting. Anda boleh menetapkan stop loss untuk mengawal risiko.

  3. Apabila keadaan berubah-ubah dengan teruk, pasangan indeks mungkin tidak berfungsi. Pada masa ini, pertimbangan untuk menangguhkan perdagangan dan menunggu indeks kembali stabil.

  4. Perlu memantau kedua-dua penunjuk pada masa yang sama, meningkatkan beban kerja peniaga. Program perdagangan automatik boleh disusun untuk mengurangkan beban kerja.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan:

  1. Uji lebih banyak kombinasi parameter untuk mencari parameter terbaik.

  2. Tambahan penunjuk pengesahan lain, seperti penunjuk kuantiti dan harga, membentuk pengesahan berganda.

  3. Menambah mekanisme penangguhan, seperti penangguhan bergerak, penangguhan selang, dan lain-lain, untuk mengawal risiko.

  4. Mengoptimumkan strategi pengurusan wang, seperti saham tetap, Kelly dan sebagainya, untuk meningkatkan kecekapan keuntungan.

  5. Pelbagai varieti dan parameter kitaran yang berbeza, boleh menguji kebolehgunaan lebih banyak varieti dan kitaran.

ringkaskan

Strategi ini menggabungkan penggunaan indikator ganda untuk membentuk isyarat perdagangan untuk menangkap pasaran berbalik sebagai arah perdagangan utama. Dengan kelebihan seperti ketepatan isyarat yang tinggi, kawalan risiko yang baik, terdapat ruang untuk penambahbaikan. Dengan pengoptimuman parameter, menghentikan kerugian, dan penambahbaikan pengurusan wang, strategi ini dapat dioptimumkan menjadi strategi perdagangan berbalik yang lebih kuat.

Kod sumber strategi
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 29/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
// Chaikin's Volatility indicator compares the spread between a security's
// high and low prices. It quantifies volatility as a widening of the range
// between the high and the low price.
// You can use in the xPrice1 and xPrice2 any series: Open, High, Low, Close, HL2,
// HLC3, OHLC4 and ect...
//
// 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

ChaikinVolatility(Length, ROCLength, Trigger) =>
    pos = 0
    xPrice1 = high
    xPrice2 = low
    xPrice = xPrice1 - xPrice2
    xROC_EMA = roc(ema(xPrice, Length), ROCLength)
    pos := iff(xROC_EMA < Trigger, 1,
	         iff(xROC_EMA > Trigger, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Chaikin Volatility", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCV = input(10, minval=1)
ROCLength = input(12, minval=1)
Trigger = input(0, minval=0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posChaikinVolatility = ChaikinVolatility(LengthCV, ROCLength, Trigger)
pos = iff(posReversal123 == 1 and posChaikinVolatility == 1 , 1,
	   iff(posReversal123 == -1 and posChaikinVolatility == -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 )