Umkehr- und Geldfluss-Kombinationsstrategie


Erstellungsdatum: 2023-09-17 22:37:54 zuletzt geändert: 2023-09-17 22:58:03
Kopie: 0 Klicks: 651
1
konzentrieren Sie sich auf
1617
Anhänger

Die Strategie ermöglicht Trend-Tracking und Reversal-Trading durch die Kombination von 123 Reversal-Formen und Kapitalfluss-Indikatoren.

Strategieprinzip

Zunächst wird der Kursumkehrpunkt anhand der 123 Umkehrform ermittelt. Insbesondere, wenn der Schlusskurs an den ersten zwei Tagen gefallen ist, steigt der Schlusskurs an dem dritten Tag an, und der zufällige Indikator liegt unter dem Deckwert, was ein Kaufsignal erzeugt. Wenn der Schlusskurs an den ersten beiden Tagen steigt, fällt der Schlusskurs an dem dritten Tag an, und der zufällige Indikator liegt über dem Deckwert, was ein Verkaufsignal erzeugt.

Zweitens wird der Geldflussindex für die schnelle und die langsame Linie berechnet. Die schnelle Linie besteht aus einem Index-Moving Average für die kurzfristige Geldflussmenge, die langsame Linie ist ein Index-Moving Average für eine längere Periode. Wenn die schnelle Linie höher ist als die langsame Linie, wird als Geldfluss beurteilt und ein Kaufsignal erzeugt; umgekehrt erzeugt es ein Verkaufssignal.

Schließlich erzeugt ein Signal aus der Kombination von 123 Umkehrformeln mit dem Kapitalflussindikator ein Handelssignal, wenn beide Signale übereinstimmen.

Analyse der Stärken

  • Die Kombination mehrerer Signale erhöht die Zuverlässigkeit des Signals.
  • 123 Umkehrform kann Umkehrpunkte erfassen, wobei die Geldflussmenge als Indikator für die Geldflussrichtung verwendet wird.
  • Durch Anpassung der Parameter kann die Performance für verschiedene Sorten und Zyklen optimiert werden.
  • Es ist möglich, einzeln mit einem der Signale zu handeln.

Risikoanalyse

  • 123 Umkehrform kann ein falsches Signal erzeugen
  • Es gibt einen Rückstand bei den Kapitalflüssen, der es nicht ermöglicht, die Wendepunkte rechtzeitig zu erfassen.
  • Mehrfache Signalkombinationen, die Strategie ist relativ komplex.
  • Die Optimierung der Parameter ist notwendig, um übermäßigen Handel zu vermeiden.

Die Risiken können durch die Erhöhung der Reliabilität der Umkehrform, die Sensibilität der Geldflussmengen und die Einbeziehung von Stop-Loss-Logik kontrolliert werden.

Optimierungsrichtung

  • Verschiedene Parameterkombinationen werden getestet, um die optimale Parameter zu finden.
  • Die Anpassung von Kauf- und Verkaufsschwankungen verringert die Wahrscheinlichkeit von Fehltransaktionen.
  • Das ist eine sehr gute Idee, um die Qualität des Signals zu verbessern.
  • Ein Stop-Loss-Mechanismus, um einzelne Verluste zu kontrollieren.
  • Optimierung der Kapitalmanagementstrategie und Kontrolle der Gesamtrisikoprenze.

Zusammenfassen

Diese Strategie kombiniert die Vorteile des Umkehrhandels mit dem Trend-Tracking und kann effektiv Marktwendepunkte identifizieren. Es ist jedoch notwendig, auf Parameter-Anpassung und Risikokontrolle zu achten, um zu viele falsche Signale zu verhindern, während Trends verfolgt werden. Wenn sie richtig verwendet wird, kann sie eine der effizientesten Handelsstrategien sein.

Strategiequellcode
/*backtest
start: 2023-08-17 00:00:00
end: 2023-09-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/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
//    Indicator plots Money Flow Indicator (Chaikin). This indicator looks 
//    to improve on Larry William's Accumulation Distribution formula that 
//    compared the closing price with the opening price. In the early 1970's, 
//    opening prices for stocks stopped being transmitted by the exchanges. 
//    This made it difficult to calculate Williams' formula. The Chaikin 
//    Oscillator uses the average price of the bar calculated as follows 
//    (High + Low) /2 instead of the Open.
//    The indicator subtracts a 10 period exponential moving average of the 
//    AccumDist function from a 3 period exponential moving average of the 
//    AccumDist function.  
//
// 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


MFI(Fast,Slow) =>
    pos = 0.0
    lenMax = max(Fast, Slow)
    lenMin = min(Fast, Slow)
    xDiv = (high - low) * volume
    SumMax = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMax)
    SumMin = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMin)
    emaMax = ema(SumMax, lenMax)
    emaMin = ema(SumMin, lenMin)
    nRes = emaMax - emaMin
    pos:= iff(nRes > 0, 1,
           iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Money Flow Indicator", 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, "---- Money Flow ----")
Fast = input(3, minval=1)
Slow = input(10, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMFI = MFI(Fast,Slow)
pos = iff(posReversal123 == 1 and posMFI == 1 , 1,
	   iff(posReversal123 == -1 and posMFI == -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 )