Multi-Faktor-Kombinations-Handelsstrategie


Erstellungsdatum: 2023-09-12 16:05:10 zuletzt geändert: 2023-09-12 16:05:10
Kopie: 0 Klicks: 701
1
konzentrieren Sie sich auf
1617
Anhänger

Diese Strategie kombiniert die Verwendung verschiedener Arten von technischen Indikatoren zu einer umfassenden, quantitativen Handelsstrategie, die die Vorteile mehrerer Faktoren zusammenbringt und die Genauigkeit von Handelsentscheidungen erhöht.

Die Strategie:

  1. Berechnen Sie 123 Umkehrungen, um zu beurteilen, ob der Preis eine dreitägige Umkehrung erlebt hat.

  2. Berechnen Sie den Elder-Bears Force-Index, um zu beurteilen, ob ein Überverkauf vorliegt.

  3. Wenn beide gleichzeitig ein Kauf- und ein Verkaufssignal senden, wird eine Mehroperation durchgeführt. Wenn beide gleichzeitig ein Verkaufssignal senden, wird eine Leeroperation durchgeführt.

  4. Durch die Verifizierung der Kennzahlen kann ein Teil des Noise-Trading-Signals effektiv gefiltert werden.

  5. Eine Kombination verschiedener Indikatoren verbessert das Urteilsvermögen über die Marktlage.

Die Vorteile der Strategie:

  1. Multi-Factor-Verifizierung reduziert die Wahrscheinlichkeit eines Fehlhandels.

  2. Die Fähigkeit, komplexe Marktsituationen zu erkennen, wird verbessert.

  3. Die Kombinationsstrategie ist schwieriger zu optimieren und hat einige Vorteile.

Die Risiken dieser Strategie:

  1. Eine Kombination aus mehreren Indikatoren erfordert die Optimierung der Parameter, um die beste Übereinstimmung zu erzielen.

  2. Es kann zu Signal-Inkonsistenzen zwischen verschiedenen Indikatoren kommen.

  3. Die Gesamtstabilität einer Kombinationsstrategie kann niedriger sein als die einer Einzelindikatorstrategie.

Zusammenfassend lässt sich sagen, dass die Strategie durch die Zusammenführung von Vorteilen mehrerer Faktoren für den Handel eine gewisse Verbesserung der Entscheidungsgenauigkeit ermöglicht. Es ist jedoch darauf zu achten, dass die verschiedenen Indikatoren miteinander übereinstimmen, um durch strenge Parameteroptimierung einen stabilen Überschuss zu erzielen.

Strategiequellcode
/*backtest
start: 2022-09-05 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/05/2020
// 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
// Developed by Dr Alexander Elder, the Elder-ray indicator measures buying 
// and selling pressure in the market. The Elder-ray is often used as part 
// of the Triple Screen trading system but may also be used on its own.
// Dr Elder uses a 13-day exponential moving average (EMA) to indicate the 
// market consensus of value. Bull Power measures the ability of buyers to 
// drive prices above the consensus of value. Bear Power reflects the ability 
// of sellers to drive prices below the average consensus of value.
// Bull Power is calculated by subtracting the 13-day EMA from the day's High. 
// Bear power subtracts the 13-day EMA from the day's Low.
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// 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

BP(Trigger,Length) =>
    pos = 0
    DayHigh = 0.0
    xPrice = close
    xMA = ema(xPrice,Length)
    DayHigh := iff(dayofmonth != dayofmonth[1], high, max(high, nz(DayHigh[1])))
    nRes = DayHigh - xMA
    pos := iff(nRes > Trigger, 1,
    	     iff(nRes < Trigger, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Elder Ray (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)
//-------------------------
LengthBP = input(13, minval=1)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBP = BP(Trigger,LengthBP)
pos = iff(posReversal123 == 1 and posBP == 1 , 1,
	   iff(posReversal123 == -1 and posBP == -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 )