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

 
Vladimir Karputov:

Im EA-Diskussionsthread) sollten Sie also fragen.

Soweit ich weiß, stammt der Autor aus Brasilien.
 
Die Leute verstehen nicht, warum nach jedem Ausschalten des Terminals die Symbolleiste, die Werkzeuge, der Navigator und die Marktbeobachtung verschwinden und ich diese Dinge ständig manuell anordnen muss. Danke für die Hilfe!!!
 
noran919:
Die Leute verstehen nicht, warum nach jedem Ausschalten des Terminals die Symbolleiste, die Werkzeuge, der Navigator und die Marktbeobachtung verschwinden und ich diese Dinge ständig manuell anordnen muss. Vielen Dank für Ihre Hilfe!

Vielleicht befindet sich das Terminal in einem Verzeichnis, das nicht beschreibbar ist? Es sieht so aus, als könne die letzte Profildatei nicht überschrieben werden.
Wenn ja, verschieben Sie das Terminal in ein Verzeichnis, auf das Sie Zugriff haben.

 
noran919:
Die Leute verstehen nicht, warum nach jedem Ausschalten des Terminals die Symbolleiste, die Werkzeuge, der Navigator und die Marktbeobachtung verschwinden und ich diese Dinge ständig manuell anordnen muss. Vielen Dank für Ihre Hilfe!
Haben Sie F11 gedrückt?
 
Bitte sagen Sie mir, wie man einen korrekten Code für den Indikator zu schreiben, damit es berechnen nicht jeden Tick, aber jede Sekunde, wenn Sie ein Beispiel zeigen kann, sagen wir Indikator jede Sekunde addieren 1 + 1
 
gonsharov:
Bitte sagen Sie mir, wie ich den Code des Indikators richtig schreibe, damit er nicht jeden Tick, sondern jede Sekunde berechnet, wenn Sie es anhand eines Beispiels zeigen können, sagen wir, der Indikator addiert jede Sekunde 1+1.

Zwei Ansätze:

  1. Schätzen Sie in OnCalculate die Differenz zwischen der aktuellen Zeit und der zuletzt verwendeten Zeit: So funktioniert es - sagen wir, 2018.09.28 15-30-31 war die letzte Berechnung. Ein neuer Tick ist gekommen - Zeit überprüfen - und wir haben immer noch das gleiche 2018.09.28 15-30-31 - also tun wir nichts, und nur wenn die aktuelle Zeit mehr als 2018.09.28 15-30-31 wird - berechnen und merken wir uns diese Zeit.
  2. Verwenden Sie OnTimer(). Ich persönlich bin gegen diese Methode.

 

Ich stand vor einem ähnlichen Problem.

//---------

Ich möchte eine Remote-Variable mit Sekunden (für Optimierer) haben.

Eingabe ushort Time = 120;

Angenommen, die Zeit in dieser Variablen beträgt 120 Sekunden.

Nächste -

void OnTick()

{

Merken Sie sich die aktuelle Uhrzeit.

Prüfen Sie die aktuelle Zeit.

Wenn Zeit über Zeit vergeht, dann -

BuyBuff=0;

//----------

Können Sie mir ein Codebeispiel geben? In Worten sieht es einfach aus, aber im Code ist es für mich schwierig.

 
EgorKim:

Ich stand vor einem ähnlichen Problem.

//---------

Ich möchte eine Remote-Variable mit Sekunden (für Optimierer) haben.

Eingabe ushort Time = 120;

Angenommen, die Zeit in dieser Variablen beträgt 120 Sekunden.

Nächste -

void OnTick()

{

Merken Sie sich die aktuelle Uhrzeit.

Prüfen Sie die aktuelle Zeit.

Wenn Zeit über Zeit vergeht, dann -

BuyBuff=0;

//----------

Können Sie mir ein Codebeispiel geben? In Worten sieht es einfach aus, aber im Code ist es für mich schwierig.

Beispiel:

//+------------------------------------------------------------------+
//|                                      Example Pause in OnTick.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//--- input parameters
input int      InpTime=120;   // minimum pause (in seconds)
//---
datetime m_prev_time=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- 
   m_prev_time=0;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   datetime time_0=TimeCurrent();
   if(m_prev_time+InpTime>time_0)
      return;
   m_prev_time=time_0;
   Print(m_prev_time);
  }
//+------------------------------------------------------------------+
Dateien:
 

Ich danke Ihnen vielmals.

Eine weitere Bitte.

Bitte fügen Sie diesen Advisor für mt5 zur Codebasis hinzu.

https://www.mql5.com/ru/code/14085

 
EgorKim:

Ich danke Ihnen vielmals.

Eine weitere Bitte.

Bitte fügen Sie diesen Advisor für mt5 zur Codebasis hinzu.

https://www.mql5.com/ru/code/14085

1. Die Vervollständigung Ihrer Beiträge ist eine schlechte Sache. Dann kann niemand verstehen, warum das Thema aktualisiert wurde, aber kein neuer Beitrag vorhanden ist.

2) Studieren Sie den Artikel:Wie kopiert man Signale mit EAs nach Ihren eigenen Regeln?