Ciklusból kilépés probléma 2015-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: 18
    #4304 |

    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: 631

    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: 18

    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!