Skip to main content

Forex Ordersend Error 130


Hur man slår Orderend Error 130 i MetaTrader 4.By populära efterfrågan, beprövade strategier för hur man slår varje algoritmisk näringsidkare s värsta mardröm Fel 130. Var kommer det här felet från Vad betyder det för din expertrådgivare Hur kan du hitta den del av Din kod som orsakar felet Vi tar itu med allt detta och more. To börja, en formell definition från vår vän, MQL4 Documentation. Det är rätt Det är allt du får från MetaQuotes Och resten Go figure. Ordersend Error 130 nämns kortfattat I andra delar av dokumentationen Men det finns ingen grundlig guide till vad Ogiltiga Stopp betyder faktiskt och hur man hanterar detta, kanske det vanligaste problemet i Forex programmering. Men inte en oro Det är därför jag har skrivit den här artikeln Let's get Genom det här tillsammans. Den tysta mördaren. Så du lanserade din expertrådgivare och inget händer Nej KÖP beställningar, inga SÄLJA order, inga väntande beställningar, inte ens felmeddelanden i loggarna Tyst tyst Du bestämmer dig för att vänta några timmar dagar veckor och n Othing ändrar verkligen diagrammen gå upp och ner, men du ser ingen vinst Det kan gå för alltid. Den verkliga orsaken är enkel att du faktiskt får ERRINVALIDSTOPS vilket är rätt teknisk term för problemet, men du kan inte se det S för att 130 är en tyst mördare En kallblodig mördare av din hjärna och inre lugn. Det finns inget sätt att hämta detta fel genom expertrådsloggar eller till och med terminalloggar. Det enda sättet att fånga det är att lägga till rätt felsäkra mekanismer i Din kod Här är ett exempel du kan anpassa till din kod. Vad vi gör här tar biljettnumret och OrderSend returnerar och kontrollerar om det är mindre än noll Om ja, då är det en signal från MetaTrader 4 som berättar att det där Var ett problem med begäran. Felkoden skrivs sedan ut på skärmen med hjälp av Alert och den inbyggda GetLastError-funktionen Denna kod kommer att ge ett popup-fönster som i bilden upp längst upp i den här artikeln. Notera att du kan Använd Skriv ut istället för Alert för att omdirigera Meddelandet rakt till EAs logg istället för att visa det på skärmen. Orsaken till Ordersend Error 130.Invalid stopp är det riktiga namnet för den skyldige vi har att göra med idag Så vad betyder ogiltiga stopp i MetaTrader 4 faktiskt betyder. För en marknad Beställning KÖP eller SÄLJ, ogiltiga stopp betyder att StopLoss och / eller TakeProfit du begärde inte kunde ställas in för din beställning. Eftersom en förfrågan inte kan fullföljas endast delvis, utfördes inte ordern alls. För en pågående order KÖP STOP, KÖP LIMIT, SÄLJ STOPP eller SÄLJ LIMIT felaktiga stopp innebär att antingen 1 det fanns problem med SL TP samma som ovan OR 2 problemet var med det inmatningspris som du angav för själva beställningen. Som vi kan se är problemet alltid Med ett eller flera av de priser som din Forex Robot angav i sin begäran till handelsservern Nu när vi vet att vår fiende låter s slå den.1 StopLoss TakeProfit är priser. Det finns flera möjliga orsaker till ERRINVALIDSTOPS och en av de vanligaste De amon G nybörjare specificerar StopLoss och TakeProfit i pips i stället för faktiska prisnivåer. Gilla detta. Men var försiktig Vissa EA s har redan moduler som kommer att detektera antalet siffror efter decimal och kommer automatiskt att justera dina ingångsparametrar för dig I dessa situationer Multiplicera ingångar med 10 kan faktiskt leda till felaktig prestanda. Notera jag planerar att skicka en separat artikel där vi kommer att diskutera hur man skapar egna moduler för att upptäcka antalet siffror efter decimal. 3 ECN-mäklare. ECN-konton har sina egna specifikationer En Av dem är när man handlar via en ECN-mäklare kan du inte ställa in StopLoss och / eller TakeProfit med din marknadsorder KÖP eller SÄLJ. Om du försöker göra det får du Error 130. Men du måste naturligtvis ställa in En StopLoss och kanske TakeProfit för din beställning, och detta måste ske så snart som möjligt efter att ordern har genomförts. Prova den här koden. Du kan lägga till den här funktionen till din kod i slutet och sedan använda den istället för O RderSänd i din huvudkod Denna funktion lägger till ett extra steg i processen att skicka en marknadsorder. Först skickar den begäran om att utföra en marknadsordningsföljd som tar bort StopLoss och TakeProfit Next, det ändrar den nyöppnade marknadsordningen genom att lägga till önskat SL och TP. Det finns naturligtvis en risk för att ordern ska utföras, men ändringen kommer att misslyckas. I det fallet kommer funktionen omedelbart att meddela näringsidkaren att StopLoss och TakeProfit inte har ställts in. Känn fri att modifiera Denna funktion som passar dina behov och handelsstil.4 Stop-Levels. Stop-nivåer är en mekanism för mäklare att skydda sig från vissa volatilitets - och likviditetsrelaterade risker. Enkelt uttryckt kommer du inte att kunna ställa in StopLoss eller TakeProfit OR någon Väntande order närmare än ett förutbestämt antal pips till det aktuella marknadspriset. För att ta reda på vad Stop Level är för ett specifikt valutapar måste du trycka CTRL U på tangentbordet, välj önskat valutapar och klicka på Egenskaper-knappen som visas på bilden nedan. I detta exempel är Stop-nivån för AUDUSD 3 Pips Det betyder att du inte kan ställa StopLoss för din order närmare än 3 Pips till det pris som beställningen öppnas på..Detta innebär också att varje pågående order måste sättas åtminstone 3 Pips bort från det aktuella marknadspriset. Om du försöker bryta dessa regler och ställa in en StopLoss TakeProfit eller Pending Order inom Stop Level-området kommer det att få Fel 130 Ogiltigt Stoppar Så bara var uppmärksam på Stopnivån i den valuta där din EA s handlar, don t specificera alltför små StopLoss och TakeProfit parametrar. Det är också värt att notera att fler exotiska valutapar kan ha mycket mer signifikanta stoppnivåer för exempel , För AUDNZD stoppnivån med samma mäklare som i det ovanstående exemplet är 20 pips för GBPSEK brittiska pund vs svenska krone det är 100 pips.5 Normalisering av dubblar. med vissa mäklare finner du att av okänd anledning t Han frågar och budpriser skickas till näringsidkaren med ytterligare försumbara siffror efter decimal. Till exempel. I stället för 1 1606 skulle mäklaren ge dig 1 160600001.Nu detta fenomen har ingen inverkan på manuell handel, eftersom MT4-terminalen är hårdkopplad till Visa ett visst antal siffror efter decimaltalet antingen 4 eller 5 du kommer inte att kunna märka någon skillnad alls. Dock kan dessa försumbara siffror efter decimalen ha en dramatisk effekt på Expert Advisors som orsakar det s rätt Vår gamla vän, OrderSend Error 130. Här är en strategi som jag personligen använder för att skydda mina robotar från den här frågan. Detta snygga lilla trick gör att du kan normalisera i enkla termer Runda alla priser som du matar in i OrderSend-funktionen På så sätt klipper du alla försumbara siffror efter Decimalpunkten. Idag såg vi att det kan finnas flera minst 5 orsaker till felet 130 Även om det här är en hel del är de underliggande frågorna alla triviala och kan korrigeras i min fråga Nutes. Därför bör Error 130 inte räddas. Om du har stött på den här skyldige, handlar det bara om att gå igenom listan ovan och hitta den situation som gäller för dig och tillämpa den föreskrivna lösningen. Hoppade du att den här artikeln var användbar. Jag vet om du har några frågor genom att använda kommentarfältet nedan. Vad väntar du på? KOMMA IGÅNG MED FOREX TRADING ADADEMY. int OrderSend strängsymbolsymbol int cmd operation dubbel volym volym dubbel pris pris int glidning glidning dubbel stoploss stopp förlust dubbel Takeprofit ta vinststräng kommentar NULL kommentar int magic 0 magisk nummer datetime utgång 0 i väntan på order utgång färg pilcolor clrNONE färg. I symbol för handel. I driftstyp Det kan vara någon av affärsuppräkningen. I antal partier. I högsta pris glidning för köp eller sälj order. I Stop-förlustnivå. I ta vinstnivå. I kommentarkommentarstext Den sista delen av kommentaren kan ändras av servern. I Order Magic Number Kan användas som användardefinierad identifierare. I beställningens utgångstid för endast pågående beställningar. I färg på öppnings pilen på diagrammet Om parametern saknas eller har CLRNONE-värde öppnings pilen inte ritas på diagrammet. Återkommer numret på biljetten som tilldelats ordern av handelsservern eller -1 om den misslyckas För att få ytterligare felinformation , Måste man ringa GetLastError-funktionen. När man öppnar en marknadsordning OPSELL eller OPBUY, kan endast de senaste priserna på Bud för försäljning eller Begäran om köp användas som öppet pris. Om operationen utförs med en säkerhet som skiljer sig från den nuvarande, MarketInfo-funktionen måste användas med MODEBID eller MODEASK-parametern för de senaste citat för att denna säkerhet ska erhållas. Beräknat eller oformaliserat pris kan inte tillämpas Om det inte har varit det begärda öppna priset i pristråden eller det inte har normaliserats enligt Antalet siffror efter decimaltal kommer felet 129 ERRINVALIDPRICE att genereras Om det begärda öppna priset är fullständigt föråldrat kommer felet 138 ERRREQUOTE att genereras oberoende på slippa Ge parameter Om det begärda priset är föråldrat, men presenterat i tråden, öppnas ordern till det aktuella priset och endast om det aktuella priset ligger inom priset - slippage. StopLoss och TakeProfit-nivåerna kan inte vara för nära Marknaden Minsta avståndet för stoppnivåer i poäng kan erhållas med hjälp av MarketInfo-funktionen med MODESTOPLEVEL-parametern. Vid felaktiga eller oformaliserade stoppnivåer kommer felet 130 ERRINVALIDSTOPS att genereras. Ett nollvärde av MODESTOPLEVEL betyder antingen avsaknad av några restriktioner på Minimalt avstånd för Stop Loss Take Profit eller det faktum att en handelsserver använder vissa externa mekanismer för dynamisk nivåkontroll, som inte kan översättas i klientterminalen. I andra fallet kan GetLastError returnera fel 130, eftersom MODESTOPLEVEL faktiskt flyter här. Placeringen av en pågående order kan det öppna priset inte vara för nära marknaden. Det minsta avståndet för det pågående priset från den nuvarande marknaden I punkter kan erhållas med hjälp av MarketInfo-funktionen med MODESTOPLEVEL-parametern Vid felaktigt öppet pris för en pågående ordning, kommer felet 130 ERRINVALIDSTOPS att genereras. Användning av väntande orderförfallstid kan inaktiveras i vissa handelsservrar. I det här fallet när Ett icke-nollvärde anges i utgångsparametern, kommer felet 147 ERRTRADEEXPIRATIONDENIED att genereras. På vissa handelsservrar kan den totala antalet öppna och väntande beställningar begränsas. Om denna gräns har överskridits öppnas ingen ny order eller Ingen pågående order kommer att placeras och handelsservern kommer att returnera fel 148 ERRTRADETOOMANYORDERS. -------------------------------------------------- ---------------- Program startfunktion ------------------------------ ------------------------------------ void OnStart --- få minsta stoppnivå dubbelt minimum marknad MarketInfo Symbol, MODESTOPLEVEL Print Minimum Stop Nivå, minstoplevel, poäng dubbel pris Fråga --- beräknade SL och TP priser måste normaliseras dubbel stopplösning NormalizeDouble Bid - minstoplevel Point Digits double takeprofit NormalizeDouble Bid minstoplevel Point Digits --- plats marknadsordning för att köpa 1 lot int biljett OrderSend Symbol, OPBUY, 1, pris, 3, stoploss, takeprofit, min beställning, 16384,0, clrGreen om biljett 0 Skriv ut OrderSend misslyckades med fel GetLastError annars Skriv OrderSend framgångsrikt. Jag tröttde öppna beställningar på testsystemet och fick också Fel 130 Jag fick höra av Oanda du kan inte öppna order via EA s på ett träningskonto lever bara Självklart skulle det vara galet att testa det live De sa att de tittar på det, vad det än betyder Nedre raden, om jag inte kan testa det, kan jag inte använda det Du kan dock köra din EA på strategitestaren men det gör inte det för mig, jag måste se till att min handlade blir exekverad egendom med Oanda och Det enda sättet i mitt sinne att göra det är att få det att handla på demokontot först. Jag testar min EA på Oanda metatrader-plattformen. Dock kan jag bara inte öppna en position med Ordersend. Error Ordersend 130 lot-size 0 1, Fråga 1 3969, SL 1 3899, TP 1 4069. Vad är fel med ordern. Jag hittade senare och svara som fungerade för mig, gå till. Verktygsalternativ Alternativ för expertrådgivare Kryssrutan som säger Tillåt Live Trading och spara ändringen Du borde de Få ett leende ansikte i det övre högra hörnet av diagrammet. Det konto du handlar måste också vara upprättat som ett MT4-konto med Oanda, dvs du kan skapa ett underkonto och när du gör det har det ett alternativ för MT4-aktiverat. Hoppas det här hjälper någon. Jag hittade senare och svarade som fungerade för mig, gå till. Verktygsalternativ Alternativ Expert Advisors Tab Kryssrutan som säger Tillåt Live Handel och spara ändringen Du borde få ett leende ansikte längst upp till höger i diagrammet. Det konto du handlar måste också vara upprättat som ett MT4-konto med Oanda, dvs du kan skapa ett underkonto och när du gör det, Det har ett alternativ för MT4 enabled. Hope det här hjälper någon. Detta har inget att göra med Error 130.

Comments

Popular posts from this blog

Forex Ea Start Med 100

SPECIAL OFFER på PowerFlow EA. Fully Automated Forex Expert Advisor. PowerFlow är ett MetaTrader 4 Expert Advisor fullt automatiserat valutahandelssystem som är fullt med toppmodern handelsteknik. Det är lätt att använda och har utformats för att återställa stabila månadsvinster samtidigt som man behåller Risken på lägsta möjliga nivå. Bakprov baserat på reala marknadsdata och framåtprov på reella konton visar att det är matematisk handelsalgoritm som kan generera höga vinster under alla slags marknadsförhållanden. Varför kommer du att älska PowerFlow EA. It är 100 Automated. All handelsverksamhet exekveras automatiskt utan mänsklig inblandning. Den returnerar konstanta vinster. PowerFlow EA har visat sig vara okänslig för förändringar i marknadsförhållanden. Inbyggd övervakning och varningar. Alla funktioner och marginalnivåer är 24 7 övervakade för att säkerställa Riskerna hålls låga. Inga justeringar krävs. Du kan antingen använda våra mycket lönsamma förinställda filer eller skapa ...