Napisz Swój Własny System Handlowy
Systemy transakcyjne Coding. Trading systemy to po prostu zestaw reguł, które podmioty gospodarcze używają do określania swoich pozycji i wychodzą z pozycji Rozwój i używanie systemów obrotu może pomóc przedsiębiorcom osiągać spójne zyski, a jednocześnie ograniczać ryzyko W idealnej sytuacji przedsiębiorcy powinni czuć się jak roboty, systematycznie i bez emocji Być może zapytałeś samemu Co zrobić, aby zatrzymać robota z mojego systemu Odpowiedzi Nic Ten samouczek nie przedstawi Ci narzędzi i technik, które możesz wykorzystać do stworzenia własnego zautomatyzowanego systemu handlu. Tworzenie systemów Automatyczne systemy handlowe są tworzone przez przekształcanie reguł systemu handlowego w kody, które komputer może zrozumieć. Następnie komputer obsługuje te reguły za pośrednictwem oprogramowania handlowego, który sprawdza transakcje, które przestrzegają Twoich zasad. Wreszcie transakcje są automatycznie umieszczane w broker. Ten samouczek będzie się koncentrował na drugiej i trzeciej części tego procesu, gdzie Twoje zasady są zamienione na kod, który oprogramowanie handlowe może zrozumieć i używać. Oprogramowanie Trading obsługuje systemy automatyzacji handlu Istnieje wiele programów handlowych, które obsługują zautomatyzowane systemy obrotu Niektóre automatycznie generują i umieszczają transakcje z brokerem Inne automatycznie wykryją transakcje spełniające Twoje kryteria, ale wymaga ręcznego umieszczania zamówień z brokerem. W pełni automatyczne programy handlowe wymagają często korzystania z określonych maklerskich firm obsługujących takie funkcje, które mogą wymagać uzupełnienia dodatkowego formularza autoryzacji. Zalety i wady Automatyczne systemy handlowe mają wiele korzyści, ale mają też swoje wady Jeśli w ogóle ktoś ma system handlu, który automatycznie zarabia przez cały czas, on lub ona by dosłownie posiadał automat do robienia pieniędzy. Automatyczny system pobiera emocje i pracuje z handlarzem, co pozwala skoncentrować się na ulepszaniu strategii i zasadach zarządzania pieniędzmi. Gdy rentowny system i s nie wymaga żadnej pracy z twojej strony, dopóki nie zerwie, a warunki rynkowe wymagają zmiany. Jeżeli system nie jest właściwie zakodowany i przetestowany, duże straty mogą wystąpić bardzo szybko. Czasami nie można umieścić pewnych reguł w kodzie, utrudnia opracowanie zautomatyzowanego systemu handlu. W tym samouczku dowiesz się, jak zaplanować i zaprojektować zautomatyzowany system handlu, jak przetłumaczyć ten projekt na kod, który komputer zrozumie, jak przetestować plan w celu zapewnienia optymalnej wydajności, Wreszcie, jak umieścić swój system w użyciu. Dowiedz się, czy droga mniej podróżowana będzie działać na Twoją korzyść - lub przeciw niemu. System obrotu może zaoszczędzić czas i wzbogacić emocje poza handel, ale przyjęcie umiejętności i zasobów - Dowiedz się więcej tutaj. Większość brokerów dostarczy Ci rekordów handlowych, ale również ważne jest, aby śledzić na własną rękę. Te kroki sprawi, że będziesz bardziej zdyscyplinowany, mądrzejsi i ostatecznie bogatsi handlowcy. Często zadawane pytania. It s importa nt wiedzieć swój stosunek zadłużenia do dochodów, ponieważ to kredytodawcy postrzegają, że mierzycie zdolność do zwrotu. Dowiedz się więcej o dwóch głównych działach operacyjnych firmy Monsanto i jej głównych konkurentów w każdym sektorze, w tym w Mozaika. płatności zapłacone, kwota wypłacona jest kombinacją oprocentowania i spłatą kapitału. Dowiedz się, aby rozróżnić dóbr kapitałowych i dóbr konsumpcyjnych i zobaczyć, dlaczego dobra inwestycyjne wymagają oszczędności i inwestycji. Często zadawane pytania. Ważne jest, aby wiedzieć, w stosunku do dochodów, ponieważ to kredytodawcy używają danych do mierzenia zdolności spłaty. Dowiedz się więcej o dwóch głównych działach operacyjnych firmy Monsanto i jej głównych konkurentów w każdym sektorze, w tym w firmie Mosaic. Kiedy dokonujesz płatności hipotecznej, kwota zapłacone jest kombinacją oprocentowania i spłaty kapitału W ciągu. Dowiedz się, aby rozróżnić dóbr kapitałowych i towarów konsumpcyjnych i zobaczyć, dlaczego dobra inwestycyjne wymagają oszczędności i inwestycji. zrób własny robot handlowy w 6 krokach. Więcej czasu na temat Kreatora MQL5. Świat wokół nas zmienia się szybko i staramy się nadążać za tym Nie mamy czasu, aby nauczyć się czegoś nowego i jest to normalne podejście normalnym człowiekiem Handlowcy to ludzie podobnie jak wszyscy inni, chcą uzyskać maksimum wyników dla minimum wysiłku Specjalnie dla przedsiębiorców, MetaEditor 5 oferuje wspaniały MQL5 Wizard Jest kilka artykułów opisujących jak tworzyć zautomatyzowany system handlu przy użyciu kreatora, włączając lekką wersję MQL5 Wizard for Dummies i wersję od programistów - MQL5 Wizard Nowa wersja. Wszystko wydaje się dobre - robot handlowy jest tworzony za pomocą 5 kliknięć myszą, można przetestować je w Testerze strategii i optymalizować parametry systemu handlowego , możesz pozwolić, aby wynikający z handlu robot na swoim koncie bez potrzeby robienia czegoś innego ręcznie Ale problem pojawia się, gdy deweloper firmy MQL5 chce stworzyć coś własnego, czegoś wyjątkowego, który nigdy nie został opisany w dowolnym miejscu i zamierza napisać swój własny moduł sygnałów handlowych. Przedsiębiorca otwiera dokumentację MQL5, przechodzi do biblioteki standardowej i jest przerażony, widząc, że. Terrorystyczne klasy. Najlepsze klasy. Kreator MQL5 upraszcza tworzenie specjalistycznych doradców , ale najpierw musisz dowiedzieć się, co będzie używane jako dane wejściowe Aby automatycznie utworzyć Expert Advisor za pomocą Kreatora MQL5, upewnij się, że jego komponenty są zgodne z pięcioma podstawowymi klasami sekcji Base Classes of Expert Advisors. CExpertBase to klasa bazowa dla czterech innych klas. CExpert jest klasą do stworzenia robota handlowego, która jest klasą, która zajmuje się handlem. CExpertSignal jest klasą do tworzenia modułu handlowego sygnałów, o artykule chodzi o tą klasę. CExpertTrailing to klasa do śledzenia ochrony Stop Loss. CExpertMoney jest klasą zarządzania pieniędzmi. Oto cała siła wielkiego i straszliwego podejścia, nazywanego programowaniem obiektowym OOP. Ale nie bój się, teraz prawie każdy ma komórkę jedna z wieloma funkcjami, a prawie nikt nie wie jak to działa Nie musimy tego badać omówimy tylko niektóre funkcje klasy CExpertSignal. W tym artykule przechodzimy przez etapy tworzenia modułu sygnałów handlowych a zobaczysz, jak to zrobić bez konieczności uczenia się OOP lub zajęć. Jeśli chcesz, możesz pójść trochę dalej, a następnie 1. Utwórz klasę od zera. Nie będziemy zmieniać żadnego istniejącego modułu sygnałów handlowych na nasze potrzeby, ponieważ jest to sposób na zdezorientowanie W związku z tym po prostu piszemy własną klasę, ale najpierw będziemy używać Nawigatora do utworzenia nowego folderu do przechowywania naszych sygnałów w programie MQL5 Include Expert. Kliknij prawym przyciskiem myszy folder, który utworzyliśmy, wybierz Nowy plik i utworzyć nową klasę dla naszego modułu handlowego signal. Fill w fields. Class Nazwa - nazwa klasy To będzie moduł do generowania sygnałów na przecięciu dwóch średnich kroczących, więc nazwijmy to MACross. Nazwa podstawowa to klasa, z której pochodzi nasza klasa Powinniśmy to wywodzić się z klasy bazowej CExpertSignal. Kliknij Finish i przygotuj nasz moduł, abyśmy gotowi. To wszystko na wschód Wszyscy musimy dodać deklarację include do pliku wynikowego, aby kompilator wiedział, gdzie znaleźć klasę bazową CExpertSignal. Kontrola klasy wynikowej musi być wolna od błędów kompilacji i kliknij przycisk F7 Nie ma błędów i możemy się ruszać.2 Uchwyt do modułu. Nasza klasa jest pusta, nie ma błędów i możemy przetestować - let spróbuj utworzyć nowego Expert Advisor w Kreatorze MQL5 na jego podstawie Dotrzemy do etapu wybierania modułu sygnałów handlowych i zobaczyć, że nasz moduł nie istnieje. A jak to może być tam Nie dodamy żadnych wskazań dla MQL5 Kreator zrozumie, że nasza klasa może być czymś użytecznym Niech to naprawi Jeśli spojrzysz na moduły pakietu standardowego, zobaczysz, że każdy z nich zawiera nagłówek na początku pliku Jest to uchwyt modułu skompilowany zgodnie do pewnych zasad I zasady są bardzo prosta. Na przykład kod źródłowy modułu sygnałów handlowych opartych na AMA znajduje się w opisie logicznym w sygnale średniej ruchomej Adaptive Moving Average i uruchamiamy Kreator MQL5 wybierając ten moduł Compare. Ostatni blok w uchwycie odnosi się do modułu parametry, pierwsza linia zawiera nazwę modułu, który ma być wyświetlany w Kreatorze MQL5 Jak widać, nie ma nic skomplikowanego W ten sposób uchwyt każdego modułu zawiera następujące wpisy. Tytuł - nazwa modułu wyświetlana w MQL5 Wizard. Type - wersja modułu sygnałów Musi być zawsze SignalAdvanced. Name - nazwa modułu po jej wybraniu w Kreatorze MQL5 i jest używana w komentarzach do opisywania wewnętrznych parametrów generowanego eksperta eksperta, najlepiej określonego. ShortName - przedrostek automatycznego nazewnictwa parametrów zewnętrznych w wygenerowanym przez eksperta eksperta w formie krótkiej nazwy sygnału ParameterName. Class - nazwa modułu, który znajduje się w module. Page - parametr aby uzyskać pomoc dla tego modułu tylko dla modułów ze standardowej dostawy. Następny jest opis parametrów w formie listy parametrów Parametry, w których określone są oddzielone przecinkami. Nazwa funkcji do ustawienia wartości parametru podczas uruchamiania Expert Advisor. Typ parametru może być wyliczeniem. Wartość domyślna parametru, czyli wartość, która zostanie ustawiona na parametr, jeśli nie zmienisz go w Kreatorze MQL5. Opis parametru, który widzisz po uruchomieniu Doradcy ds. Ekspertów generowanego w Kreatorze MQL5. Teraz poznajemy to wszystko, niech s stworzy rękojeść naszego modułu sygnałów handlowych Więc piszemy moduł do pobierania sygnałów handlowych na skrzyżowaniu dwóch średnich kroków Musimy należy ustawić co najmniej cztery parametry zewnętrzne. FastPeriod - okres szybkiej średniej szybkości. FastMethod - rodzaj wygładzania średniej szybko poruszającej się. SlowPeriod - okres niskiej średniej ruchomej. SlowMethod - rodzaj wygładzania średniej ruchomej średniej. Można również dodać zmianę i rodzaj cen do obliczenia każdego z ruchomej średniej, ale nic nie zmienia się w zasadzie Więc obecna wersja jest następująca: uchwyt modułu jest gotowy i opisaliśmy w tym miejscu. Nazwa wyświetlana w Kreatorze MQL5 - Sygnały na przecięciu dwóch średnich ruchomych. Four parametr zewnętrzny do skonfigurowania sygnałów handlowych. FastPeriod - okres szybkiej średniej z wartością domyślną 13.FastMethod - rodzaj wygładzania średniej szybko poruszającej się, proste wygładzanie domyślnie. SlowPeriod - okres wolnej średniej ruchomej z domyślną wartością 21.SlowMethod - rodzaj wygładzania wolnej średniej ruchomej, proste wygładzanie domyślnie. Zapisz zmiany i skompiluj Nie powinno być żadnych błędów Uruchom Kreator MQL5, aby sprawdzić, widzisz, nasz moduł jest teraz dostępny do wyboru i pokazuje wszystkie nasze parametry. Gratulacje, nasz moduł handlu sygnałem wygląda świetnie .3 Metody ustawiania parametrów. Następnie trzeba pracować z parametrami zewnętrznymi Ponieważ nasz moduł handlowy jest reprezentowany przez klasę MACross, wówczas jej parametry muszą być przechowywane w tej samej klasie co członkowie prywatni. Dodać cztery linie równe liczbie parametrów do deklaracji klasy We ve już opisano parametr w uchwycie i znać następujące. Ale jak wartości parametrów zewnętrznych modułu pojawiają się w odpowiednich członkach naszej klasy MACross To wszystko jest bardzo proste, wystarczy zadeklarować publiczne metody o tej samej nazwie w klasie, a mianowicie dodać cztery linie do sekcji publicznej. Kiedy wygenerujesz Doradcę ds. Ekspertów na podstawie tego modułu za pomocą Kreatora MQL5 i uruchom go na wykresie, te cztery metody są automatycznie wywoływana podczas inicjowania eksperta. Oto zasada prosta. Reguła tworzenia parametrów w module - dla każdego parametru zadeklarowanego w uchwycie, należy utworzyć członka prywatnego w c lass do przechowywania jego wartości i członka publicznego do ustawiania wartości do niego Nazwa metody musi odpowiadać nazwie parametru. A ostatnia chwila jest ustawienie domyślnych wartości dla naszych parametrów, które będą stosowane w przypadku, gdy metody wartości są nie nazywana Każda zadeklarowana zmienna lub element klasy musi być zainicjowany Ta technika pozwala uniknąć wielu trudnych do znalezienia błędów. W przypadku automatycznej inicjalizacji najlepszym suitingem jest konstruktor klasy, zawsze ten pierwszy, który ma być wywoływany podczas tworzenia obiektu Dla wartości domyślnych użyjemy tych zapisanych w uchwycie modułu. Tutaj członkowie klasy są inicjalizowani za pomocą listy inicjalizacji. Jak widać, nie używaliśmy wskaźników średniej ruchomej Mamy jednak prostą regułę - jak wiele parametrów podano w uchwyt tego modułu, tak wiele metod i elementów powinno znajdować się w klasie, która implementuje moduł Nie ma nic skomplikowanego Jednak nie zapomnij ustawić domyślnych wartości parametrów na konstruktorze.4 Sprawdź na Corr ectness of Input Parameters. We stworzyliśmy parametry dla naszego modułu handlowego, pisemne metody ustalania wartości dla nich, a teraz nadchodzi kolejna ważna faza - poprawność parametrów musi zostać sprawdzona W naszym przypadku musimy sprawdzić okresy średnich kroczących i rodzaj wygładzania do ich obliczenia W tym celu należy napisać własną metodę ValidationSettings w klasie Ta metoda jest zdefiniowana w klasie nadrzędnej CExpertBase, a we wszystkich jej dzieciach jest zobowiązana redefiniowana. Ale jeśli nie wiesz nic o obiektowym programowanie, wystarczy pamiętać - w naszej klasie powinniśmy napisać funkcję ValidationSettings, która nie wymaga żadnych parametrów i zwraca prawdę lub fałsz. Jak widać w publicznie dostępnej części klasy MACross dodaliśmy deklarację metody ValidationSettings, a następnie dodano ciało metody w następującym formularzu. Pierwszy jest typ zwracany, a następnie nazwa klasy, operator rozdzielczości zakresu i wszystko to następuje po nazwie pr ewolucyjnie zadeklarowana metoda Nie zapominaj, że nazwa i typ parametrów muszą odpowiadać deklaracji i opisowi metody klasy Jednak kompilator ostrzega Cię przed takim błędem. Należy zauważyć, że najpierw wywoływana jest metoda klasy podstawowej, a następnie parametry wejściowe są sprawdzane. Jeśli nie dodasz tej linii, wygenerowany przez ekspertów doradca nie będzie mógł zainicjować naszego modułu sygnałów handlowych.5 Gdzie są nasze wskaźniki. Czas pracy ze wskaźnikami, ponieważ wszystkie prace przygotowawcze z parametrami dla nich zostały zakończone Każdy moduł sygnałów handlowych zawiera metodę InitIndicators, która jest automatycznie wywoływana podczas uruchamiania wygenerowanego eksperckiego eksperta W tej metodzie musimy dostarczyć wskaźników przenoszenia średniej dla naszego modułu. Pierwsze zadeklarować metodę InitIndicators w klasie i wklej jego draft. So nie ma nic skomplikowanego, deklarujemy metodę, a następnie po prostu utworzyć organ metody, jak zrobiliśmy dla metody ValidationSettings przede wszystkim nie zapomnij wstawić nazwę klasy i operatora w definicji funkcji Mamy projekt, który możemy wstawić do kodu, aby utworzyć średnie ruchome Let s to zrobić poprawnie - dla każdego wskaźnika tworzymy oddzielną funkcję w klasie, która zwraca true jeśli uda Funkcja może mieć dowolną nazwę, ale niech jej odzwierciedla cel, więc niech s zadzwonić do funkcji CreateFastMA i CreateSlowMA. That s wszystko, musimy tylko napisać kod, który generuje wskaźniki MA i jakoś integruje uchwyty tych wskaźników modułu handlowego, tak aby moduł mógł używać wartości tych wskaźników Z tego powodu wskaźnik przekazany do zmiennej typu CIndicators jest przekazywany jako parametr Poniżej opisano dokumentację. CIndicator to klasa do zbierania przypadków czasów i klasy wskaźników technicznych Klasa CIndicators umożliwia tworzenie instancji klas wskaźników technicznych, ich synchronizację danych dotyczących przechowywania i zarządzania, obsługi i zarządzania pamięcią. Oznacza to, że musimy stworzyć nasze wskaźniki i umieścić je w tej kolekcji. Ponieważ tylko wskaźniki formularza CIndicator i jego dzieci mogą być przechowywane w kolekcji, powinniśmy skorzystać z tego faktu Użyjemy CiCustom, czyli wyżej wymienionego dziecka Dla każdej średniej ruchomej deklarujemy obiekt typu CiCustom w prywatnej części klasy. Oczywiście możesz utworzyć własną klasę wskaźników, która będzie pochodzić z CIndicator i zaimplementować wszystkie niezbędne metody do użycia z MQL5 Wizard Ale w tym przypadku chcemy aby pokazać, w jaki sposób można użyć dowolnego wskaźnika niestandardowego w module handlu sygnałami za pomocą funkcji CiCustom. Here w jaki sposób wygląda w kodzie. W metodzie CreateFastMA najpierw sprawdź wskaźnik zbierania wskaźników, a następnie dodaj wskaźnik szybkiego MA mfastma do tej kolekcji Następnie zadeklaruj strukturę MqlParam, która jest specjalnie zaprojektowana do przechowywania parametrów wskaźników niestandardowych i wypełnia je wartościami. Używamy Custom Moving Average ze standardowego terminala pakiet dostaw jako niestandardowy wskaźnik MA Nazwa wskaźnika musi być wskazywana w odniesieniu do folderu danych MQL5 wskaźników Ponieważ niestandardowy Przechodzenie ze standardowego pakietu znajduje się w folderze danych Przykłady MQL5 Przykłady, określamy ścieżkę zawierającą foldery Przykłady. Jeśli spojrzymy na kod dla tego wskaźnika, możesz zobaczyć wszystkie wymagane dane. Wartości struktury zawierają parę typu value. parameter typu - ciąg do przesłania nazwy wskaźnika. Nazwa pliku wykonywalnego niestandardowego wskaźnika - Niestandardowy Moving. parameter type - wartość int okresu. period średniej ruchowej. parameter typu - int shift value. horizontal przesunięcie średniej w bars. parameter type - wartość enumeracji int jest liczbą całkowitą. method uśredniania. Po wypełnieniu struktury , wskaźnik jest inicjowany przez metodę Utwórz wszystkich wymaganych parametrów symbolu i ramy czasowej, na którą jest obliczany, typu wskaźnika z wyliczenia ENUMINDICATOR, liczba parametrów wskaźników i struktura MqlParam z wartościami parametrów I ostatnia określa ilość buforów wskaźnikowych za pomocą metody NumBuffers. Metoda CreateSlowMA umożliwiająca tworzenie średniej wolnej średniej jest prosta. Przy używaniu wskaźników niestandardowych w module nie zapominaj, że doradca eksperta wygenerowany przez Kreator MQL5 będzie również działał w testerze Na początku naszego pliku dodajemy tester do sprawdzania właściwości nieruchomości, który przekazuje testerowi lokalizację wymaganych wskaźników. Jeśli używamy kilku różnych wskaźników, dodajemy tę linię dla każdego z nich Więc dodaliśmy wskaźniki Dla wygody, niech s dostarczą dwie metody otrzymywania wartości MA. Jeśli widzisz, metody są bardzo proste, używali metody GetData klasy SIndicator, która zwraca wartość z określonego bufora wskaźników w określonej pozycji. Jeśli potrzebujesz klas do pracy z klasycznymi wskaźnikami pakietu standardowego, są one dostępne w sekcji Sekcje do pracy ze wskaźnikami Jesteśmy gotowi, aby przejść do etapu końcowego.6 Zdefiniuj metodę LongCondition i ShortCondition. Everything jest gotowy do pracy i generowania sygnałów handlowych Funkcjonalność ta jest dostarczana przez dwie metody, które muszą być opisane każde dziecko CExpertSignal. LongCondition sprawdza warunki kupna i zwraca siłę długiego sygnału od 0 do 100.ShortCondition - sprawdza stan sprzedaży i zwraca siłę krótkiego sygnału od 0 do 100. Jeśli funkcja zwróci wartość null, oznacza to, że nie ma sygnału handlowego Jeśli istnieją przesłanki dla sygnału, można oszacować siłę sygnału i zwrócić dowolną wartość nieprzekraczającą 100 Ocena siły sygnału pozwala na elastyczne budowanie systemów handlowych opartych na kilku modułach i na rynku modele Więcej informacji o tym w MQL5 Wizard New Version. Ponieważ piszemy prosty moduł sygnałów handlowych, możemy zgodzić się, że sygnały kupna i sprzedaży e równa wartość 100 Pozwólmy na dodanie niezbędnych metod w deklaracji klasy. Należy również, aby s stworzyć opis funkcji Jest to, w jaki sposób sygnał kupna jest sprawdzany jako taki sam ze sprzedawanym sygnałem. Uważaj, że zadeklarujemy zmienną idx, do której przypisana jest wartość zwracana przez funkcję StartIndex klasy nadrzędnej CExpertBase Funkcja StartIndex zwraca 0, jeśli Expert Advisor jest przeznaczony do pracy na wszystkich kreskach, a w tym przypadku analiza zaczyna się od bieżącego paska Jeśli Expert Advisor przeznaczony do pracy w cenach otwartych, StartIndex zwraca 1, a analiza rozpoczyna się od ostatniego utworzonego paska. Domyślnie StartIndex zwraca 1, co oznacza, że Doradca eksperta generowany przez Kreator MQL5 uruchomi się tylko na otwarciu nowego paska i zignoruje przychodzące podczas uruchamiania bieżącego paska. Jak uruchomić ten tryb i jak można go użyć będzie opisany później w zakończeniu skoku. Moduł jest gotowy do użycia, więc niech s stworzy robot handlowy w MQL5 Wizar d na podstawie tego modułu. Sprawdzanie eksperta eksperta w teście. Aby przetestować skuteczność naszego modułu, pozwól s wygenerować specjalny doradca na podstawie tego w kreatorze MQL5 i uruchom go na karcie. Zakładka Wejścia pojawiającego się okna startowego zawiera parametry modułu MACross. All inne parametry zostały dodane przez Kreator MQL5 podczas generowania EA na podstawie wybranego modułu zarządzania pieniędzmi i modułu utrzymania pozycji Trailing Stop Więc musieliśmy tylko napisać moduł sygnałów handlowych i otrzymaliśmy gotowe rozwiązanie Jest to główna zaleta korzystania z MQL5 Wizard. Now próbujmy robota handlowego w MetaTrader 5 Strategy Tester Spróbujmy szybko uruchomić kluczowe parametry. W tych ustawieniach parametrów wejściowych ponad pół miliona przepustek jest wymagana do pełnej optymalizacji Dlatego wybieramy szybki algorytm genetyczny optymalizacji i dodatkowo wykorzystujemy MQL5 Cloud Network w celu przyspieszenia optymalizacji Optymalizacja została wykonana w ciągu 10 minut tzn. otrzymaliśmy rezultaty. Jak widać, tworząc robota handlowy w MQL5 i optymalizacja parametrów wejściowych zajmują dużo mniej czasu, niż by to wymagało zapisywania logiki obsługi logistycznej, debugowania i wyszukiwania najlepszych algorytmów. możesz pominąć ten element lub wrócić do niego później, gdy jesteś całkowicie zadowolony z techniki pisania modułu sygnałów handlowych. Jeśli otworzysz kod źródłowy Doradcy eksperta generowanego przez Kreator MQL5, znajdziesz zmienną globalną ExpertEveryTick z false value Na podstawie tej zmiennej funkcja StartIndex zwraca jej wartość Komunikuje się z Expert Advisor w trybie, w którym powinien być uruchomiony. Jeśli ustawisz ExpertEveryTick true i skompiluj kod, robot handlowy analizuje każdy przychodzący błąd, a tym samym podejmuje decyzje na wartości bieżącego niepełnego paska Zrób to tylko wtedy, gdy wiesz, jak to działa Nie wszystkie systemy handlowe są zaprojektowane do pracy wewnątrz paska. Możesz też dodać słowo kluczowe f lub parametru ExpertEveryTick, a następnie pojawi się nowy parametr wejściowy Expert Advisor, który można ustawić przy starcie EA na wykresie lub w testerze. Teraz nadszedł czas, aby podsumować, co zrobiliśmy. 6. Kroki tworzenia moduł Trading Signals. Jeśli opanowałeś MQL5, nie musisz już pisać Expert Advisor od podstaw Wystarczy utworzyć moduł sygnałów handlowych i oparty na tym module automatycznie wygenerować robot handlowy z włączoną wielkością sprzedaży końcowej i obrotów handlowych moduły zarządzania I nawet jeśli nie jesteś zaznajomiony z OOP lub nie chcesz zagłębiać się w strukturze klas handlowych, możesz po prostu przejść przez 6 kroków. Utwórz nową klasę za pomocą Kreatora MQL5 w osobnym folderze MQL5 Dołącz MySignals Nasz moduł w tym miejscu zostaną zapisane sygnały handlowe. Utwórz uchwyt modułu opisujący parametry, ich typ i wartości domyślne. Zdefiniuj parametry modułu w klasie i dodaj metody inicjowania w konstruktorze. Sprawdź parametry wejściowe a Nie zapomnij zadzwonić do ValidationSettings klasy podstawowej CExpertSignal. Wskaż wskaźniki obiektów i dodaj predefiniowaną metodę inicjalizacji InitIndicators. Identify conditions of trading signals in methods LongCondition and ShortCondition. Each krok jest prosty i wymaga niewielkiej umiejętności w programowaniu MQL5 musisz napisać swój moduł raz, postępując zgodnie z instrukcjami, a następnie sprawdzaj dowolny pomysł na handel, trwa nie więcej niż godzinę, bez zmęczonych godzin kodowania i debugowania. Z prostego na złożenie. Pamiętaj, że strategia handlowa wdrożona przez robota handlową przy użyciu Kreatora MQL5, jest tak złożony jak moduł wykorzystywanych sygnałów handlowych Przed rozpoczęciem budowania złożonego systemu transakcyjnego opartego na zbiorze reguł dotyczących wejścia i wyjścia, należy podzielić go na kilka prostych systemów i sprawdzić każdy oddzielnie na prostych modułach można tworzyć złożone strategie handlowe przy użyciu gotowych modułów sygnałów handlowych, ale jest to temat innego artykułu. Przede wszystkim chciałbym podziękować autorowi za ten artykuł I'm new to MetaTrader, MQL5 i Forex trading, więc te artykuły są naprawdę przydatne podczas testowania tej EA, zauważyłem, że dla zamknięcia długiej pozycji, daje sprzedaż sygnał z podwojonym rozmiarem partii Dlaczego nie tylko zamknąć moją długą pozycję, ale bezpośrednio wpada na ten sam sygnał Jak pierwszy test, aby zrozumieć wszystkie programy, chciałbym tylko długo, więc tylko otwórz i zamknij długi pozycja bez wprowadzania krótkiej pozycji na sygnał sprzedaży końcowej Z góry dzięki. Nie mam jeszcze doświadczenia z programowaniem w MQL, ale mam pewne doświadczenie w programowaniu w innych językach Jednym z najprostszych błędów w programowaniu mojej konkretnej klasy był Java, który jest bardzo podobny w stylu do C i najwyraźniej MQL nie jest zamykanie nawias klamerki jest to jeden z najprostszych błędów, a odwrotnie, jeden z trudniejszych znaleźć KJG, o ile zamykanie długi i zmierzając krótko, i t jest prawdopodobnie tym, co ten styl EA jest przeznaczony do zrobienia Widziałem wiele stylów handlowych tylko z tego typu instalacji, wierzę, że zostały zaprojektowane na rynek, który ma wiele zmienności i szerokie wahania cen pojawiające się cały czas, jak coś co mogłoby się zdarzyć na wykresie ramki minutowej Dobry artykuł, a także zdecydowanie skorzystam z tego i wielu innych tutaj jestem pewny. Postąpiłam zgodnie z instrukcjami w krokach 1 i 2, ale sygnał nie pojawia się w Kreatorze lista dostępnych sygnałów Próbowałem z innymi sygnałami i nic nie działa Może istnieje ograniczenie liczby sygnałów, które mogą być wyświetlane w kreatorze Każdy może pomóc. Oprócz transakcji na stronie Betfair, Betfair umożliwia również dostęp do swoich serwerów za pośrednictwem API Dostęp do API Betfair jest bezpłatny, ale istnieją ograniczenia co do ilości danych, które można pobrać w dowolnym momencie Betfair zastąpił stare API opartego na protokole SOAP-6 0 na API-NG, na podstawie JSON Moje pierwsze wrażenia to takie, że to jest dużo ea sier API, aby zrozumieć i zakodować, że kodowane aplikacje API-NG były dość łatwe bez pomocy innych, w przeciwieństwie do poprzedniego API. Programowania dla Betfair przewodnik po tworzeniu aplikacji handlowych z API-NG, uczy, jak zaprogramować kompletne aplikacja do obrotu na Betfair Obejmuje również budowę baz danych do analizy offline, zautomatyzowanych wykresów Betfair i dyskusji o zaawansowanych technikach handlowych Kliknij tutaj, aby zobaczyć zawartość. Automatyczne zakłady wymiany obejmują obecnie nieistniejące API-6 0, ale przejdzie do szczegółów na temat budowa zautomatyzowanego systemu handlowego Książka obejmuje również korzystanie z kursów kursów, wagi średniej ceny itp., z którymi budujemy systemy transakcyjne. Inną książką, która zawiera szczegółowe informacje na temat budowy systemu zautomatyzowanego zakładu, jest Obliczone zakłady Komputery, hazard i modelowanie matematyczne, aby wygrać pisemnie Profesor Steven Skiena, obliczony zestaw zawiera szczegółowe informacje na temat udanego modelu profesora Jai Alai, rozwijającego strategię handlową gy korzystając z metod Monte Carlo, a następnie wdrażanie automatyzacji zakładów. Korzyści z pisania własnego oprogramowania. Większość oprogramowania licencjonowanego do obrotu osób trzecich Będziesz musiał zapłacić miesięczną opłatę za korzystanie z oprogramowania Oczywiście nie jest tak, gdy piszesz własne oprogramowanie. Jeśli masz pomysł na algorytm obrotu, którego nie można zaimplementować w obecnym oprogramowaniu handlowym innej firmy, a następnie poprosz o dodanie wymaganej funkcjonalności, może powiadomić ich o tym, jaki jest algorytm obrotu. Dostawcy handlu trzecim to zazwyczaj handlowcy również Don Nie daj im swoich pomysłów. W pierwszych dniach handlu algorytmicznego finansowe banki kupowałyby oprogramowanie handlowe od innych firm Niektóre z tych firm prowadziły rejestrowanie oprogramowania, które czytałoby to, co robił przedsiębiorca, a następnie uruchomić to przedsiębiorstwo, które to zamówienie że każdy sprzedawca oprogramowania handlującego sportem zewnętrznym czyta swoje naciśnięcia klawiszy w celach wyszukiwania danych, ale jeśli piszesz własne oprogramowanie, możesz mieć pewność, że Twoje działania nie jest kopiowane. Zaprojektowanie oprogramowania handlowego. Zamiast próbować kodować ostateczną platformę handlową od razu, należy najpierw zbudować proste jednorazowe narzędzia do obsługi powtarzalnych zadań. Możesz następnie dodać własne dane do manipulowania danymi Betfair. Po tym możesz chcesz zautomatyzować śledzenie zakładów i śledzenia Wreszcie możesz kodować bot, który wykonuje wszystkie powyższe czynności, działając zgodnie z własnymi zasadami handlowymi Mój własny system handlu to hybryda, z automatyzacją wielu zadań, ale ostateczna decyzja, kiedy jest handel jest z mnie.
Comments
Post a Comment