Ciklusból kilépés probléma2015-06-02T21:49:18+00:00

Radu.hu Fórum Kérdések az MQL4 programozási nyelvvel kapcsolatban Ciklusból kilépés probléma

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

    Szia Radu!
    Az a gondom, hogy a mellékelt függvényben a ciklus meg kéne, hogy szakadjon, ha az FR értéke <0, és azt utána már ne változtassa, hanem küldje vissza FRAM értékeként, ehelyett folyamatosan változik. Valamit nagyon benézek, de órák óta képtelen vagyok rájönni, hogy mit!
    Megköszönném, ha ránéznél: Kosza

    double FRAM()
    {
    double FRAM;
    double FR;
     int cnt= OrdersTotal();
    
    int i;
    if((LastLoLot()>ShLot()&&ShLot()!=0)||(LastShLot()>LoLot()&&LoLot()!=0))
     { 
    for(i=0; i<cnt; i++)
       {
       if(FR<0)break;
       FR=100*(AccountEquity()/EquityStart-1);
       
       }
      if(FR<0)FRAM=FR;
       
     }  
    return FRAM;   
    }
    
    Radulovic Attila
    Tag
    Bejegyzések száma: 645

    Mindig használj kapcsos zárójeleket, így borzasztó szívástól óvod meg magad hosszabb távon. Nem tudom, hogy a kódod megjavul-e, de átírtam, adjuk meg neki az esélyt.

    A következőkre mindig figyelj oda:

    1. használj kapcsos zárójelet *mindig*
    2. adj alapértéket a változóidnak
    3. ha break-et használsz, előtte tégy meg minden szükséges teendőt – így nem kell többször ugyanazt a feltételt vizsgálnod
    double FRAM() {
       
       double
          FRAM = 0,
          FR = 0;
    
       int
          cnt = OrdersTotal(),
          i;
    
       if((LastLoLot()>ShLot()&&ShLot()!=0)||(LastShLot()>LoLot()&&LoLot()!=0)) {    
          
          for (i=0; i < cnt; i++) {
             
             if (FR < 0) {
                FRAM=FR;
                break;
             }
             
             FR=100*(AccountEquity()/EquityStart-1);
          }
       }  
    
       return(FRAM);
    }
    

    Azért ellenőrizd a többi eljárásodat is, nehogy végül más okozza a problémát.

    kosza
    Tag
    Bejegyzések száma: 23

    Köszi Radu, sajna így is folyamatosan változik a visszaküldött FRAM…, de így legalább biztos vagyok benne, hogy máshol kell a hibát keresnem.
    Kösz még egyszer: Kosza

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