Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 992

 
001:

Der Code sorgt dafür, dass der EA zu bestimmten Zeiten "schweigt".

Fügen Sie diesen Code in Ihren EA ein:

extern HourStart=0; // Die Stunde des Beginns der Sitzung, die übersprungen werden soll

///

extern HourEnd=0; // Ende der Sitzung, das übersprungen werden muss
//+------------------------------------------------------------------+
int start()
{
if(Stunde()>=StundeStart)
{
{ if(Stunde()<=Stundenende)
{
zurück(0);

}

/Fügen Sie diesen Code (oben) vor Ihrem EA ein.

}
// Ihr EA-Gehäuse
}
//+------------------------------------------------------------------+

Herzlichen Dank!

Es würde auch Aufträge schließen...

 
Vinin:
Was wollten Sie kaufen?
Im Allgemeinen ist das Ergebnis ein Indikator, der kumulativ die Anzahl der Beutezüge und Tiefststände nach Zeit anzeigt, d. h. zum Beispiel für das Jahr 20 Beutezüge um 03:00 Uhr, 30 Tiefststände um 05:00 Uhr - so etwas wie ein Marktprofil, aber Spitzenwerte nach Zeit. Der Indikator befindet sich in einem separaten Fenster.
 
SAnd7:

Herzlichen Dank!

Ich wünschte, die Haftbefehle würden auch geschlossen...

Mit der Zeit sollten wir eine Funktion finden

OrderClose()

und setzen Sie es davor.

if(Hour()>=HourClose)

Unterm Strich:

extern int    HourClose=0;          // Вставить там где вставили extern int    HourStart=0;  Это час закрытия

//+------------------------------------------------------------------+



//+------------------------------------------------------------------+
if(Hour()>=HourClose) OrderClose(...............);// Найти функцию OrderClose и поставить передней if(Hour()>=HourClose)


 

Ich danke Ihnen!!!

Ich glaube, ich habe es.

 
SAnd7:

Ich danke Ihnen!!!

Ich glaube, ich hab's.

Wir können immer noch mit den Minuten spielen.

  Minute()
 
SAnd7:

Hallo!

Ich habe einen guten Expert Advisor gefunden (laut Tester) und ihn in der Demo laufen lassen, aber er verliert Geld in der japanischen Session.

Wenn Sie den Code kennen, wie kann ich ihn zu einer bestimmten Zeit und zu einem bestimmten Zeitpunkt laufen lassen, um alle meine Aufträge zu schließen und dann zu beenden.

Außerdem eine Stelle, an der dieser Code eingefügt werden kann.

Vielen Dank im Voraus!

Erstellen Sie zu Beginn 2 Variablen:

extern int    Start    = 2,
              End      = 8;
//-----------------------------------
  int hour = TimeHour(TimeCurrent()); // в начале основной части советника

Und dann in den Eröffnungs- und Schließungsbedingungen, falls es noch eine Position gibt!

     if(hour >= Start && hour < End) // можно открывать
//-----------------------------------------------------
     if(hour < Start || hour >= End) // закрыть, если есть
 

Hallo!

Derzeit ist die Funktion mit dem aktuellen Chart (double High[]) verknüpft. Wie kann ich die Funktion so modifizieren, dass ich Preise verschiedener Zeitrahmen High_Lim(PERIOD_H4,10,1) High_Lim(PERIOD_M15,10,1) erhalten kann?

double High_Lim(ENUM_TIMEFRAMES GrafPeriod, int Bari_atp, int Bari_shift)
{
double HighLim=0; 
       HighLim = (High[iHighest(NULL,GrafPeriod,MODE_HIGH,Bari_atp,Bari_shift)]);
          
return(HighLim);
}

void OnTick()
  {
//---
Print("::::::::::::::::::::::::: High_Lim(PERIOD_M15,10,1) = ", High_Lim(PERIOD_M15,10,1));  
Print("::::::::::::::::::::::::: High_Lim(PERIOD_H4,10,1) = ", High_Lim(PERIOD_H4,10,1));     
  }
 
abeiks:

Hallo!

Derzeit ist die Funktion mit dem aktuellen Chart (double High[]) verknüpft. Wie kann ich die Funktion so modifizieren, dass ich Preise verschiedener Zeitrahmen High_Lim(PERIOD_H4,10,1) High_Lim(PERIOD_M15,10,1) erhalten kann?

Um den höchsten Kurswert eines anderen Symbols zu ermitteln, verwenden Sie iHighest. Schreiben Sie dort anstelle von 1 Argument den Symbolnamen, z. B. "EURUSD". In Ihrer Funktion haben Sie NULL geschrieben, d.h. sie sucht das aktuelle Diagramm.
 
paladin80:
Um den höchsten Kurswert eines anderen Symbols zu ermitteln, verwenden Sie iHighest. Schreiben Sie dort anstelle von 1 Argument den Namen des Symbols, z. B. "EURUSD". In Ihrer Funktion haben Sie NULL geschrieben, d.h. sie sucht das aktuelle Diagramm.
"...Preise für verschiedene Zeiträume erhalten..."
 
abeiks:
"...Preise für verschiedene Zeiträume erhalten..."

In iHighest ist der 2. Parameter der Zeitrahmen.

   double val;
//--- расчет максимального значения цены на 20 последовательных барах
//--- с индекса 4 по индекс 23 включительно на графике  EURUSD на М30 
   int val_index=iHighest("EURUSD",PERIOD_M30,MODE_HIGH,20,4);
   if(val_index!=-1) val=High[val_index];
   else PrintFormat("Ошибка вызова iHighest. Код ошибки=%d",GetLastError());
Grund der Beschwerde: