
Die Strategie ist eine Kombination aus einer Double Trend Reverse Moving Average Strategie. Sie kombiniert die 123 Reverse Strategie und die Bill Williams Average Strategie, um die Signale der beiden Strategien zu kombinieren, um ein genaueres Handelssignal zu erhalten.
Die Strategie besteht aus zwei Teilen:
123 Umkehrstrategie: Wenn der Schlusskurs zwei Tage in Folge höher als der Schlusskurs des Vortages ist und die langsame K-Linie am neunten Tag unter 50 liegt, machen Sie einen Gewinn; wenn der Schlusskurs zwei Tage in Folge niedriger als der Schlusskurs des Vortages ist und die schnelle K-Linie am neunten Tag über 50 liegt, machen Sie einen Verlust.
Die Bill Williams-Durchschnittsstrategie: Berechnen Sie die mittleren Moving Averages für 13, 8 und 5 Tage, indem Sie den mittleren und langen Moving Average über den kurzfristigen Moving Average und den mittleren und langen Moving Average unter dem kurzfristigen Moving Average durchschneiden.
Schließlich erzeugt ein tatsächliches Handelssignal, wenn die Signalrichtungen der beiden Strategien übereinstimmen, und kein Handel, wenn sie nicht übereinstimmen.
Diese Strategie, kombiniert mit doppelten Trendbeurteilungen, reduziert Falschsignale und erhöht die Signalgenauigkeit. Zusätzlich kann die Aufnahme von Moving Averages auch einen Teil des Rausches filtern.
Die Risiken dieser Strategie sind:
Das Risiko kann durch Anpassung der Moving Average-Parameter oder Optimierung der Einstiegs- und Ausstiegslogik verringert werden.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Diese Strategie integriert doppelte Trendbeurteilung mit einem Moving Average-Indikator, um Geräuschsignale effektiv zu filtern und die Genauigkeit von Handelsentscheidungen zu verbessern. Es besteht jedoch ein gewisses Risiko, dass die Logik des Eintritts und Ausstiegs ständig getestet und optimiert werden muss, um die Gewinne im realen Markt zu stabilisieren.
/*backtest
start: 2023-10-28 00:00:00
end: 2023-11-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/06/2019
// This is combo strategies for get
// a cumulative signal. Result signal will return 1 if two strategies
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This indicator calculates 3 Moving Averages for default values of
// 13, 8 and 5 days, with displacement 8, 5 and 3 days: Median Price (High+Low/2).
// The most popular method of interpreting a moving average is to compare
// the relationship between a moving average of the security's price with
// the security's price itself (or between several moving averages).
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
BillWilliamsAverages(LLength, MLength,SLength, LOffset,MOffset, SOffset ) =>
xLSma = sma(hl2, LLength)[LOffset]
xMSma = sma(hl2, MLength)[MOffset]
xSSma = sma(hl2, SLength)[SOffset]
pos = 0
pos := iff(close < xSSma and xSSma < xMSma and xMSma < xLSma, -1,
iff(close > xSSma and xSSma > xMSma and xMSma > xLSma, 1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Bill Williams Averages. 3Lines", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LLength = input(13, minval=1)
MLength = input(8,minval=1)
SLength = input(5,minval=1)
LOffset = input(8,minval=1)
MOffset = input(5,minval=1)
SOffset = input(3,minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBillWilliamsAverages = BillWilliamsAverages(LLength, MLength,SLength, LOffset, MOffset, SOffset)
pos = iff(posReversal123 == 1 and posBillWilliamsAverages == 1 , 1,
iff(posReversal123 == -1 and posBillWilliamsAverages == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
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 ? red: possig == 1 ? green : blue )