Znalazłem je w jakimś poradniku i dość mocno zmodyfikowałem, właściwie to już zupełnie inne EA.
EA modyfikuje SL w oparciu o ATR (zmienność).
Jeżeli w zleceniu nie ma SL (w platformach ECN skrypt otwierający zlecenie wraz ze SL i TP nie zadziała poprawnie),
to EA ustawia taki SL wraz z TP.
W zasadzie całość działa poprawnie. Dopóki SL ma normalną szerokość, to EA modyfikuje go bez jakiegokolwiek błędu. Problemy zaczynają się gdy EA zaczyna zacieśniać SL, tzn.: EA zawęża SL do 0,8 lub 0,6 jego normalnej części, po osiągnięciu określonego zysku.
Oczywiście SL zostaje zmodyfikowany ale strategia cały czas, wraz z każdym nowym tickiem, próbuje ponowić tę operację, co kończy się błędem nr: 1 ("Nie ma błędu, ale wynik jest nieprawidłowy" - ze strony BOSSA.pl).
Problem dotyczy wyłącznie części kodu zacieśniającego SL.
Mógłbym na to machnąć ręką ale przy dość dużej aktywności rynku problem ten może doprowadzić do zawieszenia się komputera.
Właściwie nie mam już konceptu jak rozwiązać ten problem.
Nie oczekuję gotowca, byłbym wdzięczny za podpowiedź gdzie popełniłem błąd.
-- Dodano: śr 12-12-2012, 21:59 --
Myślę, że znalazłem odpowiedź.
Kod: Zaznacz cały
Średnia(1) - 0.6 * Zmienność(1)
Kod: Zaznacz cały
NormalizeDouble(Średnia(1) - 0.6 * Zmienność(1), Digits)
Kod: Zaznacz cały
(Średnia(1) - 0.6 * Zmienność(1)) > SL
Kod: Zaznacz cały
SL = NormalizeDouble(Średnia(1) - 0.6 * Zmienność(1), Digits);
Jutro to sprawdzę w działaniu.
W sumie głupi błąd.
-- Dodano: śr 12-12-2012, 22:52 --
Oczywiście, chodzi mi w powyższym o sytuacje, w których wartości funkcji Średnia(1) i Zmienność(1) nie ulegają zmianie.