Doppel ausgeglichene Stiere und Bären-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-10-30 10:31:17
Tags:

img

Übersicht

Die Dual Balanced Bulls and Bears Strategie ist eine Kombinationsstrategie, die die 123 Reversal Strategie und den Bulls and Bears Balance Indikator umfasst.

Grundsätze

Die Strategie besteht aus zwei Teilstrategien:

  1. 123 Umkehrstrategie. Es erzeugt Signale, wenn die letzten beiden Schlusskurs umgekehrt sind, d.h. es geht lang, wenn die beiden vorherigen Schlusskurs fallen, während der dritte Schlusskurs steigt, und es geht kurz, wenn die beiden vorherigen Schlusskurs steigen, während der dritte Schlusskurs sinkt. Es enthält auch den STOCH-Indikator, um nur Signale zu empfangen, wenn STOCH Überverkauf oder Überkauf zeigt.

  2. Bulls and Bears Balance-Indikator-Strategie. Es beurteilt den Markttrend, indem es das Gleichgewicht zwischen bullischen und bärischen Kräften berechnet. Insbesondere verwendet es die Differenz zwischen dem aktuellen Schlusskurs und dem Eröffnungskurs sowie die Differenz zwischen dem aktuellen und dem vorherigen Tag, um die bullischen und bärischen Kräfte zu bestimmen. Je größer die Differenz zwischen bullischen und bärischen Kräften, desto ausgeprägter ist der Trend.

Die kombinierte Strategie bezieht ihre Handelssignale von den Signalen, die von den beiden Teilstrategien erzeugt werden. Sie wird nur ein Signal, z. B. Long gehen, nehmen, wenn die beiden Teilstrategien konsistente Signale geben, dh beide Signale, um lang zu gehen. Wenn die Signale der beiden Teilstrategien unterschiedlich sind, wird die kombinierte Strategie dieses Signal überspringen und an der Seite bleiben.

Vorteile

Der größte Vorteil der Dual Balanced Bulls und Bears Strategie ist ihre hohe Zuverlässigkeit. Durch die Anforderung konsistenter Signale von beiden Teilstrategien vor dem Eintritt in einen Handel dient sie als Verifizierungsmechanismus, um falsche Signale zu vermeiden. Darüber hinaus bietet die Strategie eine Diversifizierung, um Risiken aus einer einzigen Strategie zu mindern.

Die 123 Reversal Strategie kann kurzfristige Umkehrchancen auf dem Markt erfassen. Die Bulls and Bears Balance Strategie kann die Richtung des längerfristigen Trends bestimmen.

Risiken

Das größte Risiko besteht darin, dass sich die Wahrscheinlichkeit für falsche Signale aus den Teilstrategien verdoppelt. Obwohl die kombinierte Strategie konsistente Signale erfordert, wird die kombinierte Strategie dennoch in den Handel eingehen und verdoppelte Verluste verursachen, wenn beide Teilstrategien gleichzeitig falsche Signale geben.

Auch können Konflikte zwischen den Teilstrategien entstehen, wobei eine Signal, lange gehen, während die andere kurz. Die kombinierte Strategie wird dann Chancen verpassen. Verlängerte Konflikte können verhindern, dass die kombinierte Strategie für eine lange Zeit eingehen, Kapital-Effizienz zu verringern.

Optimierung

Eine Strategie zur Umkehrung des Trends kann als dritte Unterstrategie eingesetzt werden. Sie kann helfen, den längerfristigen Trend zu bestimmen und Signale zu geben, wenn der Trend umkehrt.

Eine andere Richtung ist die Anpassung der Parameter der Teilstrategien an mehr abgestimmte Signale, z. B. die Anpassung der Schwellenparameter der Bulls and Bears Balance-Strategie, um schwächere Trends zu erfassen und die Umkehrstrategie zu ergänzen.

Es kann auch untersucht werden, wie man mit langwierigen Konflikten zwischen den Teilstrategien umgeht. Zum Beispiel kann ein Höchsttoleranzniveau für Konflikte festgelegt werden, nach dem das Signal einer einzelnen Teilstrategie aufgenommen wird. Dies kann den Chancenverlust in gewissem Maße lindern.

Schlussfolgerung

Die Dual Balanced Bulls and Bears Strategie kombiniert die 123 Reversal Strategie und die Bulls and Bears Balance Strategie, um die doppelte Überprüfung von Handelssignalen zu erreichen und falsche Signale effektiv auszufiltern und die Stabilität zu erhöhen. In der Zwischenzeit bietet die Kombination von Umkehr- und Trendstrategien eine Diversifizierung zu niedrigeren Risiken. Die Strategie kann durch Anpassung von Parametern, Hinzufügen einer dritten Strategie usw. weiter optimiert werden, um die Ausrichtung und Kapitaleffizienz zu verbessern. Insgesamt hat die Strategie neuartige Ideen und einen erheblichen praktischen Wert.


/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/07/2019
// 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
//    This new indicator analyzes the balance between bullish and
//    bearish sentiment.
//    One can cay that it is an improved analogue of Elder Ray 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

BullAndBearBalance(SellLevel, BuyLevel) =>
    pos = 0
    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))))))

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

strategy(title="Combo Backtest 123 Reversal & Bull And Bear Balance", 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(-15, step=0.01)
BuyLevel = input(15, step=0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBullAndBearBalance = BullAndBearBalance(SellLevel, BuyLevel)
pos = iff(posReversal123 == 1 and posBullAndBearBalance == 1 , 1,
	   iff(posReversal123 == -1 and posBullAndBearBalance == -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 )

Mehr