Sunday 5 November 2017

Forex Orderend Error 130


Jak pokonać błąd Ordersend 130 w programie MetaTrader 4.Jednak popularny popyt, udowodnione strategie na temat pokonania każdego algorytmicznego podmiotu gospodarczego najgorszego koszmaru Błąd 130. Gdzie ten błąd pochodzi z Co to oznacza dla eksperta eksperta Jak można znaleźć część Twój kod, który powoduje błąd Spotykamy się z tym wszystkimi innymi. Na początek oficjalna definicja naszego przyjaciela, dokumentacja MQL4. To prawda To wszystko masz z MetaQuotes I reszta Idź post. w innych sekcjach dokumentacji Nie ma jednak dokładnego przewodnika po to, co nieprawidłowe pory rzeczywiście oznacza i jak radzić sobie z tym, być może, najczęstszym problemem w programowaniu Forex. Ale nie martw się To dlaczego napisałem ten artykuł Pozwólmy przez to razem militarny zabójca. Rozpoczęcie doradcy eksperta i nic się nie stanie Brak zamówień KUP, brak zamówień SPRZEDAŻY, brak oczekujących zamówień, a nawet komunikaty o błędach w dziennikach Tylko cisza Ty decydujesz się czekać kilka godzin dni tygodnie, a n othing naprawdę zmienia wykresy w górę iw dół, ale nie widzisz żadnych zysków To może iść na zawsze. Prawdziwy powód jest prosty, a ty rzeczywiście zaczyna ERRINVALIDSTOPS, który jest poprawnym terminem technicznym dla tego problemu, ale nie możesz zobaczyć bo 130 jest milczącym mordercą Morderczym mordercą mózgu i wewnętrznym spokojem. Nie ma sposobu na poradzenie sobie z tym błędem za pośrednictwem dzienników ekspertów, a nawet dzienników terminalów Jedynym sposobem na złapanie tego jest dodanie właściwych mechanizmów failsafe do Twój kod Oto przykład, który możesz dostosować do swojego kodu. To, co tutaj robimy, polega na podaniu numeru biletu, a OrderSend zwraca i sprawdza, czy jest mniej niż zero. Jeśli tak, to jest to sygnał z MetaTrader 4, informujący nas, że tam był problem z żądaniem. Kod błędu jest następnie drukowany na ekranie przy użyciu funkcji Alert (Alert) i wbudowanej funkcji GetLastError Ten kod wyświetli okno wyskakujące, takie jak w obrazie u góry tego artykułu. użyj opcji Drukuj zamiast alertu, aby przekierować komunikat prosto do dziennika EA zamiast wyświetlać go na ekranie. Core Ordersend Error 130.Invalid stops jest prawdziwą nazwą sprawcy, z którymi mamy do czynienia dzisiaj Tak co naprawdę oznacza nieprawidłowe zatrzymanie w MetaTrader 4. W przypadku rynku zamówić KUP lub SPRZEDAĆ niewłaściwych zatrzymań oznacza, że ​​żądane żądanie StopLoss i lub TakeProfit nie były możliwe do zamówienia W związku z tym, że żądanie nie może zostać zrealizowane tylko częściowo, zamówienie nie zostało w ogóle wykonane. W przypadku oczekującego zlecenia KUP KUP, zatrzymaj się OGRANICZAĆ, SPRZEDAĆ STOP lub SPRZEDAĆ OGRANICZAĆ nieprawidłowe limity oznacza, że ​​1 z tymi problemami dotyczyło SL TP tak samo jak powyżej LUB 2 problem dotyczył ceny wejścia określonej dla samego zamówienia. Jest to, że problem jest zawsze z jedną lub wieloma cenami, które Twój Robot Forex określił w swoim żądaniu na serwerze handlowym Teraz, gdy znamy naszego wroga, niech się to bierze. StopLoss TakeProfit to ceny. Istnieje kilka możliwych przyczyn ERRINVALIDSTOPS i jeden z częstszych amon g początkujący określają StopLoss i TakeProfit w pipsach, a nie w rzeczywistych poziomach cenowych. Podobnie jak to. Należy jednak zachować ostrożność Niektóre EA posiadają już moduły, które wykryją liczbę cyfr po dziesiętnych i automatycznie dostosują parametry wejściowe dla Ciebie W tych sytuacjach pomnożenie przez 10 wejściów może prowadzić do błędnych wyników. Zauważ, że planuję zamieszczenie oddzielnego artykułu, w którym omówimy, jak utworzyć własne moduły, aby wykryć liczbę cyfr po przecinku dziesiętnym. 3 Księgi ECN. z nich jest w przypadku obrotu przez pośrednik ECN nie będzie można ustawić StopLoss i lub TakeProfit z zamówieniem na zlecenie rynkowe lub SPRZEDAJĄCEGO Jeśli spróbujesz to zrobić, otrzymasz Błąd 130. Oczywiście musisz oczywiście ustawić StopLoss, a może TakeProfit dla Twojego zamówienia, a to musi być zrobione jak najszybciej po wykonaniu zlecenia Spróbuj tego kodu. Możesz dodać tę funkcję do swojego kodu na samym końcu, a następnie użyć go zamiast O rderZmień w głównym kodzie Ta funkcja dodaje dodatkowy krok w procesie wysyłania zlecenia rynkowego. Najpierw wysyła żądanie, aby wykonać zlecenie rynkowe pozbawiając StopLoss i TakeProfit Next, modyfikuje nowo otwarte zamówienie rynkowe, dodając pożądane SL i TP. Jest to oczywiście ryzyko, że zamówienie zostanie wykonane, ale modyfikacja nie powiedzie się. W takim przypadku funkcja natychmiast poinformuje przedsiębiorcę, że program StopLoss i TakeProfit nie zostały ustawione. Mogą być zmodyfikowane Ta funkcja jest dostosowana do Twoich potrzeb i stylu handlowego. Stop-Levels. Stop-Levels to mechanizm, w którym brokery chronią się przed pewną zmiennością i ryzykiem związanym z płynnością. W prostych słowach nie będzie można ustawić opcji StopLoss lub TakeProfit LUB oczekując zamówienia bliżej z góry ustalonej liczby Pipsów do aktualnej ceny rynkowej. Aby dowiedzieć się więcej na temat Poziomu Stop dla określonej pary walutowej, musisz nacisnąć klawisz CTRL U na klawiaturze, wybrać żądaną parę walut i kliknąć przycisk Właściwości, jak pokazano na rysunku poniżej. W tym przykładzie Stop Stop dla AUDUSD wynosi 3 Pipsy Oznacza to, że nie będzie można ustawić StopLoss dla Twojego zamówienia bliżej niż 3 Pipsy do ceny, po której zostanie otwarte zamówienie . Oznacza to również, że jakiekolwiek oczekujące zlecenie będzie musiało zostać ustawione co najmniej 3 Pips od aktualnej ceny rynkowej. Jeśli Robot próbuje złamać te zasady i ustawić TakePlus lub Zamówienie oczekujących na StopLoss w zakresie Stop Stop, to otrzymasz Błąd 130 Nieprawidłowe przerwy Więc po prostu pamiętaj o Stopie Poziomie waluty, w której są prowadzone transakcje EA, nie określaj zbyt małych parametrów StopLoss i TakeProfit. Warto też zauważyć, że bardziej egzotyczne pary walutowe mogą mieć znacznie większe stopnie przykładowe stopnie stopu , dla AUDNZD stopień Stop z tym samym brokerem, jak w powyższym przykładzie to 20 Pipsów dla GBPSEK Funt brytyjski vs Szwedzka Krone to 100 Pipsów.5 Normalizacja podwójnych. Z niektórymi brokerami dowiesz się, że z nieznanego powodu t on pyta i ceny ofertowe są przekazywane do przedsiębiorcy z dodatkowymi pomijalnymi cyframi po dziesiętnym na przykład. Zamiast 1 1606 broker daje Ci 1 160600001.Nie to zjawisko nie ma wpływu na handel ręczny, ponieważ od terminala MT4 jest podłączony do wyświetla określoną liczbę cyfr po przecinku dziesiętnym 4 lub 5, nie będzie można zauważyć żadnej różnicy. Niemniej jednak te nieistotne cyfry po przecinku mogą mieć dramatyczny efekt na Doradców Specjalnych, powodując to dobrze Nasz stary przyjaciel, OrderSend Error 130.Jest to strategia, którą ja osobiście wykorzystuję, aby chronić moje roboty przed tym problemem. Ten prosty trick pozwala na normalizację w prosty sposób Okrągły kurs, który wprowadzasz do funkcji OrderSend W ten sposób wycinasz wszystkie nieznaczne cyfry po punkt dziesiętny. Następnie widzimy, że może być wiele co najmniej 5 powodów do błędu 130 Chociaż jest to dość mało, podstawowe zagadnienia są trywialne i mogą być poprawione w ciągu kilku minut Dlatego nie należy się obawiać Błędu 130. Jeśli napotkasz tego sprawcę, to tylko kwestia przeanalizowania powyższej listy, znalezienia sytuacji, która ma zastosowanie do Ciebie i zastosowanie zalecanego rozwiązania. Mam nadzieję, że ten artykuł okaże się przydatny. ja wiem, jeśli masz jakieś pytania, używając sekcji komentarzy poniżej. Czekasz na. GET Zaczynając z ADEX FOREX ADADEMY. int OrderSend string symbol symbol int cmd operacja double volume volume double price price int poślizg slajdów podwójny stoploss stop loss double takeprofit take profit string comment NULL komentarz magiczna magia 0 magiczna ilość datetime expiration 0 oczekujące na wygaśnięcie kolor colorcolor color colorcolor color_colorNONE. w Symbol do obrotu. w typ operacji Może być dowolną z wyliczeń operacji Trade. w liczbie partii. w maksymalnej ślizgowej cenie w przypadku zleceń kupna lub sprzedaży. w stop loss loss. w Take poziom zysku. w tekście komentarza Ostatnia część komentarza może zostać zmieniona przez serwer. w zamówieniu numer magiczny Może być używany jako identyfikator użytkownika. w zamówieniu czasu ważności dla oczekujących zamówień. w kolorze strzałki otwarcia na wykresie Jeśli brak parametru lub nie jest rysowany strzałka wartości CLRNONE na wykresie. Powtarza numer biletu przypisany do zlecenia przez serwer handlu lub -1, jeśli nie powiedzie się, aby uzyskać dodatkowe informacje o błędach , należy zadzwonić do funkcji GetLastError. W przypadku otwarcia zlecenia rynkowego OPSELL lub OPBUY tylko ostatnie ceny ofertowe na sprzedaż lub zapotrzebowanie na kupno mogą być wykorzystane jako cena otwarta Jeśli operacja jest wykonywana przy użyciu zabezpieczenia różnego od aktualnego, funkcja MarketInfo musi być używana z parametrem MODEBID lub MODEASK w celu uzyskania najnowszych notowań dotyczących tego zabezpieczenia. Nie można zastosować kalkulacji lub nienormalizowanej ceny. liczba cyfr po przecinku dziesiętnym, błąd 129 ERRINVALIDPRICE zostanie wygenerowany Jeśli żądana cena otwarta jest w pełni przestarzała, błąd 138 ERRREQUOTE będzie generowany niezależnie na slippa parametr ge Jeśli wymagana cena jest nieaktualna, ale obecna w wątku, zamówienie zostanie otwarte po aktualnej cenie i tylko wtedy, gdy obecna cena leży w przedziale cenowym. Poziomy StopLoss i TakeProfit nie mogą być zbyt bliskie rynek Minimalna odległość poziomów zatrzymania w punktach może być uzyskana za pomocą funkcji MarketInfo z parametrem MODESTOPLEVEL W przypadku błędnych lub nienormalizowanych poziomów zatrzymania zostanie wygenerowany błąd 130 ERRINVALIDSTOPS Zerowa wartość MODESTOPLEVEL oznacza brak jakichkolwiek ograniczeń dotyczących minimalna odległość dla Stop Loss Take Profit lub fakt, że serwer handlu wykorzystuje pewne zewnętrzne mechanizmy dynamicznej kontroli poziomu, których nie można przetłumaczyć na terminalu klienta W drugim przypadku GetLastError może zwrócić błąd 130, ponieważ MODESTOPLEVEL rzeczywiście jest pływający tutaj. złożenie zlecenia oczekującego, cena otwarta nie może być zbyt blisko rynku Minimalna odległość oczekującej ceny od obecnego rynku w punktach można uzyskać za pomocą funkcji MarketInfo z parametrem MODESTOPLEVEL W przypadku fałszywej otwartej ceny z zlecenia oczekującego zostanie wygenerowany błąd 130 ERRINVALIDSTOPS. Zarządzanie czasem oczekiwania na wygaśnięcie zamówienia może zostać wyłączone na niektórych serwerach handlowych W tym przypadku, gdy w parametrze wygaśnięcia zostanie podana wartość niezerowa, zostanie wygenerowany błąd 147 ERRTRADEEXPIRATIONDENIED. Niektóre serwery handlowe łączna kwota otwartych i oczekujących zamówień może być ograniczona Jeśli limit został przekroczony, nie zostanie otwarte nowe zamówienie ani nie zostanie złożone zamówienie, a serwer handlowy zwróci błąd 148 ERRTRADETOOMANYORDERS. -------------------------------------------------- ---------------- Funkcja uruchamiania programu skryptowego ------------------------------ ------------------------------------ void OnStart --- dostaj minimalny stop stop podwójny minstoplevel MarketInfo Symbol, MODESTOPLEVEL Drukuj Minimalny poziom Stopu, minstoplevel, punkty podwójna cena Zadaj pytanie --- obliczone ceny SL i TP muszą być znormalizowane podwójny stoploss NormalizeDouble Bid - minstoplevel Point cyfry double takeprofit NormalizeDouble Bid minstoplevel Point Digits --- miejsce na rynku kupno kupić 1 lot int ticket OrderSend Symbol, OPBUY, 1, cena, 3, stoploss, takeprofit, mój zlecenie, 16384,0, clrGreen, jeśli bilet 0 DrukowanieZamówienie nie powiodło się z błędem GetLastError else Kolejność wydruku została zakończona pomyślnie. I zmęczone zamówienia otwarte w systemie testowym, błąd 130 Powiedziano mi przez Oandę, że nie możesz otwierać zamówień za pośrednictwem konta EA na koncie z praktyką tylko na żywo Oczywiście, że byłoby to szalone, aby przetestować to na żywo Powiedzieli, że patrzą na nie, niezależnie od tego, co oznacza Dolna linia, jeśli mogę to przetestować, nie używam tego Możesz jednak uruchomić swoją EA na testerze strategii, ale to nie robi to dla mnie, muszę upewnić się, że moje transakcje są wykonywane z Oanda i Jedynym sposobem na zrobienie tego jest posiadanie handlu na koncie demonstracyjnym. Badam moją EA na platformie Metatrader Oandy. Jednak nie mogę otworzyć pozycji z Ordersend. Error Ordersend 130 lot-size 0 1, Zapytaj 1 3969, SL 1 3899, TP 1 4069.Co jest złe w zamówieniu. Następnie znalazłem i odpowiadam, że udało się dla mnie przejść do. Opcje narzędzia Opcje Doradcy karty Tab pole wyboru, które mówi "Zezwalaj na handel na żywo i zapisaj zmiany" Powinieneś uzyskać uśmiech na twarzy w prawym górnym rogu wykresu. Również konto, z którym się handlujesz, musi zostać skonfigurowane jako konto MT4 w Oanda, tzn. możesz utworzyć konto podrzędne, a kiedy to zrobisz, ma możliwość włączenia MT4. Mam nadzieję, że to pomaga someone. I później znalezione i odpowiedzi, które pracowały dla mnie przejść do Options. Tools Expert Advisors Tab pole wyboru, które mówi Allow Live Prowadzenie transakcji i zapisywanie zmian Powinieneś otrzymać uśmiech na twarzy w prawym górnym rogu wykresu. Ponadto konto, z którym się handlujesz, musi zostać skonfigurowane jako konto MT4 w Oanda, tzn. Możesz utworzyć konto podrzędne, a kiedy to zrobisz, ma opcję włączenia MT4.Jeśli to pomoże someone. This nie ma nic wspólnego z Error 130.

No comments:

Post a Comment