
Cette stratégie est une stratégie d’achat et de vente basée sur l’indicateur de dynamique des prix MACD et la ligne de parité et s’applique à la période d’une heure pour l’argent (XAG/USD, XAG/EUR). Le point clé est de déterminer le moment où la combinaison de la tendance des prix et de l’indicateur de dynamique permet de déterminer le renversement de la tendance.
Le MACD est plus fort à court terme lorsqu’il se transforme négativement et qu’il est en hausse. Il génère un signal à plusieurs têtes si le cours de clôture dépasse la moyenne de la tendance haussière. De même, le MACD se transforme négativement et quitte la ligne de signaux et génère un signal à tête vide si le cours de clôture dépasse la moyenne de la tendance baissière.
Plus précisément, la stratégie définit les conditions d’un signal d’entrée à long terme:
Les conditions pour juger du signal d’entrée de position courte sont tout à fait l’inverse.
Une fois la position ouverte, il y a un plafond inconditionnel lors de la prochaine clôture de la ligne K. La stratégie ne définit pas de point d’arrêt de la perte, mais poursuit le point de départ de la rupture de la tendance.
Cette stratégie, combinée à des indicateurs de prix et de dynamique, permet de déterminer plus précisément le moment où la tendance est inversée, avec une probabilité de victoire plus élevée. Une méthode de liquidation sans condition de la ligne K peut efficacement éviter une nouvelle perte après l’échec du renversement.
Il n’y a pas d’arrêt-stop-loss et les positions sont ouvertes à pleine capacité pour répondre aux besoins des investisseurs qui recherchent des rendements élevés.
Les réglages sans perte sont facilement emprisonnés et présentent un risque élevé de perte. Si le signal de retour échoue et ne peut pas être arrêté à temps, il peut y avoir une perte de fonds importante.
Il est difficile de continuer à capturer les bénéfices de la tendance si une ligne K se ferme sans condition.
On peut envisager d’ajouter des stratégies de stop loss appropriées pour réduire le risque de pertes sur la base d’achats de rupture avec un taux de victoire plus élevé.
Il est possible de combiner des techniques avancées avec des mécanismes de réouverture après la clôture de la position, pour tenter de capturer des bénéfices de tendance.
Cette stratégie est généralement une stratégie de risque élevé et agressive. En raison de la configuration sans perte, l’investisseur doit supporter un risque de perte élevé. Cependant, le taux de rendement élevé peut également être obtenu lors de l’ouverture complète de la position au premier moment après une reprise réussie.
/*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")