Może czas, żebyś to przeczytał: book.mql4.com
LOL! Przykro mi, RR, nie chcę ci przeszkadzać. Powoli, ale pewnie czytam tutoriale. Prawdopodobnie bałam się z powodu uprzedzenia, jak rzeczy powinny działać, zamiast tego, w jaki sposób działają. W każdym razie dzięki!Zamieszczone przez ;
Ach, moja zła. W każdym razie, są komplikacje, które musisz wziąć pod uwagę. Jeśli pracujesz na zasadzie kleszcza, cena będzie czasami przewracać się z każdej strony MA, co spowoduje, że twój EA otworzy i zamknie wiele pozycji. Będziesz potrzebował jakiegoś bufora, aby sobie z tym poradzić. EA jest wywoływana przy każdym tiku. Bid i Ask to aktualne ceny przetwarzanego kleszcza. Stawka za bieżący tick = Zamknij [0] paska. Dane wyliczone przez iMA () z indeksem 0 są bieżącą wartością MA. Wstawiony kod #define ABOVE 1 #define BELOW 2 int start () static int prev_state = 0; double ma_current = iMA (NULL, 0,5,0, MODE_SMA, PRICE_CLOSE, 0); if (bidgt; ma_current prev_state = BELOW) {prev_state = POWYŻEJ;/zamknij zamówienie sprzedaży/otwórz zlecenie kupna} if (bidlt; ma1_current state = ABOVE) {prev_state = BELOW;/zlecenie zamknięcia zlecenia/zlecenie otwartej sprzedaży}/warunki uruchomienia zlecenia, jeśli (prev_state == 0) {if (bidgt; = ma_current) prev_state = ABOVE; if (bidlt; ma_current) prev_state = PONIŻEJ; }}Zamieszczone przez ;
Cóż, po krótkim myśleniu uważam, że aby osiągnąć mój cel, AE powinna uzyskać dane z M1 MA. Więc jeśli chcę sygnału generowanego podczas krzyży ceny pozwala powiedzieć 10SMA na wykresie 1 godziny. Będę musiał napisać coś o M1, 600SMA. MA nie będzie idealnie pasować do 1 godziny 10SMA, ale przynajmniej będę miał dane z ostatniego paska M1, który jest tylko 1 minutę w tyle zamiast 60 minut w tyle. Sądzę, że będę musiał spróbować i zobaczyć, czy to wygląda bardziej w czasie rzeczywistym. Jeszcze raz dziękuję za pomoc wszystkim!
Niektóre z twoich komentarzy sugerują względny brak doświadczenia z programowaniem w ogóle.Zamieszczone przez ;