EMA returns 10 all the time

 

Hi guys I want to write an expert that I need EMA and SMA it didn't work and I found out the return value of EMA and SMA is alwaus 10!!!

I tried in different TimeFrames , indexes, SMA , EMA but just returns 10!

what am I doing wrong? 

Here is my tiny code for testing the value of EMA200 and it returns EMA:10 continiously

void OnTick()
{
    // Calculate the Exponential Moving Average
    double ema = iMA(_Symbol, PERIOD_CURRENT, 200, 0, MODE_EMA, PRICE_CLOSE);
    Print("EMA: ", ema);
}

I changed Period,TimeFrame everything and in the strategy tester changed all configurationsl like Time Frames , Pairs and ... but it just print EMA:10 all the time!

The Fundamentals of Testing in MetaTrader 5
The Fundamentals of Testing in MetaTrader 5
  • www.mql5.com
What are the differences between the three modes of testing in MetaTrader 5, and what should be particularly looked for? How does the testing of an EA, trading simultaneously on multiple instruments, take place? When and how are the indicator values calculated during testing, and how are the events handled? How to synchronize the bars from different instruments during testing in an "open prices only" mode? This article aims to provide answers to these and many other questions.
Files:
ema.png  57 kb
 

I guess 10 is the handle number.

Look at the example how and where the handle of iMA (or other indicators) are used: https://www.mql5.com/en/docs/indicators/ima

You can even place the cursor on iMA and press F1 to get directly to the help!

Documentation on MQL5: Technical Indicators / iMA
Documentation on MQL5: Technical Indicators / iMA
  • www.mql5.com
iMA - Technical Indicators - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 
sepidezare:

Hi guys I want to write an expert that I need EMA and SMA it didn't work and I found out the return value of EMA and SMA is alwaus 10!!!

I tried in different TimeFrames , indexes, SMA , EMA but just returns 10!

what am I doing wrong? 

Hi sepidezare,

please show the code using the 'Code' button or ALT+S so we can find out what you are doing wrong.

Unfortunately we don't have a crystal ball. :-)

 
It's probably a tiny mistake in the copy buffer or handle, but we need to see your code to help you
 
sepidezare: what am I doing wrong? 
  1. Perhaps you should read the manual, especially the examples.
       How To Ask Questions The Smart Way. (2004)
          How To Interpret Answers.
             RTFM and STFW: How To Tell You've Seriously Screwed Up.

    They all (including iCustom) return a handle (an int). You get that in OnInit. In OnTick/OnCalculate (after the indicator has updated its buffers), you use the handle, shift and count to get the data.
              Technical Indicators - Reference on algorithmic/automated trading language for MetaTrader 5
              Timeseries and Indicators Access / CopyBuffer - Reference on algorithmic/automated trading language for MetaTrader 5
              How to start with MQL5 - General - MQL5 programming forum - Page 3 #22 (2020)
              How to start with MQL5 - MetaTrader 5 - General - MQL5 programming forum - Page 7 #61 (2020)
              MQL5 for Newbies: Guide to Using Technical Indicators in Expert Advisors - MQL5 Articles (2010)
              How to call indicators in MQL5 - MQL5 Articles (2010)

  2. There are no mind readers here and our crystal balls are cracked.
         How To Ask Questions The Smart Way. (2004)
              Be precise and informative about your problem

    We can't see your broken code.

    Always post all relevant code (using Code button) or attach the source file.

 
Miguel Angel Vico Alba #:

Hi sepidezare,

please show the code using the 'Code' button or ALT+S so we can find out what you are doing wrong.

Unfortunately we don't have a crystal ball. :-)

I put the code please check tnx

 
William Roeder #:
  1. Perhaps you should read the manual, especially the examples.
       How To Ask Questions The Smart Way. (2004)
          How To Interpret Answers.
             RTFM and STFW: How To Tell You've Seriously Screwed Up.

    They all (including iCustom) return a handle (an int). You get that in OnInit. In OnTick/OnCalculate (after the indicator has updated its buffers), you use the handle, shift and count to get the data.
              Technical Indicators - Reference on algorithmic/automated trading language for MetaTrader 5
              Timeseries and Indicators Access / CopyBuffer - Reference on algorithmic/automated trading language for MetaTrader 5
              How to start with MQL5 - General - MQL5 programming forum - Page 3 #22 (2020)
              How to start with MQL5 - MetaTrader 5 - General - MQL5 programming forum - Page 7 #61 (2020)
              MQL5 for Newbies: Guide to Using Technical Indicators in Expert Advisors - MQL5 Articles (2010)
              How to call indicators in MQL5 - MQL5 Articles (2010)

  2. There are no mind readers here and our crystal balls are cracked.
         How To Ask Questions The Smart Way. (2004)
              Be precise and informative about your problem

    We can't see your broken code.

    Always post all relevant code (using Code button) or attach the source file.

I've put the code please check

 
Konstantinos Kalaitzidis #:
It's probably a tiny mistake in the copy buffer or handle, but we need to see your code to help you

Please check it tnx

 
sepidezare:

Hi guys I want to write an expert that I need EMA and SMA it didn't work and I found out the return value of EMA and SMA is alwaus 10!!!

I tried in different TimeFrames , indexes, SMA , EMA but just returns 10!

what am I doing wrong? 

Here is my tiny code for testing the value of EMA200 and it returns EMA:10 continiously

I changed Period,TimeFrame everything and in the strategy tester changed all configurationsl like Time Frames , Pairs and ... but it just print EMA:10 all the time!

That was the reason it is solved tnx:) 

 
sepidezare #: I put the code please check tnx
sepidezare #: I've put the code please check
sepidezare #: Please check it tnx

Check what? You haven't posted any corrected code.

I answered your (original) question using your (original) code at #4.

Reason: