Hallo zusammen,
Ich würde gerne von Ihnen Hilfe bei diesem Problem erhalten;
Wenn ein Auftrag offen ist und der Preis unter dem Preis des offenen Auftrags liegt, möchte ich einen entgegengesetzten Auftrag öffnen.
In diesem speziellen Fall versuche ich, diesen Code zu verwenden, aber ohne Erfolg. Kann mir hier jemand helfen?
Vielen Dank im Voraus
Luis
Könnten Sie diese Frage beantworten, es wird Ihnen sehr helfen:
1. Was ist der Rückgabewert von OrderSelect() - lesen Sie die Dokumentation von OrderSelect wird Ihnen helfen, dies zu beantworten.
2. Welcher Fehler tritt auf, wenn Sie die Bestellung nicht senden können?
Hallo zusammen,
Ich würde gerne von Ihnen Hilfe bei diesem Problem erhalten;
Wenn ein Auftrag offen ist und der Preis unter dem Preis des offenen Auftrags liegt, möchte ich einen entgegengesetzten Auftrag öffnen.
In diesem speziellen Fall versuche ich, diesen Code zu verwenden, aber ohne Erfolg. Kann mir hier jemand helfen?
Was ist der Zweck der VariableUsePoint? wenn Sie erklären können, warum Sie es verwenden, werden Sie wahrscheinlich verstehen, was Ihr Problem ist ... auch ... woher kommt der Wert vonOpenPrice ?
Wollen Sie nicht wissen, ob Ihre OrderSend() funktioniert oder nicht? Und wenn sie fehlschlägt, wollen Sie nicht wissen, warum? Wollen Sie nicht wissen, welche Variablen relevant waren, als sie fehlschlug?
Lesen Sie dies:Was sind Funktionsrückgabewerte? Wie kann ich sie verwenden?
Hallo RaptorUK;
vielen Dank für Ihre prompte Antwort;
UsePoint soll für 5 Dezimalstellen angepasst werden, ist also Point*10
OpenPrice ist OrderOpenPrice()
Vielen Dank!
Luis
Hallo RaptorUK;
vielen Dank für Ihre prompte Antwort;
UsePoint dient zur Anpassung an 5 Dezimalstellen, ist also Point*10
Können Sie erklären, warum Sie es in dieser Situation verwenden?
Hallo RaptorUK,
Sie haben recht. Ich muss das nur für TakeProfit und Stoploss verwenden (denke ich...)
Hallo RaptorUK,
Sie haben recht. Ich muss das nur für TakeProfit und Stoploss verwenden (denke ich...)
Hallo RaptorUK,
Ich habe einen Blick auf den Link, den Sie zur Verfügung gestellt und setzen Sie auf den Code die Fehler-Routine und der Fehler, der gerade zurückgegeben sagt 2012.11.06 06:40 Marktauftrag ecn v1 EURUSDi,M5: Order Send fehlgeschlagen, Fehler # 4051.
Dann auf den Code habe ich einige Änderungen auf OrderSelect und verwenden Ticket getan, aber die Dinge immer noch nicht funktioniert. Auch habe ich eine Suche nach der Bedeutung und was ich gefunden istERR_INVALID_FUNCTION_PARAMVALUE (4051) und leider weiß ich nicht
wie man von hier aus weiterkommt...
double OpenOppositeOrder() { int Op; // for(int Counter=0;Counter<=OrdersTotal()-1;Counter++) for(int Counter=OrdersTotal()-1;Counter>=0;Counter--) { //OrderSelect(Counter,SELECT_BY_POS,MODE_TRADES); OrderSelect(Ticket,SELECT_BY_TICKET); { if(OrderSymbol()==Symbol()&& OrderMagicNumber()==MagicNumber) { Op=OrderType(); if(Op==OP_BUY && NormalizeDouble(Bid,Digits)<OpenPrice) { Ticket = OrderSend(Symbol(),OP_SELL,LotSize,NormalizeDouble(Bid,Digits),UseSlippage,0,0,"Sell Order",MagicNumber,0,Red); if(Ticket>0)AddLimitsSell(); } if( Ticket > 0 ) { Print("Order placed # ", Ticket); } else { Print("Order Send failed, error # ", GetLastError() ); } if(Op==OP_SELL && NormalizeDouble(Ask,Digits)>OpenPrice) { Ticket = OrderSend(Symbol(),OP_BUY,LotSize,NormalizeDouble(Ask,Digits),UseSlippage,0,0,"Buy Order",MagicNumber,0,Green); if(Ticket>0)AddLimitsBuy(); } if( Ticket > 0 ) { Print("Order placed # ", Ticket); } else { Print("Order Send failed, error # ", GetLastError() ); } } } } }
Hallo RaptorUK,
Ich habe einen Blick auf den Link, den Sie zur Verfügung gestellt und setzen Sie auf den Code die Fehler-Routine und der Fehler, der gerade zurückgegeben sagt 2012.11.06 06:40 Marktauftrag ecn v1 EURUSDi,M5: Order Send fehlgeschlagen, Fehler # 4051.
Dann auf den Code habe ich einige Änderungen auf OrderSelect und verwenden Ticket getan, aber die Dinge immer noch nicht funktioniert. Auch habe ich eine Suche nach der Bedeutung und was ich gefunden istERR_INVALID_FUNCTION_PARAMVALUE (4051) und leider weiß ich nicht
wie man von hier aus weiterkommt...
Sie müssen die Werte, die Sie an die Funktion OrderSend() senden, überprüfen ... sind es die richtigen Typen ? zum Beispiel mussUseSlippage ein int sein, es klingt wie ein bool ... ist LotSize ein double? liegt es im richtigen Bereich ? größer als Min Lot und kleiner als Max Lot und ein Vielfaches von Lot Step ?
Hallo RaptorUK,
Es tut mir leid, dass ich Ihre Zeit in Anspruch nehme, wahrscheinlich werden Sie meiner überdrüssig. Also Slippage ist ein int und LotSize ist ein double....und die Dinge immer noch schlecht....
Ich gebe mir wirklich noch Mühe, das zu verstehen, aber es scheint, dass meine Unwissenheit ausgenutzt wird(...)
Mal scheint es ein Problem mit dem Tester zu sein und dann versuche ich es mit Demo. Und hier kann ich keine gegenteilige Order öffnen, wenn der Preis unter dem OrderOpenPrice (für Buy) liegt.
Könnten Sie bitte einen Blick in den beigefügten Code werfen?
Ich möchte nicht, dass Sie den Code für mich schreiben, sondern nur eine kleine Hilfe.
Ich danke Ihnen im Voraus für jede Hilfe und auch für Ihre Geduld.
Luis
Hallo RaptorUK,
Es tut mir leid, dass ich Ihre Zeit in Anspruch nehme, wahrscheinlich werden Sie meiner überdrüssig. Also Slippage ist ein int und LotSize ist ein double....und die Dinge immer noch schlecht....
Ich gebe mir wirklich noch Mühe, das zu verstehen, aber es scheint, dass meine Unwissenheit ausgenutzt wird(...)
Mal scheint es ein Problem mit dem Tester zu sein und dann versuche ich es mit Demo. Und hier kann ich keine gegenteilige Order eröffnen, wenn der Preis unter dem OrderOpenPrice (für Buy) liegt.
Könnten Sie bitte einen Blick in den beigefügten Code werfen?
Ich möchte nicht, dass Sie den Code für mich schreiben, sondern nur eine kleine Hilfe.
Ich danke Ihnen im Voraus für jede Hilfe und auch für Ihre Geduld.
Warum haben Sie den richtigen Code in einen falschen Code geändert?
Ihre Schleife ging durch alle Orders im Trades Pool (offene und schwebende Orders) . . . jetzt macht dieser Code keinen Sinn, woher kommt das Ticket beim ersten Durchlauf in der Schleife ?
for(int Counter=OrdersTotal()-1; Counter>=0; Counter--) { //OrderSelect(Counter,SELECT_BY_POS,MODE_TRADES); OrderSelect( Ticket, SELECT_BY_TICKET);
noch eine Frage an dich . ... warum ist diese Funktion vom Typ double, wenn sie nichts zurückgibt?

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo zusammen,
Ich würde gerne von Ihnen Hilfe bei diesem Problem erhalten;
Wenn ein Auftrag offen ist und der Preis unter dem Preis des offenen Auftrags liegt, möchte ich einen entgegengesetzten Auftrag öffnen.
In diesem speziellen Fall versuche ich, diesen Code zu verwenden, aber ohne Erfolg. Kann mir hier jemand helfen?
Vielen Dank im Voraus
Luis