Cette stratégie est une stratégie de rupture basée sur l'indicateur de dynamique des prix MACD et la moyenne mobile, adaptée à un délai d'une heure sur l'argent (XAG/USD, XAG/EUR).
Lorsque l'histogramme MACD passe de négatif à positif et qu'il traverse continuellement la ligne de signal, cela indique que la tendance haussière à court terme est plus forte. En même temps, si le prix de clôture traverse la tendance à la hausse de la moyenne mobile, il génère un signal long. De même, lorsque l'histogramme MACD passe de positif à négatif et tombe en dessous de la ligne de signal, et que le prix de clôture tombe en dessous de la tendance à la baisse de la moyenne mobile, il génère un signal court.
Plus précisément, les conditions de détermination du signal d'entrée longue de cette stratégie sont les suivantes:
Les conditions de détermination du signal d'entrée courte sont tout le contraire.
Une fois la position ouverte, elle est fermée inconditionnellement à la fermeture de la ligne K suivante.
Cette stratégie combine des indicateurs de prix et de dynamique pour déterminer plus précisément le moment des renversements de tendance avec un taux de gain plus élevé.
Aucun paramètre de prise de profit et de stop loss ne répond aux besoins des investisseurs qui recherchent des rendements élevés.
L'absence de stop loss peut facilement entraîner une fixation des pertes et un risque plus élevé de perte.
La manière de clôture inconditionnelle dans la ligne K suivante rend difficile la capture continue des bénéfices de tendance.
Il est possible d'envisager d'ajouter des stratégies d'arrêt-perte appropriées sur la base d'achats de rupture à gain élevé afin de réduire le risque de perte.
Il est également possible de combiner des techniques avancées pour réentrer dans les positions après la clôture, en essayant de capturer continuellement les bénéfices de tendance.
En général, cette stratégie appartient à une stratégie agressive à haut risque. En raison de l'absence de paramètre de stop loss, les investisseurs doivent supporter un plus grand risque de perte. Mais si l'inversion est réussie, l'opportunité d'ouvrir des positions avec des lots complets en premier lieu peut également entraîner des rendements élevés.
/*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")