
Diese Strategie kombiniert die Doppelfaktor-Umkehr- und die Doppelfaktor-Umkehr-Strategie, um ein integriertes Handelssignal zu erhalten. Die Doppelfaktor-Umkehr-Strategie basiert auf der Idee von P183 in Ulf Jensens Buch und erzeugt ein Signal, wenn der Kurs innerhalb von zwei Tagen umgedreht wird und zufällige Indikatorbedingungen eingerichtet werden.
Die Doppelfaktor-Return-Strategie nutzt das Zwei-Tage-Schlusspreis-Umkehrprinzip und die Mehrfachentscheidung zufälliger Indikatoren. Wenn der Schlusskurs am Vortag höher ist und der Schlusskurs heute umgekehrt fällt, und der schnelle Zufallsindikator niedriger als der schnelle Zufallsindikator ist und der schnelle Zufallsindikator höher als 50, wird ein Hohlkopfsignal erzeugt.
Die Berechnungsformel lautet: PxVFactor = PriceFactor + Scale * CumPVT, wobei PriceFactor der Preisfaktor ist und CumPVT der kumulierte Energieindikator. Dann berechnet man den Langzeit-Simplen Moving Average des PxVFactor, der mit dem aktuellen PxVFactor-Wert verglichen wird, um die Markttrends und -stärken zu beurteilen.
Die Kombinationsstrategie berücksichtigt die Signale der beiden Unterstrategien und erzeugt ein entsprechendes Positivsignal, wenn die Doppelfaktorumkehr und die verbesserte Preismenge gleichzeitig über- oder unterbieten.
Zusammenfassend kann gesagt werden, dass die Strategie der Kombination von Doppelfaktor-Umkehr und verbessertem Preis-Menge-Trend, kombiniert mit der Untersuchung der beiden Dimensionen von Umkehr und Trend, die sich gegenseitig bestätigen können, die Signalstabilität verbessert. Es ist notwendig, die Trendindikatoren als Hilfsentscheidung in einer leicht zu bedienenden Umkehrstrategie hinzuzufügen.
/*backtest
start: 2024-01-17 00:00:00
end: 2024-01-24 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 23/02/2021
// This is combo strategies for get a cumulative signal.
//
// 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
// The related article is copyrighted material from
// Stocks & Commodities.
//
// 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
MPVT(Level,Scale,Length) =>
pos = 0.0
xCumPVT = 0.0
xOHLC4 = ohlc4
xV = volume
rV = xV / 50000
xCumPVT := nz(xCumPVT[1]) + (rV * (xOHLC4 - xOHLC4[1]) / xOHLC4[1])
nRes = Level + Scale * xCumPVT
xMARes = sma(nRes, Length)
pos:= iff(nRes > xMARes, 1,
iff(nRes < xMARes, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Modified Price-Volume Trend", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Price-Volume Trend ----")
LevelPVT = input(1)
Scale = input(1)
LengthPVT = input(23)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMPVT = MPVT(LevelPVT,Scale,LengthPVT)
pos = iff(posReversal123 == 1 and posMPVT == 1 , 1,
iff(posReversal123 == -1 and posMPVT == -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 ? #b50404: possig == 1 ? #079605 : #0536b3 )