Hilfe bei der Codierung - Seite 130

 

Ich weiß nicht, ob es sich um Objekte oder Puffer handelt. Ist es auch möglich, Aufträge im Indikator zu senden, so dass ich keinen Expert Advisor benötige? Was ist der Algorithmus zum Öffnen von Aufträgen ohne Stoploss und Take Profit?

Aber ich denke, ich möchte einen Expert Advisor, der Orders durch das Erscheinen der Pfeile öffnet und die Orders schließt, wenn das Close-Signal kommt. Kann ich die geöffneten Aufträge anhand des Symbols identifizieren?

 
arroganzmaschine:
Ich weiß nicht, ob es sich um Objekte oder Puffer handelt. Ist es auch möglich, Orders im Indikator zu senden, so dass ich keinen Expert Advisor benötige? Wie lautet der Algorithmus zum Eröffnen von Aufträgen ohne Stoploss und Take Profit?

1. Die Objekte werden in der Objektliste sichtbar sein

2. Nein. Sie können keine Aufträge über einen Indikator verwalten.

3. Zum Öffnen von Orders (und anderen Arten von Orders) müssen Sie OrderSend verwenden. Hilfe zur Funktion OrderSend() :

______________________________________

int OrderSend(string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)

Die Hauptfunktion, mit der eine Position eröffnet oder eine Pending Order platziert wird.

Gibt die Nummer des Tickets zurück, das der Order vom Handelsserver zugewiesen wurde, oder -1, wenn die Order fehlschlägt. Um zusätzliche Fehlerinformationen zu erhalten, muss man die Funktion GetLastError() aufrufen.

Anmerkungen:

Bei der Eröffnung eines Marktauftrags (OP_SELL oder OP_BUY) können nur die letzten Preise von Bid (für Verkauf) oder Ask (für Kauf) als Eröffnungskurs verwendet werden. Wenn eine Operation mit einem anderen Wertpapier als dem aktuellen durchgeführt wird, muss die Funktion MarketInfo() mit dem Parameter MODE_BID oder MODE_ASK verwendet werden, um die letzten Kurse für dieses Wertpapier zu erhalten. Berechnete oder nicht normalisierte Kurse können nicht verwendet werden. Wenn der angeforderte offene Preis nicht im Preis-Thread vorhanden ist oder nicht entsprechend der Anzahl der Nachkommastellen normalisiert wurde, wird der Fehler 129 (ERR_INVALID_PRICE) erzeugt. Ist der angeforderte offene Preis völlig veraltet, wird unabhängig vom Slippage-Parameter der Fehler 138 (ERR_REQUOTE) generiert. Wenn der angeforderte Preis veraltet, aber im Thread vorhanden ist, wird die Position zum aktuellen Preis eröffnet, und zwar nur dann, wenn der aktuelle Preis innerhalb des Bereichs von Preis+Slippage liegt.

StopLoss- und TakeProfit-Levels dürfen nicht zu nahe am Markt liegen. Der minimale Abstand der Stop-Levels in Punkten kann mit der Funktion MarketInfo() mit dem Parameter MODE_STOPLEVEL ermittelt werden. Im Falle von fehlerhaften oder unnormalisierten Stop-Levels wird der Fehler 130 (ERR_INVALID_STOPS) erzeugt.

Bei der Platzierung einer Pending Order darf der offene Preis nicht zu nahe am Markt liegen. Der minimale Abstand des Pending-Preises vom aktuellen Markt in Punkten kann mit der Funktion MarketInfo() mit dem Parameter MODE_STOPLEVEL ermittelt werden. Im Falle eines falschen Eröffnungskurses einer Pending Order wird der Fehler 130 (ERR_INVALID_STOPS) erzeugt.

Bei einigen Handelsservern kann die Anwendung der Verfallszeit von Pending Orders deaktiviert werden. In diesem Fall wird der Fehler 147 (ERR_TRADE_EXPIRATION_DENIED) generiert, wenn im Ablaufparameter ein Wert ungleich Null angegeben wird.

Auf einigen Handelsservern kann die Gesamtzahl der offenen und schwebenden Aufträge begrenzt sein. Wenn diese Grenze überschritten wird, wird keine neue Position eröffnet (oder kein schwebender Auftrag platziert) und der Handelsserver gibt den Fehler 148 (ERR_TRADE_TOO_MANY_ORDERS) zurück. Parameter:

[TD="width: 100%"]Stop-Loss-Level

[TR]

[TD]takeprofit[TD] - [TD="width: 100%"]Take-Profit-Level

[TR]

[TD

]

comment[TD] - [TD="width: 100%"]Kommentar zum Auftrag. Der

[TR]

[TD][TD] - [TD="width: 100%"]Magische Zahl der Bestellung. Kann als benutzerdefinierte Kennung verwendet werden.

[TR]

[TD]expiration[TD] - [TD="width: 100%"]Verfallszeit der Order (nur für schwebende Orders).

[TR]

[TD]arrow_color[TD] - [TD="width: 100%"]Farbe des Eröffnungspfeils im Chart. Wenn der Parameter fehlt oder den Wert CLR_NONE hat, wird der Eröffnungspfeil nicht auf dem Chart gezeichnet.
symbol[/TD] -[/TD]Symbol für den Handel[/TD]

[/TR]

cmd[/TD] -[/TD]Operationstyp. Es kann eine der Aufzählungen der Handelsoperationen sein.[/TD]

[/TR]

Volumen[/TD] -[/TD]Anzahl der Lots.[/TD]

[/TR]

Preis[/TD] -[/TD]Bevorzugter Preis für den Handel.[/TD]

[/TR]

Slippage[/TD] -[/TD]Maximale Preisabweichung für Kauf- oder Verkaufsaufträge.[/TD]

[/TR]

stoploss[/TD] -
letzte Teil des Kommentars kann vom Server geändert werden.
magic

Beispiel:

int ticket;

if(iRSI(NULL,0,14,PRICE_CLOSE,0)<25)

{

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25*Point,Ask+25*Point,"My order #2",16384,0,Green);

if(ticket<0)

{

Print("OrderSend failed with error #",GetLastError());

return(0);

}

}

 

Kann ich Ihnen den Indikator schicken, damit Sie mir einen Rat geben können?

 
arroganzmaschine:
Kann ich Ihnen den Indikator schicken, damit Sie mir einen Rat geben können?

Sie können ihn posten (wenn es sich nicht um einen privaten oder kommerziellen Indikator handelt)

 

Es ist privat . Ich glaube, ich muss alles lesen, um zu meiner Lösung zu kommen.

Kann ich die Aufträge von einem bestimmten Symbol aus schließen, bei dem das Schließsignal erscheint?

 
arroganzmaschine:
Es ist privat . Ich glaube, ich muss alles lesen, um zu meiner Lösung zu kommen. Kann ich die Aufträge eines bestimmten Symbols schließen, bei dem das Close-Signal erscheint?
Versuchen Sie, zuerst diese beiden Threads durchzugehen:

https://www.mql5.com/en/forum/173136 https://www.mql5.com/en/forum/173171

Es könnte auch gut sein, dass Sie mit diesem Beitrag beginnen https://www.mql5.com/en/forum/172969/page2

und es wird viel einfacher sein, Informationen über mql-Codierung zu finden, wenn Sie den Links von diesem Beitrag folgen
 

Danke, ich werde später antworten.

 

Mladen, kurze Frage bitte, tut (perfekte Trendlinie) ptl2 und Alerts Indikator repaint?

 

Ich habe gesehen, dass es auch Warnmeldungen gibt. Sie werden gesendet, wenn einige IndexBuffers den richtigen Wert haben.

Kann ich meine Aufträge mit einigen if{-Klauseln senden?

 
funayot:
Mladen, eine kurze Frage: Wird der Indikator (perfect trend line) ptl2 and alerts neu gezeichnet?

Nein, der '(perfect trend line) ptl2 and alerts' Indikator wird nach einem geschlossenen Bar nicht neu gezeichnet!

Grund der Beschwerde: