Strategi ini mengira saluran pengembangan Fibonacci berdasarkan purata bergerak untuk mengenal pasti kawasan utama sokongan dan rintangan dan membantu peniaga menjangkakan titik pembalikan yang berpotensi di pasaran.
Inti strategi ini adalah untuk mengira tiga saluran Keltner berdasarkan purata bergerak, yang membantu menentukan sempadan atas dan bawah saluran Fibonacci. tahap pengembangan Fibonacci lalai yang digunakan adalah 1.618, 2.618 dan 4.236.
Apabila menganalisis tindakan harga, peniaga boleh memberi tumpuan kepada Band Fibonacci yang melampau, yang merupakan sempadan atas dan bawah band. Jika harga berdagang di luar band selama beberapa bar dan kemudian kembali ke dalam, ia mungkin menunjukkan pembalikan yang berpotensi. corak ini menunjukkan bahawa harga telah menyimpang sementara dari julat biasa dan mungkin disebabkan oleh pembetulan.
Untuk meningkatkan ketepatan penunjuk Fibonacci Bands, peniaga sering menggunakan beberapa bingkai masa. Dengan menyelaraskan isyarat jangka pendek dengan senario bingkai masa yang lebih besar, peniaga dapat mendapatkan pemahaman yang lebih baik tentang trend pasaran secara keseluruhan.
Selain mengenal pasti potensi pembalikan, peniaga juga boleh menggunakan penunjuk Fibonacci Bands untuk menentukan titik masuk dan keluar. Tahap sokongan dan rintangan jangka pendek boleh diperoleh dari band, memberikan wawasan yang berharga untuk membuat keputusan perdagangan.
Kelebihan utama strategi ini ialah:
Mampu mengenal pasti kawasan sokongan dan rintangan utama untuk membantu meramalkan titik pembalikan harga.
Meningkatkan ketepatan isyarat perdagangan apabila digabungkan dengan analisis pelbagai jangka masa.
Boleh mengenal pasti tempat masuk dan keluar.
Boleh mengukur kekuatan trend pasaran dan arah dengan menganalisis cerun garis tengah.
Menggunakan nisbah semula jadi berdasarkan teori Fibonacci untuk mengenal pasti tahap harga utama.
Risiko utama strategi ini ialah:
Seperti semua penunjuk analisis teknikal, strategi tidak dapat meramalkan tindakan harga dan pembalikan dengan ketepatan 100%.
Tetapan yang salah atau subjektif tahap lanjutan Fibonacci dan parameter Saluran Keltner boleh menjejaskan kebolehpercayaan isyarat.
Harga boleh menembusi pita Fibonacci dan terus berjalan, mengakibatkan kerugian.
Analisis pelbagai jangka masa mungkin tidak selalu boleh digunakan.
Isyarat mungkin kurang boleh dipercayai di pasaran dengan turun naik tinggi atau kecairan rendah.
Untuk mengurangkan risiko ini, mengesahkan isyarat dengan penunjuk lain seperti RSI, menyesuaikan parameter untuk memenuhi keadaan pasaran yang berbeza, menggunakan stop loss untuk mengawal risiko setiap perdagangan.
Strategi ini boleh dioptimumkan dengan beberapa cara:
Uji pelbagai jenis dan panjang parameter untuk mengoptimumkan purata bergerak dan Saluran Keltner untuk lebih sesuai dengan sifat statistik pasaran yang berbeza.
Uji kawasan utama Fibonacci lain seperti 0.5 atau 0.786 sebagai zon lanjutan untuk Fibonacci Bands.
Gabungkan isyarat kemasukan dengan corak harga, jumlah atau penunjuk lain untuk pengesahan.
Mengoptimumkan strategi stop loss untuk keluar lebih awal apabila trend berbalik.
Pengoptimuman uji balik peraturan kemasukan dan keluar.
Ringkasnya, strategi berasaskan saluran Fibonacci untuk mengenal pasti kawasan sokongan / rintangan utama untuk perdagangan pembalikan lilin adalah pendekatan yang berkesan untuk memanfaatkan prinsip nisbah semula jadi untuk membimbing keputusan perdagangan. Strategi ini telah menunjukkan prestasi yang kukuh dalam pelbagai keadaan pasaran. Penambahbaikan lanjut dalam penyesuaian parameter dan kawalan risiko dapat meningkatkan daya tahannya. Secara keseluruhan, ia menyediakan peniaga alat yang cekap untuk mengenal pasti peluang perdagangan di pasaran yang kompleks dan dinamik.
/*backtest start: 2023-10-21 00:00:00 end: 2023-11-20 00:00:00 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/ // © blackcat1402 //@version=5 strategy('[blackcat] L2 Fibonacci Bands', overlay=true) // Define the moving average type and length maType = input.string(title='MA Type', defval='WMA', options=['SMA', 'EMA', 'WMA', 'HMA']) maLength = input.int(title='MA Length', defval=233, minval=1) src = input(title='Data Source', defval=hl2) // Define the Fibonacci expansion levels fib1 = input.float(title='Fibonacci Level 1', defval=1.618, minval=0) fib2 = input.float(title='Fibonacci Level 2', defval=2.618, minval=0) fib3 = input.float(title='Fibonacci Level 3', defval=4.236, minval=0) // Calculate the moving average ma = maType == 'SMA' ? ta.sma(src, maLength) : maType == 'EMA' ? ta.ema(src, maLength) : maType == 'WMA' ? ta.wma(src, maLength) : maType == 'HMA' ? ta.hma(src, maLength) : na // Calculate the Keltner Channels kcMultiplier = input.int(title='Keltner Channel Multiplier', defval=2, minval=0) kcLength = input.int(title='Keltner Channel Length', defval=89, minval=1) kcTrueRange = ta.tr kcAverageTrueRange = ta.sma(kcTrueRange, kcLength) kcUpper = ma + kcMultiplier * kcAverageTrueRange kcLower = ma - kcMultiplier * kcAverageTrueRange // Calculate the Fibonacci Bands fbUpper1 = ma + fib1 * (kcUpper - ma) fbUpper2 = ma + fib2 * (kcUpper - ma) fbUpper3 = ma + fib3 * (kcUpper - ma) fbLower1 = ma - fib1 * (ma - kcLower) fbLower2 = ma - fib2 * (ma - kcLower) fbLower3 = ma - fib3 * (ma - kcLower) // Plot the Fibonacci Bands plot(ma, title='Midband', color=color.new(color.blue, 0), linewidth=2) plot(fbUpper1, title='Upper Band 1', color=color.new(color.green, 0), linewidth=1) plot(fbUpper2, title='Upper Band 2', color=color.new(color.green, 0), linewidth=1) plot(fbUpper3, title='Upper Band 3', color=color.new(color.green, 0), linewidth=1) plot(fbLower1, title='Lower Band 1', color=color.new(color.red, 0), linewidth=1) plot(fbLower2, title='Lower Band 2', color=color.new(color.red, 0), linewidth=1) plot(fbLower3, title='Lower Band 3', color=color.new(color.red, 0), linewidth=1) // Define the entry and exit conditions longCondition = ta.crossover(src, fbUpper3) and ta.rsi(src, 14) > 60 shortCondition = ta.crossunder(src, fbLower3) and ta.rsi(src, 14) < 40 exitCondition = ta.crossover(src, ma) or ta.crossunder(src, ma) // Execute the trades if longCondition strategy.entry('Long', strategy.long) if shortCondition strategy.entry('Short', strategy.short) if exitCondition strategy.close_all()