
Die Strategie erzeugt ein anpassungsfähiges Schwankungsbereich, indem sie die Höchst- und Tiefstwerte der letzten bestimmten Periode berechnet und ein Handelssignal erzeugt, wenn die Transaktionsmenge der aktuellen Periode diese Grenze überschreitet. Die Signalrichtung gehört nach dem Urteil der Zwiebeln zu den einfachsten und wirksamsten Strategien, um die Marktausfälle zu verfolgen.
Die Kernlogik ist die Berechnung der höchsten und niedrigsten Werte der positiven und negativen Transaktionen in den letzten N-Zyklen, um einen selbständigen Schwankungsbereich zu bilden. Basierend auf diesem Bereich wird beurteilt, ob es zu einem Durchbruch gekommen ist.
Der Prozess der Berechnung ist wie folgt:
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Optimierung durch Anpassung der Parameter-Periode in Kombination mit anderen Kennzahlen.
Die Strategie kann in folgenden Richtungen optimiert werden:
Die Strategie ist insgesamt einfach und praktisch und kann durch Anpassungsspanne und Summe von Werten und Preisen eine unerwartete einseitige Situation effektiv erfassen. Es besteht jedoch ein gewisses Risiko für Fehlinformationen, die die Parameter entsprechend anpassen und mit anderen Tools kombiniert werden müssen, um die maximale Wirkung zu erzielen.
/*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)