Zweiwege-Umkehrstrategie für gleitende Durchschnitte


Erstellungsdatum: 2023-11-21 11:28:27 zuletzt geändert: 2023-11-21 11:28:27
Kopie: 0 Klicks: 588
1
konzentrieren Sie sich auf
1621
Anhänger

Zweiwege-Umkehrstrategie für gleitende Durchschnitte Hier ist der Artikel, den ich nach Ihrer Bitte zu schreiben versuchte:

Überblick

Diese Strategie kombiniert die 123-Form-Umkehr-Strategie und die Bearish-Indikator-Strategie, die ein Handelssignal erzeugen, wenn beide gleichzeitig zu einem Über- oder Unterkurssignal kommen, und gehört zu den Durchbruch-Umkehr-Handelsstrategien.

Strategieprinzip

Die Strategie besteht aus zwei Teilen:

  1. 123 Umkehrung der Form

Wenn der Schlusskurs nach zwei aufeinanderfolgenden Tagen nach unten auf den dritten Tag der Schlusskurs nach oben brechen, und der niedrige Stoch-Indikator erzeugt ein Kaufsignal von der niedrigen Rebound; wenn der Schlusskurs nach zwei aufeinanderfolgenden Tagen nach oben auf den dritten Tag der Schlusskurs nach unten brechen, und der hohe Stoch-Indikator von der hohen Rückkehr erzeugt ein Verkaufsignal.

  1. Strategie für den Bear Force Index

Der Bear-Force-Indikator spiegelt den Kontrast der positiven und negativen Kräfte wider. Er erzeugt ein Verkaufssignal, wenn der Indikator größer als die gesetzte Verkaufsgrenze ist, und ein Kaufsignal, wenn der Indikator kleiner als die gesetzte Kaufgrenze ist.

Bei einem synthetischen Signal erzeugt ein Synchronisierungssignal das tatsächliche Transaktionssignal.

Strategische Vorteile

  1. In Kombination mit dem Rückschlagsignal und der Anzeigefilterung wird ein falscher Durchbruch vermieden und die Signalqualität verbessert.

  2. Mehrfache Zeitspannen und Flexibilität für unterschiedliche Marktbedingungen.

  3. Die Komponenten können einzeln oder in Kombination verwendet werden. Die Strategie ist modular ausgelegt.

Strategisches Risiko

  1. Es kann zu einer größeren Rückruftiefe bei einem Umkehrsignal kommen.

  2. Die Parameter für die Schwerkraft müssen immer wieder getestet und optimiert werden.

  3. Die Parameter der multifaktoriellen integrierten Strategie sind komplex und erfordern eine große Anzahl von Tests mit historischen Daten.

Strategieoptimierung

  1. Die Join-Quantifizierungs-Module verbinden mehr Datenquellen und erhalten mehr Daten für längere Zeiträume.

  2. Die Anwendung von maschinellen Lernmethoden zur automatischen Suche und Bewertung von Parameterkombinationen.

  3. Erhöhung der Stop-Loss-Mechanismen zur Kontrolle von Einzelschäden.

Zusammenfassen

Diese Strategie integriert die Analyse und die Quantifizierung von Umkehrtechniken, um die Signalqualität durch Doppelbestätigung zu verbessern. Sie ist hochmodular und skalierbar und gehört zu den praktischen Strategien. Sie kann anschließend durch die Einführung weiterer fortgeschrittener technischer Mittel optimiert werden, um sich an komplexe Marktumgebungen anzupassen.

Strategiequellcode
/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 29/05/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
//  Bear Power Indicator
//  To get more information please see "Bull And Bear Balance Indicator" 
//  by Vadim Gimelfarb. 
//
// 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

BearPower(SellLevel, BuyLevel) =>
    value =  iff (close < open ,  
              iff (close[1] > open ,  max(close - open, high - low), high - low), 
               iff (close > open, 
                 iff(close[1] > open, max(close[1] - low, high - close), max(open - low, high - close)), 
                  iff(high - close > close - low, 
                   iff (close[1] > open, max(close[1] - open, high - low), high - low), 
                     iff (high - close < close - low, 
                      iff(close > open, max(close - low, high - close),open - low), 
                       iff (close > open, max(close[1] - open, high - close),
                         iff(close[1] < open, max(open - low, high - close), high - low))))))
    pos = 0.0
    pos := iff(value > SellLevel, -1,
	   iff(value <= BuyLevel, 1, nz(pos[1], 0))) 

    pos

strategy(title="Combo Backtest 123 Reversal & Bear Power", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SellLevel = input(30)
BuyLevel = input(3)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBearPower = BearPower(SellLevel, BuyLevel)
pos = iff(posReversal123 == 1 and posBearPower == 1 , 1,
	   iff(posReversal123 == -1 and posBearPower == -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 )