tizedesjegyek2013-09-05T16:57:22+00:00

Címkézve: 

3 bejegyzés megtekintése - 1-3 / 3
  • Szerző
    Bejegyzés
  • Ferex17
    Tag
    Bejegyzések száma: 2

    Szia Radu!

    Most tanulom az MQL 4-ben Expert Advisor-ok írását. Írtam egy EA-t amely a legutóbbi 9 gyertya árfolyamértéke közül a legmagasabbat számolja ki, és írja a teszter ablak napló fülébe. A gondom az, hogy a program kiszámolja ugyan a legnagyobb High értéket, de abból levágja a tizedesjegyeket és csak az egész értéket adja vissza. Például ha a 9 gyertya legnagyobb High értéke 76,54 akkor az EA 76-t ad vissza eredményként nem pedig a pontos értéket. Mit rontok el? Lehet, hogy a MetaTrader-emet kellene valahol beállítanom?

    Íme az EA:

    //+------------------------------------------------------------------+
    //|                                                  legmagasabb.mq4 |
    //|                        Copyright 2013, MetaQuotes Software Corp. |
    //|                                        http://www.metaquotes.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2013, MetaQuotes Software Corp."
    #property link      "http://www.metaquotes.net"
    
    
    
    int legmagasabb = 0;
    
    
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
    //----
    
    
       legmagasabb = iHigh(Symbol(),0,iHighest(Symbol(),0,MODE_HIGH,9));
       Print (legmagasabb);
    
     
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+

    Köszönettel:
    Gergő

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Használj double -t a legmagasabb változó esetében, ne integert. Utóbbi csak egész számokra használható, ezért vágja le a törtrészt a Metatrader.

    Ferex17
    Tag
    Bejegyzések száma: 2

    Köszönöm, így már jól működik. Bocsánat a triviális kérdésért, még nagyon az elején járok. 🙂

3 bejegyzés megtekintése - 1-3 / 3

A hozzászóláshoz jelentkezz be!

Adhatok Neked még több ingyenes tartalmat?

Értesítelek hetente megjelenő új tartalmaimról.

Hozzájárulok, hogy az adatvédelmi nyilatkozat szerint biztonságosan kezeld megadott adataimat, valamint hasznos anyagokat és egyedi ajánlatokat küldj nekem termékeiddel, szolgáltatásaiddal kapcsolatban e-mailben