
Strategi ini memungkinkan perdagangan kuantitatif yang hanya melakukan plus dan tidak kosong dengan membangun garis K rata-rata dan rata-rata bergerak berdasarkan perhitungan Fibonacci, digabungkan dengan berbagai aturan indikator teknis harga. Pengujian awal menunjukkan bahwa strategi ini bekerja dengan baik pada grafik berputar besar.
Strategi ini dilakukan melalui langkah-langkah berikut:
Berdasarkan rangkaian Fibonacci, menghitung harga rata-rata penutupan, harga tertinggi, harga terendah, dan harga pembukaan selama 10 siklus Fibonacci terakhir, dan membangun garis K rata-rata.
Untuk harga tutup rata-rata, menghitung rata-rata pergerakan indeks (EMA) untuk periode 1, 2, 3, 5, 8, 13, 21, 34, dan 55, dan menghitung rata-rata dari 9 EMA, untuk mendapatkan EMA rata-rata.
Siapkan kondisi posisi yang lebih aman: buka posisi lebih banyak ketika bentuk garis K rata-rata menunjukkan sinyal multihead (((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Dengan menghitung fluktuasi harga filter K-line rata-rata, kemudian menggabungkan indikator garis rata untuk mengirimkan sinyal perdagangan, Anda dapat secara efektif mengidentifikasi tren dan mengendalikan risiko perdagangan.
Garis K rata-rata yang dihitung berdasarkan bilangan Fibonacci dapat secara efektif memfilter fluktuasi harga acak dan mengidentifikasi sinyal tren.
Beberapa EMA rata-rata membangun EMA rata-rata, yang dapat meningkatkan stabilitas untuk mendukung resistensi dan meningkatkan kualitas sinyal.
Hanya dengan melakukan lebih banyak dan tidak mengambil posisi kosong dapat mengurangi jumlah transaksi, mengurangi biaya transaksi dan dampak slippage.
Berkinerja lebih baik dalam siklus besar, cocok untuk operasi panjang menengah.
Strategi yang hanya melakukan lebih banyak dapat mengalami kerugian lebih besar di pasar kosong.
EMA rata-rata mudah terlambat dan mungkin kehilangan titik masuk terbaik.
Terlalu banyak mengejar operasi siklus besar, mungkin kehilangan peluang jangka pendek menengah.
Optimasi parameter memiliki ruang terbatas, dan kinerja hard disk mungkin lebih lemah dari hasil pengujian optimasi parameter.
Anda dapat menguji strategi stop loss yang tepat dan berhenti bermain ketika kerugian meningkat.
Anda dapat menggunakan indikator volatilitas seperti ATR, untuk secara dinamis menyesuaikan ukuran posisi.
Anda dapat menguji intervensi yang tepat dalam tren turun untuk melakukan shorting dan meningkatkan keuntungan strategi.
Parameter periodik EMA dapat dioptimalkan untuk menemukan kombinasi parameter optimal.
Strategi ini memiliki keuntungan dalam menghitung rata-rata K-line, serta mengurangi biaya transaksi dengan hanya melakukan lebih banyak operasi. Namun, ada juga risiko pasar dengan hanya melakukan lebih banyak operasi, dan masalah EMA yang tertinggal. Secara keseluruhan, strategi ini mengendalikan risiko perdagangan dari beberapa dimensi, berkinerja baik dalam siklus besar, dan cocok untuk operasi jangka panjang dan menengah.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21
//@version=4
strategy("Fibonacci candle", overlay=false )
//plot of our fibonacci candle
// Fibonacci
// Fn = Fn-1 + Fn-2
// F10 = 55
// 0 1 2 3 5 8 13 21 34 55
avg_close = (close[0] + close[1] + close[2] + close[3] +close[5] + close[8] + close[13]+ close[21] + close[34] + close[55]) / 10
avg_high = (high[0] + high[1] + high[2] + high[3] +high[5] + high[8] + high[13]+ high[21] + high[34] + high[55]) / 10
avg_low = (low[0] + low[1] + low[2] + low[3] +low[5] + low[8] + low[13]+ low[21] + low[34] + low[55]) / 10
avg_open = (open[0] + open[1] + open[2] + open[3] +open[5] + open[8] + open[13]+ open[21] + open[34] + open[55]) / 10
src = avg_close//input(avg_close, title="Source")
out55 = ema(src, 55)
out1 = ema(src, 1)
out2 = ema(src, 2)
out3 = ema(src, 3)
out5 = ema(src, 5)
out8 = ema(src, 8)
out13 = ema(src, 13)
out21 = ema(src, 21)
out34 = ema(src, 34)
avg_ema = (out55 + out1 + out2 + out3+ out5 + out8 + out13 + out21 + out34)/9
plot(avg_ema)
plotcandle(avg_open, avg_high, avg_low, avg_close, title='Title', color = avg_open < avg_close ? color.green : color.red, wickcolor=color.white)
long = avg_open < avg_close and avg_close > avg_close[1] and avg_high > avg_high[1] and avg_close[1] > avg_close[2] and avg_high[1] > avg_high[2]
short = avg_open > avg_close and avg_close < avg_close[1] and avg_low < avg_low[1] and avg_close[1] < avg_close[2] and avg_low[1] < avg_low[2]
strategy.entry("long",1,when=long and avg_close > avg_ema)
strategy.close('long',when=short and avg_close < avg_ema)