Strategi ini menggunakan mekanisme penjejakan dua arah, digabungkan dengan isyarat pembalikan harga dan penunjuk jumlah, untuk merealisasikan perdagangan kuantitatif automatik. Kelebihannya terbesar terletak pada kawalan risiko yang boleh dipercayai dengan mengesan stop loss untuk mengunci keuntungan dan mengelakkan pengembangan kerugian. Sementara itu, isyarat perdagangan pembalikan meningkatkan kadar kemenangan strategi.
Strategi ini terdiri daripada dua sub-strategi. Sub-strategi pertama menggunakan penunjuk stokastik untuk menentukan isyarat pembalikan harga. Logik tertentu adalah:
Jika harga penutupan meningkat selama dua hari berturut-turut, dan garis Slow K 9 hari adalah lebih rendah daripada 50, pergi panjang; Jika harga penutupan jatuh selama dua hari berturut-turut, dan garis Fast K 9 hari lebih tinggi daripada 50, pergi pendek.
Sub-strategi kedua menggabungkan penunjuk jumlah dagangan untuk menilai kekuatan momentum. Khususnya, jumlah dagangan semasa dibandingkan dengan jumlah dagangan purata 40 hari. Jika jumlah dagangan semasa lebih besar daripada purata, ia dianggap sebagai jumlah agresif, yang tergolong dalam isyarat pembalikan untuk pergi pendek. Jika jumlah dagangan semasa kurang daripada purata, ia dianggap sebagai jumlah turun, yang tergolong dalam isyarat pembalikan untuk pergi panjang.
Isyarat perdagangan akhir adalah persimpangan isyarat dari kedua-dua sub-strategi. iaitu, kedudukan akan dibuka hanya apabila kedua-dua sub-strategi memberikan isyarat secara serentak. Dengan menggunakan kaedah
Strategi ini boleh dioptimumkan lagi dalam aspek berikut:
Ringkasnya, strategi ini berdasarkan terutamanya pada penjejakan dua arah dan pembalikan harga, ditambah analisis momentum jumlah untuk meningkatkan kualiti isyarat dengan pengesahan berganda. Dalam aplikasi sebenar, ujian dan pengoptimuman lanjut masih diperlukan, terutama untuk melindungi daripada risiko kehilangan berhenti dan pengurusan modal, untuk mengelakkan pengeluaran berlebihan yang membawa kepada penghapusan. Tetapi secara umum, strategi ini menggunakan pelbagai teknik perdagangan kuantitatif dengan logika yang jelas, dan bernilai penyelidikan mendalam.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 16/11/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 // Volume and SMA // // 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 VSAVol(Length) => pos = 0.0 xSMA_vol = sma(volume, Length) pos := iff(volume > xSMA_vol, -1, iff(volume < xSMA_vol, 1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Volume SMA", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- Length_MAVol = input(40, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posVSAVol = VSAVol(Length_MAVol) pos = iff(posReversal123 == 1 and posVSAVol == 1 , 1, iff(posReversal123 == -1 and posVSAVol == -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 )