Strategi ini mengira jumlah urus niaga tertinggi dan terendah dalam tempoh baru-baru ini untuk membentuk julat turun naik adaptif. Apabila jumlah urus niaga kitaran semasa memecahkan julat ini, isyarat perdagangan dihasilkan. Arah isyarat ditentukan oleh lilin Yin Yang, yang merupakan strategi yang mudah dan berkesan untuk mengesan transaksi tunggal yang tiba-tiba besar di pasaran.
Logik teras adalah untuk mengira nilai tertinggi dan terendah jumlah transaksi positif dan negatif dalam kitaran N yang paling baru untuk membentuk julat fluktuasi adaptif. Tentukan sama ada terobosan berlaku dalam tempoh semasa berdasarkan julat ini sambil mengambil kira isyarat garis Yin Yang untuk melengkapkan penghakiman.
Proses pengiraan khusus ialah:
Kelebihan utama strategi ini ialah:
Strategi ini juga mempunyai beberapa risiko:
Penyesuaian parameter kitaran dan menggabungkan penunjuk lain untuk penapisan boleh mengoptimumkan.
Strategi ini boleh dioptimumkan dengan beberapa cara:
Strategi ini secara keseluruhannya mudah dan praktikal. Dengan menggabungkan analisis harga julat dan jumlah yang beradaptasi, ia dapat menangkap pasaran letupan satu hala secara berkesan. Walau bagaimanapun, terdapat juga risiko isyarat palsu tertentu, yang memerlukan tweak parameter yang sesuai dan alat pelengkap sebelum ia dapat mencapai kesan maksimum.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-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/ // © EvoCrypto //@version=4 strategy("Ranged Volume Strategy - evo", shorttitle="Ranged Volume", format=format.volume) // INPUTS { Range_Length = input(5, title="Range Length", minval=1) Heikin_Ashi = input(true, title="Heikin Ashi Colors") Display_Bars = input(true, title="Show Bar Colors") Display_Break = input(true, title="Show Break-Out") Display_Range = input(true, title="Show Range") // } // SETTINGS { Close = Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close Open = Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open Positive = volume Negative = -volume Highest = highest(volume, Range_Length) Lowest = lowest(-volume, Range_Length) Up = Highest > Highest[1] and Close > Open Dn = Highest > Highest[1] and Close < Open Volume_Color = Display_Break and Up ? color.new(#ffeb3b, 0) : Display_Break and Dn ? color.new(#f44336, 0) : Close > Open ? color.new(#00c0ff, 60) : Close < Open ? color.new(#000000, 60) : na // } //PLOTS { plot(Positive, title="Positive Volume", color=Volume_Color, style=plot.style_histogram, linewidth=4) plot(Negative, title="Negative Volume", color=Volume_Color, style=plot.style_histogram, linewidth=4) plot(Display_Range ? Highest : na, title="Highest", color=color.new(#000000, 0), style=plot.style_line, linewidth=2) plot(Display_Range ? Lowest : na, title="Lowest", color=color.new(#000000, 0), style=plot.style_line, linewidth=2) barcolor(Display_Bars ? Volume_Color : na) // } if (Up) strategy.entry("Long Entry", strategy.long) if (Dn) strategy.entry("Short Entry", strategy.short)