Hallo, ich kann nicht verstehen, warum die Haltestellen nicht angezeigt werden?
inputint StopLoss=499; // Stop Lossinputint TakeProfit=999; // Take Profitinputint EA_Magic=12345; // Magic Number советникаinputdouble Lot=0.1; // Количество лотов для торговлиintOnInit()
{
//--- Для работы с брокерами, использующими 5-ти значные котировки,//--- умножаем на 10 значения SL и TP
STP = StopLoss;
TKP = TakeProfit;
if(_Digits==5 || _Digits==3)
{
STP = STP*10;
TKP = TKP*10;
}
return(0);
}
voidOnTick()
{
//---MqlTick latest_price; // Будет использоваться для текущих котировокSymbolInfoTick(Symbol(),latest_price); // Получаем текущие ценыMqlTradeRequest mrequest; // Будет использоваться для отсылки торговых запросовMqlTradeResult mresult; // Будет использоваться для получения результатов выполнения торговых запросов
mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // последняя цена ask
mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // символ
mrequest.volume = Lot; // количество лотов для торговли
mrequest.magic = EA_Magic; // Magic Number
mrequest.type = ORDER_TYPE_BUY; // ордер на покупку
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего
mrequest.deviation=100; // проскальзывание от текущей цены//--- отсылаем ордерOrderSend(mrequest,mresult);
Top2n: Hallo, ich kann nicht verstehen, warum keine Stopps gesetzt werden?
Erstens ist eine Initialisierung erforderlich:
MqlTradeRequest mrequest={0}; // Будет использоваться для отсылки торговых запросовMqlTradeResult mresult={0}; // Будет использоваться для получения результатов выполнения торговых запросов
Zweitens hängt die Möglichkeit, Sl- und Tp-Aufträge zu platzieren, von dem vom Broker eingestellten Ausführungsmodus für Marktaufträge ab. Schauen Sie im Handbuch nach, wie viele dieser Modi es gibt, und prüfen Sie, welcher Modus vom Makler eingestellt ist.
Zweitens hängt die Möglichkeit, Sl- und Tp-Aufträge zu platzieren, von dem vom Broker eingestellten Ausführungsmodus für Marktaufträge ab. Schauen Sie im Handbuch nach, wie viele solcher Modi es gibt, und prüfen Sie, welcher Modus vom Makler eingestellt ist.
Ich habe über ZeroMemory(mrequest) den Speicher auf Null gesetzt;
Ich verstehe nicht wirklich über die Orderausführungsmodi, alpari broker, ich denke alles ist Standard. Verdammter Blödsinn, will nicht und das war's. Ich habe bereits versucht, sl und tp zu verwenden, es wird der aktuelle Preis + sl angezeigt. Ich denke, das ist in Ordnung!
Ich habe mit ZeroMemory(mrequest) den Speicher gelöscht;
Ich verstehe die Orderausführungsmodi nicht wirklich, alpari broker, ich denke, alles ist Standard. Verdammt, es funktioniert nicht, ich will es einfach nicht tun. Ich habe bereits versucht, sl und tp zu verwenden, es wird der aktuelle Preis + sl angezeigt. Ich denke, das ist in Ordnung!
Top2n Ich verstehe die Auftragsausführungsmodi nicht wirklich, ich bin ein Alpari-Broker, ich denke, das ist alles Standard. Ich möchte nicht mit diesem Broker handeln, ich möchte nur nicht mit mehr als einem Markt handeln. Ich weiß nicht, was zu tun ist, wenn ich versuche, zurück zu gehen, um den Kommentar sl und tp?
Ich verfolge Alpari nicht, aber ich denke, dass alle Probleme, die Sie mit der Nichteinstellung der Werte hatten, mit Alpari zusammenhängen. Versuchen Sie, Ihre Bestellung über das MQ-Demokonto aufzugeben, und Sie werden keine Probleme haben.
tol64: Gibt es irgendwelche Meldungen im Protokoll?
Die Entwickler haben noch keine Möglichkeit vorgesehen, in den Protokollmeldungen auf die Unmöglichkeit hinzuweisen, sl- und tp-Level in den Modi Market Execution und Exchange Execution zu setzen. Und es gibt keinen Grund, dies zu tun. Der Programmierer sollte den vom Makler eingestellten Modus bestimmen.
Yedelkin: Die Entwickler haben noch nicht die Möglichkeit vorgesehen, in den Log-Meldungen über die Unfähigkeit, sl- und tp-Level in den Modi Market Execution und Exchange Execution zu setzen, zu reflektieren. Und dafür gibt es keinen Grund. Der Programmierer sollte den vom Makler eingestellten Modus bestimmen.
Auf jeden Fall sollten Sie nicht raten, sondern alle Fehler und Rückgabecodes analysieren. Es ist einfacher und schneller zu analysieren, was als nächstes zu tun ist. ))
tol64: Sie müssen dennoch alle Fehler und Rückgabecodes analysieren, um Vermutungen zu vermeiden. Es ist einfacher und schneller, herauszufinden, was als nächstes zu tun ist. ))
...Vor allem, wenn man weiß, dass "Fehler und Rückgabecodes" in diesem speziellen Fall einfach nicht vorgesehen sind :) Zweifellos ist die Frage an sich richtig, aber in diesem speziellen Fall wird sie nicht helfen :/
Und ohne "wenn"? ...
Hallo, ich kann nicht verstehen, warum die Haltestellen nicht angezeigt werden?
Erstens ist eine Initialisierung erforderlich:
Zweitens hängt die Möglichkeit, Sl- und Tp-Aufträge zu platzieren, von dem vom Broker eingestellten Ausführungsmodus für Marktaufträge ab. Schauen Sie im Handbuch nach, wie viele dieser Modi es gibt, und prüfen Sie, welcher Modus vom Makler eingestellt ist.
Erstens ist eine Initialisierung erforderlich:
Zweitens hängt die Möglichkeit, Sl- und Tp-Aufträge zu platzieren, von dem vom Broker eingestellten Ausführungsmodus für Marktaufträge ab. Schauen Sie im Handbuch nach, wie viele solcher Modi es gibt, und prüfen Sie, welcher Modus vom Makler eingestellt ist.
Ich habe über ZeroMemory(mrequest) den Speicher auf Null gesetzt;
Ich verstehe nicht wirklich über die Orderausführungsmodi, alpari broker, ich denke alles ist Standard. Verdammter Blödsinn, will nicht und das war's. Ich habe bereits versucht, sl und tp zu verwenden, es wird der aktuelle Preis + sl angezeigt. Ich denke, das ist in Ordnung!
Ich habe mit ZeroMemory(mrequest) den Speicher gelöscht;
Ich verstehe die Orderausführungsmodi nicht wirklich, alpari broker, ich denke, alles ist Standard. Verdammt, es funktioniert nicht, ich will es einfach nicht tun. Ich habe bereits versucht, sl und tp zu verwenden, es wird der aktuelle Preis + sl angezeigt. Ich denke, das ist in Ordnung!
Ich verfolge Alpari nicht, aber ich denke, dass alle Probleme, die Sie mit der Nichteinstellung der Werte hatten, mit Alpari zusammenhängen. Versuchen Sie, Ihre Bestellung über das MQ-Demokonto aufzugeben, und Sie werden keine Probleme haben.
Über die Modalitäten der Auftragsausführung. Sie verwenden die Funktion https://www.mql5.com/ru/docs/trading/ordersend. Bitte lesen Sie diesen Abschnitt des Leitfadens aufmerksam durch: https://www.mql5.com/ru/docs/constants/structures/mqltraderequest und beantworten Sie sich selbst die Frage: "Wie viele Ausführungsmodi stehen für Marktaufträge zur Verfügung". Wenn Sie diese Frage nicht beantworten können, fragen Sie bitte nach.
Die Entwickler haben noch nicht die Möglichkeit vorgesehen, in den Log-Meldungen über die Unfähigkeit, sl- und tp-Level in den Modi Market Execution und Exchange Execution zu setzen, zu reflektieren. Und dafür gibt es keinen Grund. Der Programmierer sollte den vom Makler eingestellten Modus bestimmen.