
Die Binary Average ADX-Strategien identifizieren Trends durch die Kombination von 2⁄20 Average und ADXR und erzeugen ein Handelssignal in der Anfangsphase des Trends. Die Strategie verwendet zunächst einen 2⁄20 Index Moving Average, um die Richtung der Preisentwicklung zu bestimmen, und kombiniert diese dann mit dem ADXR, um das Trendsignal weiter zu bestätigen und so ein zuverlässigeres Handelssignal zu erzeugen.
Die zentrale Logik der ADX-Zeitstrategie basiert auf folgenden Komponenten:
2⁄20 Index bewegliche Durchschnitte (EMA)
ADXR-Indikator
Handelssignale
Die Hauptinnovation der Strategie besteht darin, die ADXR-Indikatoren zu verwenden, um Trends in der Anfangsphase zu identifizieren und mit Signalen der herkömmlichen linearen Strategie zu kombinieren, um die Signalqualität zu verbessern und die Stabilität der Strategie zu erhöhen.
Die wichtigsten Vorteile einer binären ADX-Strategien sind:
Bei der Auswahl einer binären ADX-Strategie bestehen folgende Hauptrisiken:
Die falsche Einstellung der ADXR-Parameter kann zu verpassten Handelschancen führen.
Unter besonderen Umständen kann es zu mehr Falschsignalen kommen.
Die EMA-Parameter sind fest und können nicht an Marktveränderungen angepasst werden.
Es ist unmöglich, die Schwankungsbereiche zu erkennen, was zu zahlreichen ungültigen Transaktionen führen kann.
Bei der Auswahl der ADX-Strategie können folgende Optimierungen vorgenommen werden:
Die EMA-Parameter wurden optimiert, damit sie sich automatisch ändern können.
Der ADXR-Parameterbereich wurde optimiert, um mehr effektive Handelssignale zu enthalten.
Zusätzliche Trend-Beschluss-Indikatoren, kombinierte Signalgenerierung und Qualitätssteigerung.
Erhöhung der Stop-Loss-Strategie, Einstellung von Stop-Standards und Kontrolle des Risikos eines einzelnen Handels.
Optimierung der Geldmanagement-Strategie, um die automatische Anpassung der Positionen an den Kontozustand zu ermöglichen.
Die Dual-Evenline-ADX-Strategien verbessern die Signalqualität durch eine innovative Kombination aus traditionellen Dual-Evenline-Strategien und ADXR-Indikatoren, erhöhen die Strategie-Stabilität, sind in der Lage, Trends effektiv zu identifizieren. Die Strategie hat einen großen Optimierungsraum und kann in vielerlei Hinsicht verbessert werden, was sie in einem komplexeren Markt stark anpassungsfähig und profitabel macht.
/*backtest
start: 2023-11-05 00:00:00
end: 2023-12-05 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 04/04/2022
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// The Average Directional Movement Index Rating (ADXR) measures the strength
// of the Average Directional Movement Index (ADX). It's calculated by taking
// the average of the current ADX and the ADX from one time period before
// (time periods can vary, but the most typical period used is 14 days).
// Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening
// and weakening trends. However, because it represents an average of ADX, values
// don't fluctuate as dramatically and some analysts believe the indicator helps
// better display trends in volatile markets.
//
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
pos = 0.0
xPrice = close
xXA = ta.ema(xPrice, Length)
nHH = math.max(high, high[1])
nLL = math.min(low, low[1])
nXS = nLL > xXA or nHH < xXA ? nLL : nHH
iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
pos := nXS > close[1] ? -1 : iff_1
pos
fADX(Len) =>
up = ta.change(high)
down = -ta.change(low)
trur = ta.rma(ta.tr, Len)
plus = fixnan(100 * ta.rma(up > down and up > 0 ? up : 0, Len) / trur)
minus = fixnan(100 * ta.rma(down > up and down > 0 ? down : 0, Len) / trur)
sum = plus + minus
100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), Len)
ADXR(LengthADX,LengthADXR,Signal1,Signal2) =>
pos = 0.0
xADX = fADX(LengthADX)
xADXR = (xADX + xADX[LengthADXR]) / 2
pos := xADXR < Signal1 ? 1 : xADXR > Signal2 ? -1 : nz(pos[1], 0)
pos
strategy(title='Combo 2/20 EMA & ADXR', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ ADXR ═════●'
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
Signal1 = input.float(13, step=0.01)
Signal2 = input.float(45, step=0.01)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosADXR = ADXR(LengthADX,LengthADXR,Signal1,Signal2)
iff_1 = posEMA20 == -1 and prePosADXR == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosADXR == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
if possig == 1
strategy.entry('Long', strategy.long)
if possig == -1
strategy.entry('Short', strategy.short)
if possig == 0
strategy.close_all()
barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)