Strategie für eine doppelte schwebende durchschnittliche Arbitrage

Schriftsteller:ChaoZhang, Datum: 2023-11-24 14:21:06
Tags:

img

Übersicht

Dies ist eine Arbitragenstrategie, die doppelte gleitende Durchschnittsformationen verwendet, um Arbitragen zu tätigen.

Strategie Logik

123 Umkehrmuster

Diese Unterstrategie stammt aus dem Buch Wie ich mein Geld auf dem Futures-Markt verdreifacht habe von Ulf Jensen.

  • Gehen Sie lang, wenn der Schlusskurs für 2 aufeinanderfolgende Tage steigt und der 9-tägige Slow-Stock unter 50 liegt.
  • Gehen Sie kurz, wenn der Schlusskurs für 2 aufeinanderfolgende Tage fällt und der 9-Tage-Fast-Stock über 50 liegt.

Elemente mit endlichem Volumen (FVE)

FVE ist ein reiner Volumenindikator, der beurteilt, ob Geld in oder aus dem Markt fließt, basierend auf dem Preisbewegungsbereich und dem Handelsvolumen.

Es gibt Signale, wenn die beiden letzten Balken des FVE-Indikators zusammen steigen oder fallen.

Analyse der Vorteile

Diese Strategie kombiniert zwei Arten von Indikatoren, um Markttrend und Geldfluss zu bestimmen, was falsche Signale effektiv vermeiden kann.

Darüber hinaus stellt die doppelte gleitende Durchschnittsbildung eine Konsistenz zwischen kurz- und mittelfristigen Trends dar, wodurch eine größere Stabilität erzielt wird.

Risikoanalyse

Diese Strategie beruht auf gleitenden Durchschnittsformationen, die leicht falsche Signale erzeugen und bei Marktschwankungen zu Verlusten führen können.

Die Risiken können reduziert werden, indem die Parameter richtig angepasst werden, um die Strategie robuster zu machen, oder indem ein Stop-Loss festgelegt wird, um Risiken zu kontrollieren.

Optimierungsrichtlinien

Es können weitere Arten von gleitenden Durchschnitten getestet werden, um die optimale Übereinstimmung zu finden.

Darüber hinaus kann erforscht werden, wie Parameter dynamisch an die Marktbedingungen angepasst werden können, um die Anpassungsfähigkeit zu verbessern.

Zusammenfassung

Diese doppelte gleitende Durchschnitts-Arbitrage-Strategie integriert zwei Indikatoren des Umkehrtyps für das Urteilen, die Risiken bis zu einem gewissen Grad mindern können. Aber die Abhängigkeit von gleitenden Durchschnittsformationen bedeutet, dass weitere Optimierungen erforderlich sind, um die Strategie robuster zu machen. Insgesamt bietet sie einen grundlegenden Rahmen für den kurzfristigen Arbitragehandel und ist eine weitere Forschung wert.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/08/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
// The FVE is a pure volume indicator. Unlike most of the other indicators 
// (except OBV), price change doesn?t come into the equation for the FVE (price 
// is not multiplied by volume), but is only used to determine whether money is 
// flowing in or out of the stock. This is contrary to the current trend in the 
// design of modern money flow indicators. The author decided against a price-volume 
// indicator for the following reasons:
// - A pure volume indicator has more power to contradict.
// - The number of buyers or sellers (which is assessed by volume) will be the same, 
//     regardless of the price fluctuation.
// - Price-volume indicators tend to spike excessively at breakouts or breakdowns.
//
// 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


FVE(Period,Factor) =>
    pos = 0
    nRes = 0.0
    xhl2 = hl2
    xhlc3 = hlc3
    xClose = close
    xVolume = volume
    xSMAV = sma(xVolume, Period)
    nMF = xClose - xhl2 + xhlc3 - xhlc3[1]
    nVlm = iff(nMF > Factor * xClose / 100,  xVolume, 
             iff(nMF < -Factor * xClose / 100, -xVolume, 0))
    nRes := nz(nRes[1],0) + ((nVlm / xSMAV) / Period) * 100
    pos := iff(nRes > nRes[1] and nRes > nRes[2], 1,
             iff(nRes < nRes[1] and nRes < nRes[2], -1, nz(pos[1], 0)))   
    pos

strategy(title="Combo Backtest 123 Reversal & Finite Volume Elements (FVE)", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Period = input(18, minval=1)
Factor = input(0.6, minval=0.1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFVE = FVE(Period,Factor)
pos = iff(posReversal123 == 1 and posFVE == 1 , 1,
	   iff(posReversal123 == -1 and posFVE == -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