Strategi ini mengenal pasti dan mengesan trend berdasarkan penunjuk penyimpangan harga yang digabungkan dengan kawasan retracement Fibonacci. Isyarat perdagangan dihasilkan apabila harga menyimpang lebih jauh dari satu arah.
Strategi ini menggunakan VWAP sebagai garisan titik tengah harga. Kemudian jalur atas dan bawah 1.618 dan 2.618 penyimpangan standard turun naik harga dikira. Isyarat panjang dihasilkan apabila harga memecahkan jalur bawah ke atas. Isyarat pendek dihasilkan apabila harga memecahkan jalur atas ke bawah.
Isyarat stop loss EXIT selepas membuka kedudukan panjang atau pendek adalah: garis stop loss untuk kedudukan panjang adalah jalur bawah, dan untuk kedudukan pendek adalah jalur atas.
Secara khusus, ia melibatkan langkah-langkah berikut:
Mengira VWAP sebagai garisan titik tengah harga
Mengira penyimpangan standard sd harga sebagai penunjuk turun naik harga
Mengira jalur atas dan bawah berdasarkan sd. Band atas adalah VWAP + 1.618sd dan VWAP + 2.618Band bawah ialah VWAP - 1.618sd dan VWAP - 2.618Sd.
Isyarat panjang dihasilkan apabila harga memecahkan jalur bawah 1.618 ke atas. Isyarat pendek dihasilkan apabila harga memecahkan jalur atas 1.618 ke bawah.
Long stop loss EXIT: harga pecah melalui 2.618 band bawah; Short stop loss EXIT: harga pecah melalui 2.618 band atas.
Strategi ini mempunyai kelebihan berikut:
Penunjuk penyimpangan harga dapat menentukan trend harga dengan berkesan dan mengesan trend
Kawasan retracement Fibonacci membuat pintu masuk dan stop loss keluar lebih jelas
VWAP sebagai garisan titik tengah harga juga meningkatkan nilai rujukan penunjuk
Parameter boleh diselaraskan untuk memenuhi produk dan jangka masa yang berbeza
Strategi ini juga mempunyai beberapa risiko:
Ia mungkin mengalami kerugian yang lebih besar semasa pembalikan trend
Tetapan parameter yang tidak betul juga boleh mempengaruhi prestasi strategi
Terdapat risiko stop loss yang lebih tinggi semasa turun naik harga yang ganas
Tindakan balas:
Memendekkan tempoh pegangan dan menghentikan kerugian tepat pada masanya
Mengoptimumkan parameter untuk mencari kombinasi parameter terbaik
Meningkatkan pengurusan saiz kedudukan untuk mengawal kerugian tunggal
Strategi ini juga boleh dioptimumkan dalam bidang berikut:
Menggabungkan penunjuk trend untuk mengelakkan perdagangan kontra-trend
Tambah mekanisme pengurusan saiz kedudukan
Mengoptimumkan tetapan parameter
Uji balik dan optimumkan dalam pelbagai jangka masa
Strategi ini mengenal pasti dan mengesan trend berdasarkan konsep penyimpangan harga yang digabungkan dengan VWAP dan band penyimpangan standard Fibonacci. Berbanding dengan menggunakan penunjuk tunggal seperti purata bergerak, strategi ini mempunyai penilaian dan kawalan risiko yang lebih jelas. Melalui penyesuaian parameter dan pengoptimuman, strategi dapat disesuaikan dengan produk dan jangka masa yang berbeza untuk mencapai prestasi yang lebih baik.
/*backtest start: 2024-01-14 00:00:00 end: 2024-01-21 00:00:00 period: 1m basePeriod: 1m 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/ // © Mysteriown //@version=4 strategy(title="VWAP + Fibo Dev Extensions Strategy", overlay=true, pyramiding=5, commission_value=0.08) // ------------------------------------- // ------- Inputs Fibos Values --------- // ------------------------------------- fib1 = input(title="Fibo extension 1", type=input.float, defval=1.618) fib2 = input(title="Fibo extension 2", type=input.float, defval=2.618) reso = input(title="Resolution VWAP", type=input.resolution, defval="W") dev = input(title="Deviation value min.", type=input.integer, defval=150) // ------------------------------------- // -------- VWAP Calculations ---------- // ------------------------------------- t = time(reso) debut = na(t[1]) or t > t[1] addsource = hlc3 * volume addvol = volume addsource := debut ? addsource : addsource + addsource[1] addvol := debut ? addvol : addvol + addvol[1] VWAP = addsource / addvol sn = 0.0 sn := debut ? sn : sn[1] + volume * (hlc3 - VWAP[1]) * (hlc3 - VWAP) sd = sqrt(sn / addvol) Fibp2 = VWAP + fib2 * sd Fibp1 = VWAP + fib1 * sd Fibm1 = VWAP - fib1 * sd Fibm2 = VWAP - fib2 * sd // ------------------------------------- // -------------- Plots ---------------- // ------------------------------------- plot(VWAP, title="VWAP", color=color.orange) pFibp2 = plot(Fibp2, color=color.red) pFibp1 = plot(Fibp1, color=color.red) pFibm1 = plot(Fibm1, color=color.lime) pFibm2 = plot(Fibm2, color=color.lime) fill(pFibp2,pFibp1, color.red) fill(pFibm2,pFibm1, color.lime) // ------------------------------------- // ------------ Positions -------------- // ------------------------------------- bull = crossunder(low[1],Fibm1[1]) and low[1]>=Fibm2[1] and low>Fibm2 and low<Fibm1 and sd>dev bear = crossover(high[1],Fibp1[1]) and high[1]<=Fibp2[1] and high<Fibp2 and high>Fibp1 and sd>dev //plotshape(bear, title='Bear', style=shape.triangledown, location=location.abovebar, color=color.red, offset=0) //plotshape(bull, title='Bull', style=shape.triangleup, location=location.belowbar, color=color.green, offset=0) // ------------------------------------- // --------- Strategy Orders ----------- // ------------------------------------- strategy.entry("Long", true, when = bull) strategy.close("Long", when = crossover(high,VWAP) or crossunder(low,Fibm2)) strategy.entry("Short", false, when = bear) strategy.close("Short", when = crossunder(low,VWAP) or crossover(high,Fibp2))