Zrobiłem EA z następującymi...
zewn. wewn IntIndTF1 = 4;
wewn zewn IntInd1S1 = 2;
wewn zewn IntInd1S2 = 14;
zewn. wewn IntIndTF2 = 1;
wewn. zewn IntInd2S1 = 3;
wewn. zewn IntInd2S2 = 9;
Wstawiony kod PerH1 = High#91;iHighest(SymbolToManage,IntIndTF1,MODE_HIG H,IntInd1S2,IntInd1S1)#93;; PerL1 = Niski#91;iLowest(SymbolToManage,IntIndTF1,MODE_LOW ,IntInd1S2,IntInd1S1)#93;; PerM1 = NormalizeDouble((PerH1 PerL1)/2,cyfry); PerH2 = High#91;iHighest(SymbolToManage,IntIndTF2,MODE_HIG H,IntInd2S2,IntInd2S1)#93;; PerL2 = Niski#91;iLowest(SymbolToManage,IntIndTF2,MODE_LOW ,IntInd2S2,IntInd2S1)#93;; PerM2 = NormalizeDouble((PerH2 PerL2)/2,cyfry);
Działało świetnie, dopóki nie zacząłem testować z nim innych symboli, a potem pojawił się przerażający błąd Array poza zasięgiem, więc zmieniłem go na ten ...
Wstawiony kod int BarCount = Bars; if (BarCount lt; 1) BarCount = 1; for (int i=0; igt;Bars; i--) { PerH1 = High#91;iHighest(SymbolToManage,IntIndTF1,MODE_HIG H,IntInd1S2,i IntInd1S1)#93;; PerL1 = Niski#91;iLowest(SymbolToManage,IntIndTF1,MODE_LOW ,IntInd1S2,i IntInd1S1)#93;; PerM1 = NormalizeDouble((PerH1 PerL1)/2,cyfry); PerH2 = High#91;iHighest(SymbolToManage,IntIndTF2,MODE_HIG H,IntInd2S2,i IntInd2S1)#93;; PerL2 = Niski#91;iLowest(SymbolToManage,IntIndTF2,MODE_LOW ,IntInd2S2,i IntInd2S1)#93;; PerM2 = NormalizeDouble((PerH2 PerL2)/2,cyfry); } Wygląda na to, że liczba błędów tablicy poza zakresem uległa zmniejszeniu. JEDNAK teraz nie mogę go zmusić do symulacji poprzednich ustawień, które spisywały się dobrze...
zewn. wewn IntIndTF1 = 4;
wewn zewn IntInd1S1 = 2;
wewn zewn IntInd1S2 = 14;
zewn. wewn IntIndTF2 = 1;
wewn. zewn IntInd2S1 = 3;
wewn. zewn IntInd2S2 = 9;
Testowałem zakresy 1 i -1, ale EA nie powraca teraz do tych samych obliczonych wartości dla tych samych słupków. Jak zmienić kod, aby wyeliminować błędy, zachowując poprzednio przetestowane wartości i wyniki.
To jest w EA, które nie używają wskaźnika. Wartości HHLL znajdują się w samym EA. Chcę, aby był w stanie odczytać i uzyskać te same wyniki dla zmiennej extern na pasku, który wyzwala sygnał.