Guten Morgen,
Sehr gut, ich verstehe nur eine Sache nicht. Wenn ich den Auftrag in WIN und WDO platziere, öffnet der EA 6 Aufträge mit der Anzahl der Kontrakte, die ich in "Hebelwirkung" eingegeben habe. Selbst wenn ich also mit 1 Kontrakt handeln möchte, kann ich das nicht, es werden 6 eröffnet.
Ist dies ein Konzept, das ich übersehen habe? Ich bin ein Anfänger, also gehe ich von dieser Prämisse aus.
Vielen Dank für Ihren Beitrag.
Ist dies ein Konzept, das ich übersehen habe? Ich bin ein Anfänger, also gehe ich von dieser Prämisse aus.
Vielen Dank für Ihren Beitrag.
Es könnte sein, dass das System mehr als einen Auftrag sendet, wenn Sie mit der Maus klicken, die Gründe dafür könnten unterschiedlich sein, aber danke für den Hinweis 😁👍, um dieses Problem zu lösen, müssen Sie einen zusätzlichen Test hinzufügen, wenn Sie mit der Maus klicken, die zu ändernden oder hinzuzufügenden Punkte sind in GRÜN markiert ... Stellen Sie sicher, dass Sie es richtig eingeben, sonst wird der Auftrag möglicherweise nicht gesendet oder vom Server nicht akzeptiert ... aber das Hinzufügen dieses zusätzlichen Tests sollte Ihr Problem lösen. Die Logik ist wie folgt: Wenn die Maus angeklickt wird, wird die Variable STATIC gesetzt und erst wieder zurückgesetzt, wenn die Maus nicht mehr gedrückt wird, damit ein neuer Auftrag gesendet werden kann.
inline void MoveTo(int X, int Y, uint Key) { static double d_block = 0; int w = 0; datetime dt; bool bEClick, bKeyBuy, bKeySell; double take = 0, stop = 0, price; bEClick = (Key & 0x01) == 0x01; //Linksklick bKeyBuy = (Key & 0x04) == 0x04; //SHIFT gedrückt bKeySell = (Key & 0x08) == 0x08; //CTRL gedrückt ChartXYToTimePrice(Infos.Id, X, Y, w, dt, price); ObjectMove(Infos.Id, Infos.szHLinePrice, 0, 0, price = (bKeyBuy != bKeySell ? AdjustPrice(price) : 0)); ObjectMove(Infos.Id, Infos.szHLineTake, 0, 0, take = price + (Infos.TakeProfit * (bKeyBuy ? 1 : -1))); ObjectMove(Infos.Id, Infos.szHLineStop, 0, 0, stop = price + (Infos.StopLoss * (bKeyBuy ? -1 : 1))); if ((bEClick) && (bKeyBuy != bKeySell) && (d_block == 0)) CreateOrderPendent(bKeyBuy, Infos.Volume, (d_block = price), take, stop, Infos.IsDayTrade); else d_block = 0; ObjectSetInteger(Infos.Id, Infos.szHLinePrice, OBJPROP_COLOR, (bKeyBuy != bKeySell ? Infos.cPrice : clrNONE)); ObjectSetInteger(Infos.Id, Infos.szHLineTake, OBJPROP_COLOR, (take > 0 ? Infos.cTake : clrNONE)); ObjectSetInteger(Infos.Id, Infos.szHLineStop, OBJPROP_COLOR, (stop > 0 ? Infos.cStop : clrNONE)); };
Guten Tag, wo stelle ich die Anzahl der Punkte und die Anzahl der Lots für den Mini-Index ein?
In diesem Code erfolgt die Anpassung automatisch. Sie teilen ihm den Finanzier und die Anzahl der zu handelnden Kontrakte mit und der Code nimmt die Anpassung in Punkten vor... Diese Informationen werden gegeben, wenn Sie den Expert Advisor auf dem Chart platzieren. 😁👍

- 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.
Neuer Artikel Entwicklung eines Expert Advisor für den Handel von Grund auf :
In diesem Artikel werden wir besprechen, wie man einen Handelsroboter mit minimalem Programmieraufwand entwickelt.
Der in diesem Artikel vorgestellte Expert Advisor kann auf verschiedene Weise verbessert werden, um mit Parametersätzen zu arbeiten, aber dies würde mehr Code erfordern, der ihn unabhängiger von MetaTrader 5 machen würde.
Der große Erfolg dieses EA besteht darin, dass er den MetaTrader 5 selbst nutzt, um Aktionen auszuführen, die nicht in seinem Code enthalten sind, und deshalb ist er äußerst stabil und zuverlässig.
Autor: Daniel Jose