Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 803

 

Eine einfache Frage.

Ist es möglich, den Zyklus auf diese Weise zu beenden? Oder ist diese Einfachheit nicht kostenlos?

while(1)
{
 .........
 if(............ ) return;
 ..........
}
 

Eine weitere Frage.

Es gibt eine MqlTick-Struktur mit dem folgenden Feld

longtime_msc;// Zeitpunkt der letzten Preisaktualisierung in Millisekunden

Soweit ich weiß, speichert time_msc die Anzahl der Millisekunden seit 1970.

Die Funktion CopyTick hat den folgenden Parameter

ulongfrom=0,//Datum, seit dem die Häkchen abgefragt werden

In der Hilfe wird angegeben, dass es sich um das "Datum handelt , ab dem Zecken angefordert werden. Angegeben in Millisekunden seit dem 01.01.1970".

Achtung Frage.

Warum werden in der Struktur MqlTick und in den Parametern der Funktion CopyTick unterschiedliche Datentypen verwendet? Schließlich speichern sie beide die Zeit seit 1970.

 
pivomoe:

Eine weitere Frage.

Es gibt eine MqlTick-Struktur mit dem folgenden Feld

longtime_msc;// Zeitpunkt der letzten Preisaktualisierung in Millisekunden

Soweit ich weiß, speichert time_msc die Anzahl der Millisekunden seit 1970.

Die Funktion CopyTick hat den folgenden Parameter

ulongfrom=0,//Datum, seit dem die Häkchen abgefragt werden

In der Hilfe wird angegeben, dass es sich um das "Datum handelt , ab dem Zecken angefordert werden. Angegeben in Millisekunden seit dem 01.01.1970".

Achtung Frage.

Warum werden in der Struktur MqlTick und in den Parametern der Funktion CopyTick unterschiedliche Datentypen verwendet? Schließlich speichern sie beide die Zeit seit 1970.

ulong - Typ unsigned long

 
Ich weiß das. Warum wird in einem Fall ein Typ mit Vorzeichen und im anderen Fall ein Typ ohne Vorzeichen verwendet? Schließlich sind die Fälle ähnlich.
 
pivomoe:

Eine einfache Frage.

Ist es möglich, den Zyklus auf diese Weise zu beenden? Oder ist diese Einfachheit nicht kostenlos?

Was ist das Problem? Beendigung durch Bedingung. Nur wenn Sie die Schleife nur verlassen wollen, nicht zurückkehren, sondern abbrechen

 
Alexey Viktorov:

Was bedrückt Sie? Beendigung der Ausführung durch Bedingung. Nur wenn Sie die Schleife nur verlassen wollen, nicht zurückkehren, sondern abbrechen

Ich verstehe nicht, wie viel Speicherplatz nach einer solchen Returnom-Schleife verbraucht wird oder nicht?
 
pivomoe:
Ich verstehe nicht, den Speicherverbrauch nach einer solchen returnom beenden oder nicht ?

Warum sollte ich? Machen Sie sich keinen Kopf über den Unsinn. Diese Art des Ausstiegs wird schnell funktionieren.

 

Wie kann ich ein kostenloses Dienstprogramm (Indikator) aufgeben, das über den Markt im Terminal heruntergeladen wurde? Eine Deinstallation hilft nicht. Ich erhalte ständig Meldungen über die Aktualisierung des Produkts, obwohl es schon lange deinstalliert ist.

 

Meine Herren, helfen Sie mir, die Situation zu verstehen, im Strategy Tester geht alles ohne Fehler und Probleme auf einem Demokonto, aber wenn ich einen EA in den Markt lade, sagt Autotester:

2016.04.01 00:00:12 fehlgeschlagener Sofortverkauf 0,10 EURUSD bei 1,13780 sl: 1,14030 tp: 1,13030 [Ungültiges Volumen]
2016.04.01 00:00:24 fehlgeschlagener Sofortverkauf 0,10 EURUSD bei 1,13779 sl: 1,14029 tp: 1,13029 [Ungültiges Volumen]
2016.04.01 00:00:59 fehlgeschlagener Sofortverkauf 0,10 EURUSD bei 1,13782 sl: 1,14032 tp: 1,13032 [Ungültiges Volumen]
2016.04.01 00:01:00 fehlgeschlagener Sofortverkauf 0,10 EURUSD bei 1,13793 sl: 1,14043 tp: 1,13043 [Ungültiges Volumen]
2016.04.01 00:01:08 fehlgeschlagener Sofortverkauf 0,10 EURUSD bei 1,13783 sl: 1,14033 tp: 1,13033 [Ungültiges Volumen]
2016.04.01 00:01:17 fehlgeschlagener Sofortverkauf 0,10 EURUSD bei 1,13784 sl: 1,14034 tp: 1,13034 [Ungültiges Volumen]
2016.04.01 00:01:25 fehlgeschlagener Sofortverkauf 0,10 EURUSD bei 1,13774 sl: 1,14024 tp: 1,13024 [Ungültiges Volumen]
2016.04.01 00:01:34 fehlgeschlagener Sofortverkauf 0,10 EURUSD bei 1,13776 sl: 1,14026 tp: 1,13026 [Ungültiges Volumen]
2016.04.01 00:01:59 fehlgeschlagener Sofortverkauf 0,10 EURUSD bei 1,13778 sl: 1,14028 tp: 1,13028 [Ungültiges Volumen]
2016.04.01 00:02:00 fehlgeschlagener Sofortverkauf 0,10 EURUSD bei 1,13778 sl: 1,14028 tp: 1,13028 [Ungültiges Volumen]
2016.04.01 00:02:08 fehlgeschlagener Sofortverkauf 0,10 EURUSD bei 1,13776 sl: 1,14026 tp: 1,13026 [Ungültiges Volumen]

Funktionscode unten:

OpenPos(NormalizeDouble(Lot,2), NormalizeDouble(Bid,_Digits), NormalizeDouble(_sl,_Digits),NormalizeDouble(_tp,_Digits),ORDER_TYPE_SELL,MagicSell,Comm);
void OpenPos(const double volume,const double price, const double stop, const double take, const ENUM_ORDER_TYPE o_type, const int magic,const string coment=NULL)
{
   MqlTradeRequest request={0};
   MqlTradeResult result={0};
   
   string t=(o_type==ORDER_TYPE_BUY)?"Buy":"Sell";
   
   ZeroMemory(request);
   ZeroMemory(result);
   
   request.action=TRADE_ACTION_DEAL;
   request.symbol=Symbol();
   request.volume=volume;
   request.type=o_type;
   request.magic=magic;
   request.price=price;
   request.sl=stop;
   request.tp=take;
   request.comment=coment;
   
   if(IsFillingTypeAllowed(Symbol(),SYMBOL_FILLING_FOK))
      request.type_filling=ORDER_FILLING_FOK;
   else if(IsFillingTypeAllowed(Symbol(),SYMBOL_FILLING_IOC))
      request.type_filling=ORDER_FILLING_IOC;
   else
      request.type_filling=ORDER_FILLING_RETURN;
   
   if(!OrderSend(request,result))
      PrintFormat("Can't open position %s error %i",t,GetLastError());
}
 
Andrii Djola:

Ich möchte Sie bitten, mir zu helfen, die Situation zu verstehen, in der Strategie-Tester läuft alles ohne Fehler oder Problem, ich habe auch keine Probleme auf meinem Demo-Konto, aber wenn ich meine EA in den Markt laden, schreibt der Autotester:

Druckt das Ergebnis von OrderCheck und seine vollständige Struktur. Machen Sie dasselbe mit OrderSend.

Richten Sie Demokonten auf zehn verschiedenen Handelsservern ein. Und probieren Sie Ihren Code dort aus. Meistens wird eine bestimmte Eigenschaft des Handelsservers nicht berücksichtigt, die bei der Überprüfung im Markt wiedergegeben wird.

Und vergessen Sie nicht, LastError auszugeben. All dies zusammen wird es Ihnen sehr schnell ermöglichen, den Ursachen des Fehlers auf den Grund zu gehen.

Grund der Beschwerde: