Kombinasi strategi pembalikan kuantitatif dan volume


Tanggal Pembuatan: 2023-09-21 21:07:09 Akhirnya memodifikasi: 2023-09-21 21:07:09
menyalin: 0 Jumlah klik: 676
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini adalah kombinasi dari dua strategi perdagangan kuantitatif yang bertujuan untuk menghasilkan sinyal perdagangan yang lebih akurat dan dapat diandalkan. Strategi pertama didasarkan pada reversal harga, dan strategi kedua didasarkan pada analisis volume transaksi.

Prinsip Strategi

Strategi ini terdiri dari dua bagian:

  1. Strategi Pembalikan

Gunakan indikator STO untuk menilai sinyal reversal. Lakukan over jika harga close out naik dua hari dan garis lambat STO di bawah 50; kosongkan jika harga close out turun dua hari dan garis cepat STO di atas 50.

  1. Strategi volume transaksi

Hitung rasio volume transaksi dalam periode tertentu, menilai arah polygon, dan melakukan pengolahan rata-rata.

Kedua bagian strategi ini sama yaitu lebih banyak berarti lebih banyak, dan sama artinya kosong berarti kosong.

Sinyal kombinasi meningkatkan kualitas sinyal, dan kemungkinan munculnya sinyal palsu akan berkurang secara signifikan.

Keunggulan Strategis

  • Kombinasi dua strategi independen untuk meningkatkan akurasi sinyal
  • Strategi Reverse Capture untuk Mengambil Kesempatan, Strategi Volume untuk Memutuskan Masa Depan
  • Dua jenis strategi saling memverifikasi untuk mengurangi sinyal palsu
  • Kombinasi sederhana, langsung, dan mudah diterapkan
  • Parameter yang dapat dioptimalkan secara independen untuk setiap bagian dari strategi

Risiko Strategis

  • Strategi Reversal Mudah Tertipu, Butuh Penarikan Diri yang Kuat
  • Analisis volume pengiriman mungkin terlambat
  • Berdasarkan indikator kuantitatif saja, perlu ditambah dengan analisis teknis
  • Seri data yang lebih panjang trained1 untuk menghitung garis rata-rata
  • Parameter varietas berbeda tidak selalu universal, perlu dioptimalkan secara individual

Langkah-langkah berikut dapat mengurangi risiko:

  • Optimalkan parameter STO untuk meningkatkan kemampuan reverse recognition
  • Terkonfirmasi Penembusan Volume Transaksi Bersama Indikator Lainnya
  • Optimalkan parameter periodik rata-rata
  • Penghakiman tambahan dengan bentuk teknologi grafis
  • Parameter pengujian berdasarkan varietas

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Parameter terbaik untuk menguji indikator STO

Menyesuaikan parameter K, D, dan lain-lain untuk menemukan kombinasi terbaik

  1. Verifikasi ulang dari terobosan lalu lintas

Menambahkan penilaian tambahan untuk MACD, BOLL, dan lainnya

  1. Optimalkan parameter periodik rata-rata

Pengujian parameter siklus yang berbeda memberikan penilaian yang lebih stabil

  1. Memperkenalkan bentuk grafik berdasarkan sinyal kombinasi

Misalnya, kembali ke permainan saat terjadi defisiensi.

  1. Kombinasi parameter uji berdasarkan varietas

Parameter yang berbeda tidak selalu sama, perlu diuji secara terpisah

Meringkaskan

Strategi ini menggunakan kombinasi reversal dan volume transaksi dua jenis strategi yang berbeda, saling memverifikasi, yang dapat secara efektif meningkatkan kualitas dan akurasi sinyal. Tetapi juga perlu memperhatikan optimasi parameter, indikator teknis tambahan, dan lain-lain untuk meningkatkan efektivitas strategi. Kita dapat mendapatkan strategi kombinasi yang benar-benar stabil dan andal dengan terus menguji hasil pengembalian, menyesuaikan aturan parameter, dan memverifikasi di lapangan.

Kode Sumber Strategi
/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/10/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
// This is another version of FVE indicator that we have posted earlier 
// in this forum.
// This version has an important enhancement to the previous one that`s 
// especially useful with intraday minute charts.
// Due to the volatility had not been taken into account to avoid the extra 
// complication in the formula, the previous formula has some drawbacks:
// The main drawback is that the constant cutoff coefficient will overestimate 
// price changes in minute charts and underestimate corresponding changes in 
// weekly or monthly charts.
// And now the indicator uses adaptive cutoff coefficient which will adjust to 
// all time frames automatically.
//
// 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


FVI(Samples,Perma,Cintra,Cinter) =>
    pos = 0
    xhl2 = hl2
    xhlc3 = hlc3
    xClose = close
    xIntra = log(high) - log(low)
    xInter = log(xhlc3) - log(xhlc3[1])
    xStDevIntra = stdev(sma(xIntra, Samples) , Samples)
    xStDevInter = stdev(sma(xInter, Samples) , Samples)
    xVolume = volume
    TP = xhlc3
    TP1 = xhlc3[1]
    Intra = xIntra
    Vintra = xStDevIntra
    Inter = xInter
    Vinter = xStDevInter
    CutOff = Cintra * Vintra + Cinter * Vinter
    MF = xClose - xhl2 + TP - TP1
    FveFactor =  iff(MF > CutOff * xClose, 1, 
                  iff(MF < -1 * CutOff * xClose, -1,  0))
    xVolumePlusMinus = xVolume * FveFactor
    Fvesum = sum(xVolumePlusMinus, Samples)
    VolSum = sum(xVolume, Samples)
    xFVE = (Fvesum / VolSum) * 100
    xEMAFVE = ema(xFVE, Perma)
    pos :=iff(xFVE > xEMAFVE, 1,
    	   iff(xFVE < xEMAFVE, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Volatility Finite Volume Elements", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Samples = input(22, minval=1)
Perma = input(40, minval=1)
Cintra = input(0.1)
Cinter = input(0.1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFVI = FVI(Samples,Perma,Cintra,Cinter)
pos = iff(posReversal123 == 1 and posFVI == 1 , 1,
	   iff(posReversal123 == -1 and posFVI == -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 )