Naprawianie błędu tablicy poza zakresem w MT4 EA - Strona 2
Strona 2 z 2 PierwszyPierwszy 12
Pokaż wyniki od 11 do 13 z 13

Wątek: Naprawianie błędu tablicy poza zakresem w MT4 EA

  1. #11

    Cytat Zamieszczone przez ;
    Zrobiłem EA z następującym... extern int IntIndTF1 = 4; wewn zewn IntInd1S1 = 2; wewn zewn IntInd1S2 = 14; zewn. wewn IntIndTF2 = 1; wewn. zewn IntInd2S1 = 3; wewn. zewn IntInd2S2 = 9; PerH1 = High[iHighest(SymbolToManage,IntIndTF1,MODE_HIGH,IntInd 1S2,IntInd1S1)]; PerL1 = Niski[iLowest(SymbolToManage,IntIndTF1,MODE_LOW,IntInd1S 2,IntInd1S1)]; PerM1 = NormalizeDouble((PerH1 PerL1)/2,cyfry); PerH2 = High[iHighest(SymbolToManage,IntIndTF2,MODE_HIGH,IntInd 2S2,IntInd2S1)]; PerL2 = Niski[iLowest(SymbolToManage,IntIndTF2,MODE_LOW,IntInd2S 2,IntInd2S1)];...
    Spróbuj najpierw naprawić pętlę for, w drugim bloku kodu pętla nigdy się nie uruchamia, więc nie mogą wystąpić żadne błędy: i=0, ale sprawdza igt;Bars. Z i dekrementacja powinna wynosić: for(int i=Bars-IndicatorCounted()-1;igt;0;i#8212

  2. #12

    Cytat Zamieszczone przez ;
    {cytat} Najpierw spróbuj naprawić pętlę for, w drugim bloku kodu pętla nigdy się nie uruchamia, więc nie mogą wystąpić żadne błędy: i=0, ale sprawdza igt;Bars. Z i dekrementacja powinna być następująca: for(int i=Bars-IndicatorCounted()-1;igt;0;i—)
    Kod znajduje się tylko wewnątrz EA, a nie wskaźnik, czy IndicatorCounted() nadal będzie działać wewnątrz EA?

  3. #13

    Cytat Zamieszczone przez ;
    Dodałem -1 do liczby słupków limitu i wydaje się, że działa bez wpływu na jakiekolwiek zmiany w wynikach, więc jest w porządku. Aby upewnić się, że iLowest/iHigheset nie zwraca -1, zrobiłem to, jestem pewien, że nie jest to właściwy sposób b/c wyniki są okropne... int BarsCounted1 = TFBars1-MathMax(IntInd1S2,IntInd1S1 1); if (BarsCounted1 lt; 0) {return;} int LimitBars1 = TFBars1-BarsCounted1; for (LiczbaPasek1 = LimitBars1-1;LiczbaBarów1 gt;= 0;LiczbaBarów1--) { if ((iHighest(SymbolToManage,IntIndTF1,MODE_HIGH,IntI nd1S2,BarCount1 IntInd1S1) lt; 0) || (iLowest(SymbolToManage,Int_IndTF1,MODE) ,IntInd1S2,BarCount1 IntInd1S1)...
    Myślałem o czymś takim wstawiony kod for(int i=(IndicatorCounted()==0)?Bars(symbol,tf)-1-MathMax(IntInd1S2,IntInd1S1 1)::1;igt;0;i#8212; ){ int hi=iNajwyższa(symbol,tf,tryb,IntInd1S2,i); if(hi!=-1)PerH1=High#91;hi#93;; w przeciwnym razie PerH1=-1; int lo=iNajniższy(...); if(lo!=-1)PerL1=Niski#91;lo#93;; w przeciwnym razie PerL1=-1;}

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Używamy cookies
Używamy cookies, aby jak najlepiej dostosować witrynę do Twoich potrzeb. Kontynuowanie przeglądania tej strony, oznacza zgodę na używanie plików cookies. Aby uzyskać więcej informacji zapoznaj się z naszą Polityką Prywatności.