
この戦略は,最近の一定期間の取引量の最高値と最低値を計算することによって,自己適応した波動範囲を形成し,現在の周期の取引量がこの範囲を破るときに取引信号を生成する. 信号方向は,陰陽の判断により,単純に有効な追跡市場突発的な大單の戦略に属している.
核心論理は,最近のNサイクルにおける正負の取引量の最大最小値を計算し,自適性波動範囲を形成する.この範囲に基づいて,当期に突破が発生したかどうかを判断する.同時に陰陽線信号を統合して,判断を完了する.
具体的には以下の通りです
この戦略の利点は以下の通りです.
この戦略にはいくつかのリスクがあります.
パラメータ周期を調整し,他の指標のフィルタリングと組み合わせて最適化することができる.
この戦略は以下の方向から最適化できます.
この戦略は,全体的にシンプルで実用的で,自己適応範囲と量価の合併判断によって,突然の一方的な状況を効果的に捉えることができる.しかし,ある程度の誤報の危険性もあるため,パラメータを適切に調整し,他のツールの使用と連携して,最大限の効果を発揮する必要がある.
/*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)