Momentum Durchbruch Silberlinie Strategie

Schriftsteller:ChaoZhang, Datum: 2024-02-01 15:01:55
Tags:

img

Übersicht

Diese Strategie ist eine Breakout-Strategie, die auf dem Kursmomentum-Indikator MACD und dem gleitenden Durchschnitt basiert und für einen 1-Stunden-Zeitrahmen für Silber (XAG/USD, XAG/EUR) geeignet ist.

Strategie Logik

Wenn sich das MACD-Histogramm von negativ auf positiv ändert und kontinuierlich durch die Signallinie bricht, zeigt es an, dass der kurzfristige Aufwärtstrend stärker ist. Gleichzeitig erzeugt es ein langes Signal, wenn der Schlusskurs den steigenden Trend des gleitenden Durchschnitts durchbricht. Ähnlich, wenn sich das MACD-Histogramm von positiv auf negativ ändert und unter die Signallinie fällt und der Schlusskurs unter den Abwärtstrend des gleitenden Durchschnitts fällt, erzeugt es ein kurzes Signal.

Die Bedingungen für die Bestimmung des Long-Entry-Signals dieser Strategie sind insbesondere:

  1. Das MACD-Histogramm ist positiv
  2. Das aktuelle Histogramm ist höher als das vorherige
  3. Der Schlusskurs ist höher als der gleitende Durchschnitt
  4. Der Schlusskurs ist höher als der höchste Preis der letzten 3 K-Linien

Die Bedingungen für die Bestimmung des Kurz-Eingangssignals sind genau umgekehrt.

Diese Strategie setzt keine Gewinn- oder Stop-Loss-Punkte, sondern zielt darauf ab, den Ausgangspunkt von Trend-Ausbrüchen zu erfassen.

Analyse der Vorteile

Diese Strategie kombiniert Preis- und Dynamikindikatoren, um den Zeitpunkt von Trendumkehrungen genauer mit einer höheren Gewinnrate zu bestimmen.

Keine Festlegung von Gewinngewinn und Stop-Loss erfüllt die Bedürfnisse von Anlegern, die hohe Renditen anstreben.

Risikoanalyse

Wenn das Umkehrsignal fehlschlägt, kann sich der Verlust aufgrund der Unfähigkeit, den Verlust rechtzeitig zu stoppen, erhöhen.

Der Weg des bedingungslosen Schließens in der nächsten K-Linie erschwert die kontinuierliche Erfassung von Trendgewinnen.

Optimierungsvorschläge

Es ist möglich, geeignete Stop-Loss-Strategien auf der Grundlage von Durchbruchskäufen mit hohem Gewinn hinzuzufügen, um das Verlustrisiko zu verringern.

Es ist auch möglich, fortgeschrittene Techniken zu kombinieren, um nach dem Schließen wieder in Positionen einzutreten, um kontinuierlich Trendgewinne zu erzielen.

Zusammenfassung

Im Allgemeinen gehört diese Strategie zu einer aggressiven Hochrisikostrategie. Da keine Stop-Loss-Einstellung vorhanden ist, müssen Anleger ein größeres Verlustrisiko tragen. Wenn die Umkehr jedoch erfolgreich ist, kann die Möglichkeit, Positionen mit vollen Lots zu eröffnen, auch zu hohen Renditen führen. Sie eignet sich für aggressive Anleger mit relativ starker psychologischer Ausdauer.


/*backtest
start: 2023-01-31 00:00:00
end: 2024-01-13 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21

//@version=4
strategy("XAG strategy 1h",overlay=true)
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2020, title = "From Year", minval = 1970)
var gica = 0
var marcel = gica+2
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
len = input(10, minval=1, title="Length")
src = input(close, title="Source")
out = sma(src, len)

//distanta = input(1.004)

fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

option1=input(true)
option2=input(true)

long2 =  close > open  and time_cond and close > out and hist > 0 and hist > hist[1] 
short2 =  close < open  and time_cond and close < out and hist < 0 and hist < hist[1] 

long1 = (close > open ) and time_cond and close > out and hist > 0 and  hist > hist[1] and high > high[1] and high[1] > high[2] and close > high[1] and close > high[2] and close > high[3] 
short1 = (close < open)  and time_cond and close < out and hist < 0 and  hist < hist[1] and low < low[1] and low[1] < low[2]  and close < low[1] and close < low[2] and close < low[3] 

if(option1)
    strategy.entry("long",1,when= short1)
    strategy.entry("short",0,when=long1)
    strategy.close_all()

if(option2)

    strategy.entry("long",1,when= short2)
    strategy.entry("short",0,when=long2)
    strategy.close_all()

// if(strategy.openprofit < 0)
//     strategy.close_all()
// if(strategy.openprofit>0)
//     strategy.close("long",when = close < open )
//     strategy.close("short",when = close > open)
//     strategy.close("long",when= close < open)
//     strategy.close("short",when= close> open)


// tp = input(0.0003)
// sl = input(0.005)
// strategy.exit("closelong", "long" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closelong")
// strategy.exit("closeshort", "short" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closeshort")


Mehr