
La stratégie de rupture croisée rapide des EMA en or est une stratégie simple et efficace pour suivre les tendances du marché. Elle utilise la moyenne des EMA de différentes périodes pour effectuer des ruptures croisées, générant des signaux d’achat et de vente. L’idée de base est la suivante: lorsque les EMA de courte période traversent les EMA de longue période, un signal d’achat est généré; lorsque les EMA de courte période traversent les EMA de longue période, un signal de vente est généré.
La stratégie repose principalement sur la comparaison des moyennes des EMA de 5 cycles, 8 cycles et 13 cycles pour générer des signaux de négociation. Elle comprend:
Ainsi, on obtient l’effet de suivre la tendance de la longue ligne moyenne. Lorsque la courte moyenne périodique traverse la longue moyenne périodique sur la ligne moyenne, cela signifie que la tendance à court terme se transforme en tête de série et peut être achetée; lorsque la courte moyenne périodique traverse la longue moyenne périodique sous la ligne moyenne, cela signifie que la tendance à court terme se transforme en tête de série et devrait être vendue.
Les principaux avantages de cette stratégie sont les suivants:
Cette stratégie comporte aussi des risques:
Cette stratégie peut être optimisée dans les directions suivantes:
En résumé, la stratégie de rupture rapide de la croix d’or EMA fonctionne bien dans l’ensemble, le signal est plus fiable, la retraite est faible et convient au suivi de la tendance de la ligne moyenne longue. Par l’optimisation des paramètres et l’amélioration des règles, il est possible d’obtenir de meilleurs résultats stratégiques.
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
// @It is modified by ttsaadet.
// Moving average crossover systems measure drift in the market. They are great strategies for time-limited people.
// So, why don't more people use them?
//
//
strategy(title="EMA Crossover Strategy by TTS", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000)
// === GENERAL INPUTS ===
//strategy start date
start_year = input(defval=2020, title="Backtest Start Year")
// === LOGIC ===
short_period = input(type=input.integer,defval=5,minval=1,title="Length")
mid_period = input(type=input.integer,defval=8,minval=1,title="Length")
long_period = input(type=input.integer,defval=13,minval=1,title="Length")
rsi_period = input(type=input.integer,defval=14,minval=1,title="Length")
longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(close,short_period)
midEma = ema(close,mid_period)
longEma = ema(close,long_period)
rsi = rsi(close, rsi_period)
[diplus, diminus, adx] = dmi(short_period, short_period)
plot(shortEma,linewidth=2,color=color.red,title="Fast")
plot(midEma,linewidth=2,color=color.orange,title="Fast")
plot(longEma,linewidth=2,color=color.blue,title="Slow")
longEntry = crossover(shortEma,midEma) and crossover(shortEma,longEma) //or ((shortEma > longEma) and crossover(shortEma,midEma)))and (adx > 25)
shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma))
plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle")
plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle")
plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign")
// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
longEntry and
time > timestamp(start_year, 1, 1, 01, 01)
exitLong() =>
crossunder(shortEma,longEma) or crossunder(close, longEma)
strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())
// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() =>
not longOnly and shortEntry and
time > timestamp(start_year, 1, 1, 01, 01)
exitShort() =>
crossover(shortEma,longEma)
strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())