Napisany przez nas robot otwiera pozycję długą, gdy na wykresie pojawi się sekwencja trzech wzrostowych świec, i krótką, gdy pojawi się sekwencja trzech świec spadkowych. Sprawdzając jego działanie na rachunku demo, zauważyliśmy, że zawiera on transakcje zbyt często, a jedynym ograniczeniem jest dla niego wielkość dostępnych na rachunku wolnych środków. Dlaczego tak się dzieje i jak rozwiązać ten problem?
Problem funkcji OnTick()
Zanim przejdziemy do sedna tematu, chcieliśmy zaznaczyć, że tym tekstem wkraczamy na nieco bardziej zaawansowany poziom programowania, do którego zrozumienia potrzebna jest przynajmniej uważna lektura poprzednich materiałów tego dodatku. Ponadto chcieliśmy nadmienić, że wszystkie zaproponowane tutaj rozwiązania dotyczące kodowania poszczególnych elementów robota nie są ani najbardziej efektywne, ani ostateczne. Z programowaniem jest bowiem jak z matematyką – do rozwiązania problemu można dojść na wiele sposobów, a wybór sposobu zależy od preferencji i umiejętności.
Przejdźmy teraz do tytułowego problemu. W poprzednim materiale wspominaliśmy, że instrukcje dla robota umieszczone są wewnątrz funkcji specjalnej „OnTick()", która jest wywoływana za każdym razem, gdy kurs danego aktywa (w przypadku naszego robota jest to para walutowa EUR/USD) wykona...