Diese Strategie erzeugt Kauf- und Verkaufssignale durch Kombination eines gleitenden Durchschnittsindikators und eines Markterleichterungsindex.
Die Strategie verwendet zwei Indikatoren für die Signalgenerierung. Der erste ist der gleitende Durchschnittsindikator, speziell die Kombination aus schneller Linie und langsamer Linie des Stochastischen Oszillators. Er erzeugt ein Verkaufssignal, wenn der Preis zwei aufeinanderfolgende Tage schließt und die schnelle Linie über der langsamen Linie liegt. Er erzeugt ein Kaufsignal, wenn der Preis zwei aufeinanderfolgende Tage schließt und die schnelle Linie unter der langsamen Linie liegt. Durch die Überwachung der Preisumkehrung und der Beziehung zwischen der schnellen Linie und der langsamen Linie zielt er darauf ab, potenzielle Wendepunkte des Preistrends vorherzusagen.
Der zweite Indikator ist der Markterleichterungsindex. Er misst die Effizienz der Preisbewegung, indem er das Verhältnis zwischen Preisspanne und Volumen berechnet. Wenn der Index steigt, zeigt er eine Verbesserung der Marktliquidität und eine höhere Betriebseffizienz an, was einen Trendmarkt signalisiert. Wenn der Index sinkt, zeigt er eine Verschlechterung der Liquidität und eine Abnahme der Effizienz, was auf einen potenziellen seitwärts verlaufenden Markt oder eine Trendumkehr hindeutet.
Diese Strategie erzeugt tatsächliche Kauf- und Verkaufsbestellungen, wenn beide Indikatoren gleichzeitig einheitliche Handelssignale ausgeben.
Schwierig, umgekehrte Chancen zu nutzen, wenn ein längerer einseitiger Auf- oder Abwärtstrend stattfindet, nicht in der Lage, in den Markt einzusteigen
Kann die Parameter des mittleren Reversionsindikators entspannen, um die Chancen auf Kauf- und Verkaufssignale zu erhöhen
Kann auch die Position Größe zu skalieren, um den Trend zu fahren, um Gewinne zu kompensieren
Ungenaue Umkehrsignale können die Strategie ungültig machen
Kann Parameter optimieren oder Signalbestätigungsstufen hinzufügen, um falsche Signale auszufiltern
Diese Strategie kombiniert einen mittleren Umkehrindikator und einen Trendbeurteilungsindikator, der in den Markt eintritt, wenn ein Umkehrsignal auftaucht, während die Haupttrendrichtung respektiert wird. Die Verwendung von Dual-Indikator-Bestätigung eliminiert effektiv falsche Signale. Obwohl Risiken bei längeren einseitigen Trends und falschen Umkehrsignalen bestehen, können weitere Optimierungen über Parameter-Tuning, Stop-Loss, Indikator-Upgrades und Maschinelles Lernen durchgeführt werden Modelle.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 02/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 Market Facilitation Index is an indicator that relates price range to // volume and measures the efficency of price movement. Use the indicator to // determine if the market is trending. If the Market Facilitation Index increased, // then the market is facilitating trade and is more efficient, implying that the // market is trending. If the Market Facilitation Index decreased, then the market // is becoming less efficient, which may indicate a trading range is developing that // may be a trend reversal. // // 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(BuyZone,SellZone) => pos = 0.0 xmyVol = volume xmyhigh = high xmylow = low nRes = (xmyhigh - xmylow) / xmyVol * 10000 pos := iff(nRes > BuyZone, 1, iff(nRes < SellZone, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Market Facilitation Index", 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, "---- MFI ----") SellZone = input(6.2, minval=0.01, step = 0.01) BuyZone = input(1, minval=0.01, step = 0.01) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posMFI = MFI(BuyZone,SellZone) 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 )