EDMA Scalping Strategy (Exponentially Deviating Moving Average)

This strategy uses crossover of Exponentially Deviating Moving Average (MZ EDMA) along with Exponential Moving Average for trades entry/exits. Exponentially Deviating Moving Average (MZ EDMA) is derived from Exponential Moving Average to predict better exit in top reversal case.

EDMA Philosophy
EDMA is calculated in following steps:
  • In first step, Exponentially expanding moving line is calculated with same code as of EMA but with different smoothness (1 instead of 2).
  • In 2nd step, Exponentially contracting moving line is calculated using 1st calculated line as source input and also using same code as of EMA but with different smoothness (1 instead of 2).
  • In 3rd step, Hull Moving Average with 2/3 of EDMA length is calculated using final line as source input. This final HMA will be equal to Exponentially Deviating Moving Average.
EDMA Defaults
Currently default EDMA and EMA length is set to 20 period which I've found better for higher timeframes but this can be adjusted according to user's timeframe. I would soon add Multi Timeframe option in script too. Chikou filter's period is set to 25.

Additional Features
  • EMA Band: EMA band is shown on chart to better visualize EMA cross with EDMA.
  • Dynamic Coloring: Chikou Filter library is used for derivation of dynamic coloring of EDMA and its band.
  • Trade Confirmation with Chikou Filter: Trend filteration from Chikou filter library is used as an option to enhance trades signals accuracy.

    Strategy Default Test Settings
    For backtesting purpose, following settings are used:
  • Initial capital=10000 USD
  • Default quantity value = 5 % of total capital
  • Commission value = 0.1 %
  • Pyramiding isn't included.
  • Backtesting data never assures that the same results would occur in future and also above settings use very less of total portfolio for trades, which in a way results less maximum drawdown along with less total profit on initial capital too. For example, increasing default quantity value will definity increase maximum drawdown value. The other way is also to use fix contracts in backtesting but it all depends on users general practice. Best option is to explore backtesting results with manually modified settings on different charts, before trusting them for other uses in future.

    Usage and In-Detail Backtesting
    • This strategy has built-in option to enable trade confirmations with Chikou filter which will reduce the total number of trades increasing profit factor.
    • Symmetrically Weighted Moving Average ( SWMA ) on input source, may risk repainting in real-time data. Better option is to run a trade on bar close or simply left this optin unchecked.
    • I've set Chikou filter unchecked to increase number of trades (greater than 100) on higher timeframe (12H) and this can be changed according to your precision requirement and timeframe.
    • Timeframes lower than 4H usually have more noise. So its better to use higher EDMA and EMA length on lower timeframes which will decrease total number of offsetting trades increasing average total number of bars within a single trade.
    Original "Exponentially Deviating Moving Average (MZ EDMA)" Indicator can be found here.
Informacje o Wersji: Removed unnecessary label script
Informacje o Wersji: Added strategy close before entering new one.

Skrypt open-source

Zgodnie z prawdziwym duchem TradingView, autor tego skryptu opublikował go jako open-source, aby traderzy mogli go zrozumieć i zweryfikować. Brawo dla autora! Możesz używać go za darmo, ale ponowne wykorzystanie tego kodu w publikacji jest regulowane przez Dobre Praktyki. Możesz go oznaczyć jako ulubione, aby użyć go na wykresie.

Wyłączenie odpowiedzialności

Informacje i publikacje przygotowane przez TradingView lub jego użytkowników, prezentowane na tej stronie, nie stanowią rekomendacji ani porad handlowych, inwestycyjnych i finansowych i nie powinny być w ten sposób traktowane ani wykorzystywane. Więcej informacji na ten temat znajdziesz w naszym Regulaminie.

Chcesz użyć tego skryptu na wykresie?