OrderModify-fout - Page 2
Page 2 of 634 FirstFirst 1234 LastLast
Results 11 to 20 of 31

Thread: OrderModify-fout

  1. #11

    Quote Originally Posted by ;
    Waarom kan je niet gewoon proberen ... if (entry! = OrderOpenPrice () ...? Als je, zoals je zegt, allebei 4 cijfers hebt, is het niet nodig om het te normaliseren. Of, als ze geen 4 cijfers zijn (en zijn groter), dan door te verklaren dat entry = OrderOpenPrice () zou moeten dekken. Dat betekent natuurlijk niet dat er geen instanties zijn waar je misschien nummers moet normaliseren, maar hier niet denk ik niet.
    EC, ik waardeer het dat je me probeert te helpen, maar ik denk niet dat je begrijpt wat ik hier probeer te bereiken. laat me proberen meer uit te leggen. in mijn programma de variabele dubbele invoer = de prijs Ik wil dat mijn winkel een verkoopstoporder plaatst op basis van een vergelijking die ik heb gemaakt met behulp van een paar indiors. double entry1 = de prijs Ik wil dat mijn ea een buystop-bestelling plaatst op basis van een vergelijkbare vergelijking met de sellstop-bestelling. dus wanneer mijn vergelijkingen een andere waarde produceren voor mijn invoer, en entry1-variabelen wil ik de verkoopstop en buystop-orders wijzigen om de orderopenprice () naar de nieuwe invoerwaarde of item1 te verplaatsen. Het werkt prima, de EA is bezig met het aanpassen van de orders wanneer de waarde van entry en entry1 verandert, het enige probleem dat ik heb is dat het probeert om entry1 te wijzigen, zelfs als het gelijk is aan de huidige orderopenprijs () op de buystop-order. vandaar mijn vergelijking: Ingevoegd Code # 91; kleur = # 0000ff # 93; als # 91;kleur # 93; (OrderSymbol () == # 91; color = # 8a2be2 # 93; Symbol # 91;color # 93; () OrderType () == OP_BUYSTOP RiskManagement == true) {# 91; b # 93; # 91; color = # 0000ff # 93, # 91 als;kleur # 93; (# 91; kleur = # 8a2be2 # 93; Normalize Dubbel # 91;kleur # 93; (entry1, # 91; color = # 008000 # 93; 4 # 91;color # 93! = OrderOpenPrice ()) # 91;b # 93; {OrderModify (OrderTicket (), entry1, stoploss1, takeprofit1, # 91; color = # 008000 # 93; 0 # 91;color # 93;, # 91; color = # 008000 # 93; 0 # 91;color # 93; }} In de vetgedrukte tekst hierboven, probeer ik te zeggen dat als de 4-cijferige invoerprijs niet gelijk is aan de openstaande prijs van de bestelling, deze dan wijzigt en de buystop-prijs wijzigt in de nieuwe invoerprijs. Als dit niet duidelijk wordt, bedankt voor het proberen te helpen, maar ik denk niet dat ik het beter kan uitleggen. Sorry als het verwarrend is.

  2. #12

    Quote Originally Posted by ;
    Sorry, ik kan zien hoe mijn formulering in de vorige post verwarrend kan zijn. wat ik zei is dat als mijn ingangsvariabele gelijk is aan de openstaande prijs van de openstaande bestellingen, deze onderstaande functie niet naar zijn verklaring mag gaan ....
    Hallo bauer, ik neem aan dat uw invoer en invoer1 is gebaseerd op de prijs die op de grafiek wordt weergegeven, namelijk de biedwaarde. De open prijs van Sell is in Bod en de open prijs van Buy is in Ask. Dus om een ??????goede vergelijking te krijgen, moet je de open orderkoers van Buy vergelijken met entry1 spread. De verklaring voor Kooporder zou moeten zijn: if (NormalizeDouble (entry1,4) MarketInfo (Symbol (), MODE_SPREAD)! = OrderOpenPrice ()) Nog een ding, zoals je in het eerste bericht hebt vermeld, je moet voorzichtig zijn bij het vergelijken van twee tweepersoonskamers. Maar, Imo, dit is niet de reden waarom de vergelijking werkt voor de verkooporder, maar niet voor de kooporder. Hoop dat dit helpt

  3. #13
    Ja, dit kan even duren ............ U moet meer informatie geven over hoe die posten worden berekend. Probeer ook de printfuncties direct na de orderselectie te plaatsen, zodat u de alle variabelen onder alle omstandigheden kunt inspecteren. Het helpt je niet om de variabelen af ??????te drukken wanneer het werkt, je moet weten wat ze zijn als het zijn werk niet doet. Dus, waarom voert het de aankoop uit, maar niet de verkoop ......... Waarschijnlijk omdat de variabele entry1 niet is wat je denkt dat het is ... maar je print het niet, dus hoe gaat het ooit weten?

  4. #14
    na het herlezen van uw problemen en het zien dat u een fout in de ordermodifiie kreeg, is er een mogelijkheid dat de huidige prijs te dicht bij de waarde entryentry1 lag. dus, voordat u een opdracht ordermodify verzendt, voert u de volgende controle uit:/Haal de waarde StopLevel: double StopLevel = MarketInfo (Symbol (), MODE_STOPLEVEL) * Point; ..../sellstop-bestelling if (entry lt; Bid-StopLevel) OrderModify (..... ..../buystop order if (entry1 gt; Ask StopLevel) OrderModify (..... u zou moeten zorg er ook voor dat de huidige OrderOpenPrice () verschillen van de nieuwe OrderOpenPrice () if (MathAbs (entry-OrderOpenPrice ()) gt; StopLevel)

  5. #15

    Quote Originally Posted by ;
    Hallo bauer, ik neem aan dat uw invoer en invoer1 is gebaseerd op de prijs die op de grafiek wordt weergegeven, namelijk de biedwaarde. De open prijs van Sell is in Bod en de open prijs van Buy is in Ask. Dus om een ??????goede vergelijking te krijgen, moet je de open orderkoers van Buy vergelijken met entry1 spread. De verklaring voor Kooporder zou moeten zijn: if (NormalizeDouble (entry1,4) MarketInfo (Symbol (), MODE_SPREAD)! = OrderOpenPrice ()) Nog een ding, zoals je in het eerste bericht hebt vermeld, je moet voorzichtig zijn bij het vergelijken van twee tweepersoonskamers. Maar,...
    Bedankt, helaas zou de verspreiding er niet toe doen, omdat ik een lopende buystop voor de bestelling selecteer en de open prijs aanpast, ik begrijp dat deze zal openen tegen de ask-waarde, maar dat het niet uitmaakt wanneer een openstaande openstaande order wordt gewijzigd. Ik heb je bovenstaande functie geprobeerd, alleen omdat ik ongelijk had, aangezien ik nog steeds erg nieuw ben bij deze programmering en het probleem niet is opgelost. Ik heb 2 afdrukfuncties in de instructie net boven de functie ordermodify en ze drukken de waarde van entry1 af en vervolgens de waarde order0000 () Dit is het logboek --------- 13:08:20 2008.11.13 12 : 01 EA GBPUSD, H4: 1.5494 lt; ---- entry1 prijs 13:08:20 2008.11.13 12:01 EA GBPUSD, H4: 1.5494 lt; ---- orderopenprice () 13:08:20 2008.11.13 12:01 EA GBPUSD, H4: OrderModify-fout 1 -------------------- zoals je kunt zien is de open prijs exact gelijk aan de openprijs, en het probeerde nog steeds om wijzig de volgorde, zelfs als de instructie niet had moeten worden uitgevoerd.

  6. #16
    Quote Originally Posted by ;
    Sorry, ik kan zien hoe mijn formulering in de vorige post verwarrend kan zijn.
    Ja, ik baseerde mijn antwoord op wat je zei in je tweede bericht, en dat soort gooide me. Ik zei wat voor mij overduidelijk leek, voor mij, of op zijn minst twijfelachtig. Dat gezegd hebbende, is het waarschijnlijk het beste om een ??????stapje terug te doen en u en een paar van deze andere mensen te laten verzorgen. Bedankt.

  7. #17

    Quote Originally Posted by ;
    Bedankt, helaas zou de verspreiding er niet toe doen, omdat ik een lopende buystop voor de bestelling selecteer en de open prijs aanpast, ik begrijp dat deze zal openen tegen de ask-waarde, maar dat het niet uitmaakt wanneer een openstaande openstaande order wordt gewijzigd. Ik heb je bovenstaande functie geprobeerd, alleen omdat ik ongelijk had, aangezien ik nog steeds erg nieuw ben bij deze programmering en het probleem niet is opgelost. Ik heb 2 afdrukfuncties in de instructie net boven de functie ordermodify en ze drukken de waarde van entry1 en vervolgens de waarde orderoneprice () Dit is het log --------- 13:08:20 ...
    Je hebt gelijk, ik heb het probleem verkeerd gelezen als een kooporder in plaats van een koopstoporder. Om de prijsvergelijkingsproblemen te verhelpen, kunt u de volgende functie proberen: PHP-code: <code> <span style = ???color: # 000000???> <span style = ???color: # 0000BB???> boolisEqual </span> <span style = ???Color: # 007700???> (</span> <span style = ???color: # 0000BB???> doubled1 </span> <span style = ???color: # 007700???>, </span> <span style = ??? kleur: # 0000BB ???> doubled2 </span> <span style =??? color: # 007700 ???>)
    {
    retour (</span> <span style =??? color: # 0000BB ???> MathAbs </span> <span style = ???color: # 007700???> (</span> <span style = ???color: # 0000BB???> NormalizeDouble </span> <span style = ???color: # 007700???> (</span> <span style = ???color: # 0000BB???> d1 </span> <span style = ???color: # 007700???>, </span> <span style = ???color: # 0000BB???> Cijfers </span> <span style = ???color: # 007700???>) - </span> <span style = ???color: # 0000BB???> NormalizeDouble </span> <span style = ???color: # 007700???> (</span> < span style = ???color: # 0000BB???> d2 </span> <span style = ???color: # 007700???>, </span> <span style = ???color: # 0000BB???> Cijfers </sp een> <span style = ???color: # 007700???>)) lt; </span> <span style = ???color: # 0000BB???> 0.1 </span> <span style = ???color: # 007700???> * <span> <span style = ???color: # 0000BB???> Point </span> <span style = ???color: # 007700???>);
    }
    </span> <span style = ??? kleur: # 0000BB ???> </span> </span> </code> voorbeeld: PHP-code: <code> <span style =??? color: # 000000 ???> <span style =??? color: # 0000BB ???> </span> <span style = ???color: # 007700???> if (! </span> <span style = ???color: # 0000BB???> isEqual </span> <span style = ???color: # 007700???> (</span> <span style = ???color: # 0000BB???> entry1 </span> <span style = ???color: # 007700???>, </span> <span style = ???color: # 0000BB???> OrderOpenPrice </span> <span style = ???color: # 007700???> ())
    {

    }
    </span> <span style = ???color: # 0000BB???> </span > </span> </code>

  8. #18

    Quote Originally Posted by ;
    na het herlezen van uw problemen en het zien dat u een fout in de ordermodifiie kreeg, is er een mogelijkheid dat de huidige prijs te dicht bij de waarde entryentry1 lag. dus, voordat u een opdracht ordermodify verzendt, voert u de volgende controle uit:/Haal de waarde StopLevel: double StopLevel = MarketInfo (Symbol (), MODE_STOPLEVEL) * Point; ..../sellstop-bestelling if (entry lt; Bid-StopLevel) OrderModify (..... ..../buystop order if (entry1 gt; Ask StopLevel) OrderModify (..... u zou moeten zorg er ook voor dat de huidige OrderOpenPrice () verschillen van de nieuwe OrderOpenPrice () if (MathAbs (entry-OrderOpenPrice ()) ...
    Sangmane, ik heb veel geleerd van het lezen van je codelogica hierboven. Ik heb mijn code gewijzigd in de volgende en toegevoegde afdrukfuncties in de wijzigingsbestelling, zodat we kunnen zien wat er gebeurt. Hier is het logboek voor een paar bestellingen: 14:25:42 2008.11.13 12:00 EAwork181 GBPUSD, H4: open # 1 koop stop 0.03 GBPUSD op 1.5494 sl: 1.4823 tp: 1.6135 ok 14:25:42 2008.11.13 12 : 00 EAwork181 GBPUSD, H4: BUYSTOP geopend: 1.5494 14:25:42 2008.11.13 12:00 EAwork181 GBPUSD, H4: open # 2 verkopen stop 0.03 GBPUSD op 1.4823 sl: 1.5494 tp: 1.4182 ok 14:25:42 2008.11. 13 12:00 EAwork181 GBPUSD, H4: SELLSTOP volgorde geopend: 1.4823 14:25:43 2008.11.13 12:00 EAwork181 GBPUSD, H4: entry = 1.4823 14:25:43 2008.11.13 12:00 EAwork181 GBPUSD, H4: orderopenen = 1.4823 14:25:43 2008.11.13 12:00 EAwork181 GBPUSD, H4: OrderModify-fout 1 14:25:43 2008.11.13 12:00 EAwork181 GBPUSD, H4: entry1 = 1.5494 14:25:43 2008.11.13 12: 00 EAwork181 GBPUSD, H4: orderopen = 1.5494 14:25:43 2008.11.13 12:00 EAwork181 GBPUSD, H4: OrderModify-fout 1 Zoals u kunt zien, is de buystop de enige functie waarmee de 2 gelijke waarden kunnen worden doorgegeven aan de uitspraak. Hieronder staat de volledige code: Inserted Code int totalorders = OrdersTotal (); for (int i = totalorders-1; igt; = 0; i--) {OrderSelect (i, SELECT_BY_POS); if (OrderSymbol () == Symbol () OrderType () == OP_SELLSTOP RiskManagement == true) {if (MathAbs (entry-OrderOpenPrice ()) gt; 0) {if (entry lt; Bid-StopLevel) {Afdrukken (item =, entry); Print (orderopen =, OrderOpenPrice ()); OrderModify (OrderTicket (), ingang, stoploss, takeprofit, 0,0); }}} if (OrderSymbol () == Symbol () OrderType () == OP_SELLSTOP RiskManagement == false) {if (MathAbs (entry-OrderOpenPrice ()) gt; 0) {if (entry lt; Bid-StopLevel) { OrderModify (OrderTicket (), ingang, toegang (StopLossPips * Point), entry- (TakeProfitPips * Point), 0,0); }}} if (OrderSymbol () == Symbol () OrderType () == OP_BUYSTOP RiskManagement == true) {if (MathAbs (entry1-OrderOpenPrice ()) gt; 0) {if (entry1 gt; Ask StopLevel) { Print (= entry1, entry1); Print (orderopen =, OrderOpenPrice ()); OrderModify (OrderTicket (), entry1, stoploss1, takeprofit1,0,0); }}} if (OrderSymbol () == Symbol () OrderType () == OP_BUYSTOP RiskManagement == false) {if (MathAbs (entry1-OrderOpenPrice ()) gt; 0) {if (entry1 gt; Ask StopLevel) { OrderModify (OrderTicket (), entry1, entry1- (StopLossPips * Point), entry1 (TakeProfitPips * Point), 0,0); }}}

  9. #19
    Probeer zoiets te plaatsen na orderselectie en laat ons de resultaten zien bool result = NormalizeDouble (entry, 4)! = OrderOpenPrice (); bool result1 = NormalizeDouble (entry1,4)! = OrderOpenPrice ()) Print (entry = NormalizeDouble (entry, 4)); Print (entry1 = NormalizeDouble (entry1,4); Print (OrderOpenPrice = OrderOpenPrice ()); Print (resultaat = resultaat); Print ('result1 = result1);

  10. #20
    Er is een gekrulde beugel ontbreekt in de bovenstaande code. Ik moet weten waar je het hebt.

Similar Threads

  1. MT4 Metatrade-fout?
    By alvaroabm in forum Cryptocurrencies
    Replies: 3
    Last Post: 18:54,
  2. DLL-fout 126
    By jpdraz in forum Cryptocurrencies
    Replies: 1
    Last Post: 12:53,

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.