Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 414
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
spuckt
möglicher Datenverlust aufgrund von Typkonvertierung .mq4 1697 29
Typ Doble bei SL.
Der Compiler ist heutzutage streng, es sollte so sein, dass MarketInfo den Typ double zurückgibt
Der Compiler ist heutzutage streng, es sollte so sein, dass MarketInfo den Typ double zurückgibt
Die "sumbol"-Variable ist korrekt, ich habe sie als Variable in der Modifier-Verpackung.
Danke, ich habe(int) eingegeben und alles ist gut.
Ich weiß nicht, wie ich es vorher gemacht habe; meine Erfahrung im Schreiben von EAs beträgt 21 Tage))
Ich weiß nicht, wie lange ich schon meine EAs schreibe, und ich weiß nicht, wie man es richtig macht).
Leanid Aladzyeu:
Ich weiß nicht, wie ich früher EAs geschrieben habe (ich schreibe sie seit 21 Tagen)). Und mein EA ist hartnäckig auf dem Weg an die Spitze der kostenlosen EAs))
Nun, dann sind Sie sehr glücklich, bis die 600 Version der alten MQL4 war schrecklich )) Bitte senden Sie mir den Link zum MQL4 Expert Advisor.
Aus irgendeinem Grund gibt es in der letzten Zeile einen Fehler.
'}' - nicht alle Kontrollpfade liefern einen Wert Expert4.mq4
Jede nicht-leere Funktion sollte mit dem Return-Operator enden.
Ich schaue mir gerade diesen Code aus dem Video-Tutorial an, aber er kann für ein altes Build sein.
#include#include <stderror.mqh>
//+------------------------------------------------------------------+//|Experte4.mq4 |
//|Mikhail |
//||
//+------------------------------------------------------------------+
#property copyright "Mikhail"
#property link ""
#Eigenschaft Version "1.00"
#Eigenschaft streng
int signal = 1;
int start()
{
wenn (Signal == 1)
{
OrderSendX (Symbol(), OP_BUY, 0.2, Ask, 30, 0, 0, "Test", 123, 0, Blue);
}
zurück(0);
}
//+------------------------------------------------------------------+
int OrderSendX (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)
{
int err = GetLastError();
err = 0;
bool exit_loop = false;
int ticket = -1;
int Wiederholungsversuch = 10;
int cnt = 0;
wenn (cmd == OP_BUY || cmd == OP_SELL)
{
while(!exit_loop)
{
ticket = OrderSend(symbol, cmd, volume, price, slippage, stoploss, takeprofit, comment,magic, expiration, arrow_color);
err = GetLastError();
switch(err)
{
case ERR_NO_ERROR:
exit_loop = true;
Pause;
{ case ERR_SERVER_BUSY:
case ERR_NO_CONNECTION:
case ERR_INVALID_PRICE:
case ERR_OFF_QUOTES:
Fall ERR_BROKER_BUSY:
Fall ERR_TRADE_CONTEXT_BUSY:
cnt++;
Pause;
case ERR_PRICE_CHANGED:
RefreshRates();
weiter;
Standard:
exit_loop +true;
Pause;
}
wenn (cnt> Wiederholung)
exit_loop = true;
if (!exit_loop)
{
Sleep(1000);
RefreshRates();
}
sonst
{
if(err != ERR_NO_ERROR)
{
Print ("ERROR: " + err);
}
}
if(err == ERR_NO_ERROR)
{
OrderSelect(ticket, SELECT_BY_TICKET,MODE_TRADES);
zurück(ticket);
}
Print("Fehler: Auftragseröffnung fehlgeschlagen nach" + cnt + "Versuchen");
zurück(-1);
}//while
}///if
}///exit
Hier....
}
}
zurück(ticket);
}
Code korrekt in das Forum einfügen
Aus irgendeinem Grund gibt es in der letzten Zeile einen Fehler.
'}' - nicht alle Kontrollpfade liefern einen Wert Expert4.mq4
Jede nicht-leere Funktion sollte mit dem Return-Operator enden.
Ich habe gerade diesen Code im Video-Tutorial gesehen, aber er kann für alte Builds sein.
#include#include <stderror.mqh>
//+------------------------------------------------------------------+//|Experte4.mq4 |
//|Mikhail |
//||
//+------------------------------------------------------------------+
#property copyright "Mikhail"
#property link ""
#Eigenschaft Version "1.00"
#Eigenschaft streng
int signal = 1;
int start()
{
wenn (Signal == 1)
{
OrderSendX (Symbol(), OP_BUY, 0.2, Ask, 30, 0, 0, "Test", 123, 0, Blue);
}
zurück(0);
}
//+------------------------------------------------------------------+
int OrderSendX (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)
{
int err = GetLastError();
err = 0;
bool exit_loop = false;
int ticket = -1;
int Wiederholungsversuch = 10;
int cnt = 0;
wenn (cmd == OP_BUY || cmd == OP_SELL)
{
while(!exit_loop)
{
ticket = OrderSend(symbol, cmd, volume, price, slippage, stoploss, takeprofit, comment,magic, expiration, arrow_color);
err = GetLastError();
switch(err)
{
case ERR_NO_ERROR:
exit_loop = true;
Pause;
{ case ERR_SERVER_BUSY:
case ERR_NO_CONNECTION:
case ERR_INVALID_PRICE:
case ERR_OFF_QUOTES:
Fall ERR_BROKER_BUSY:
Fall ERR_TRADE_CONTEXT_BUSY:
cnt++;
Pause;
case ERR_PRICE_CHANGED:
RefreshRates();
weiter;
Standard:
exit_loop +true;
Pause;
}
wenn (cnt> Wiederholung)
exit_loop = true;
if (!exit_loop)
{
Sleep(1000);
RefreshRates();
}
sonst
{
if(err != ERR_NO_ERROR)
{
Print ("ERROR: " + err);
}
}
if(err == ERR_NO_ERROR)
{
OrderSelect(ticket, SELECT_BY_TICKET,MODE_TRADES);
zurück(ticket);
}
Print("Fehler: Auftragseröffnung fehlgeschlagen nach" + cnt + "Versuchen");
zurück(-1);
}//while
}///if
}///exit
Code korrekt in das Forum einfügen
Ich hinke wieder hinterher, ich kriege es nicht hin, dass es passt.
Das ist in Ordnung, welchen Browser benutzen Sie? Versuchen Sie, zu einem anderen zu wechseln. Ich habe FFox. Ich habe die Antwort in den Kommentaren im Code ganz am Ende gegeben.