[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 287
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
2011.03.30 08:40:21 USDCAD,M1: 3 4 4.00000000 ask=0.9729 bid=0.9725
Das funktioniert so
So funktioniert es!
Ich danke Ihnen!
Im Allgemeinen ist es für MÜ-Entwickler an der Zeit, einen Abschnitt in der Dokumentation zu erstellen und das Problem und die Notwendigkeit der Normalisierung ausführlich zu erklären.
Für diese Situation gibt es in der Dokumentation nur ein bescheidenes Beispiel ohne Hervorhebung:
Abschnitt "Typenansatz" https://docs.mql4.com/ru/basis/types/casting
An FoxUA.
Wenn Order 3 (Verkaufen) geschlossen wird, ist Order 1 (Kaufen) immer noch semaphorisch, dass sie mit Stop Loss geschlossen wurde, und so werden 2 Orders in einer Reihe platziert, da Total=1.
d.h. ich suche nach einer Lösung für dieses Problem, d.h. was kann ich anstelle von total 1 tun, um diesen Effekt zu beseitigen
Können Sie mir sagen, ob das Skript Aufträge nicht nur in dem Fenster des Charts öffnen kann, an das es angehängt ist, sondern auch auf anderen Währungspaaren, wenn es richtig vorgeschrieben ist, auf welchen anderen Währungspaaren Sie öffnen müssen?
vielleicht
vielleicht
//--------------------------------------------------------------------
extern double TakeProfit = 1000;
extern double Lots = 0.01;
extern double StopLoss = 500.0;
extern int MagNum = 1974;
int slip = 100;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//::::Открытие и выставление ордеров
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
return (0);
}
aber diese Option, wird sie funktionieren oder nicht?
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits)," CleverEA",MagNum,0,Green);
aber diese Option, wird sie funktionieren oder nicht?
Nein, das, was Sie markiert haben, wird vom aktuellen Werkzeug zurückgegeben. Gebote, Nachfragen, Ziffern usw. sollten mit MarketInfo angefordert werden, wobei das Tool ausdrücklich anzugeben ist
//--------------------------------------------------------------------
extern double TakeProfit = 1000;
extern double Lots = 0.01;
extern double StopLoss = 500.0;
extern int MagNum = 1974;
int slip = 100;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//::::Открытие и выставление ордеров
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
return (0);
}
Aber wird diese Option funktionieren oder nicht?
Nein. Sie müssen die Funktion MarketInfo https://docs.mql4.com/ru/common/MarketInfo verwenden .
Auf der Seite finden Sie Beispiele für Ihr Problem