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

 
Forexman77:

Nun müssen Sie den Höchstpreis in dieser Zeitspanne ermitteln. Ich kann den Höchstpreis finden:

aber ich kann es nicht mit der Zeitspanne in Verbindung bringen. Können Sie mir sagen, wie man das macht?

Ich habe es aufgebaut, aber noch nicht getestet. Es scheint zu funktionieren

int start(){
 int StartHour=8,StartMinute=1;// Время 08:01
 int StopHour=23,StopMinute=58; // Время 23:58
 int StartTime=StartHour*60+StartMinute;
 int StopTime=StopHour*60+StopMinute;
 int CurrentMinutesFromDayStart=Hour()*60+Minute();// Текущее время в минутах от начала дня
 if(CurrentMinutesFromDayStart>=StartTime && CurrentMinutesFromDayStart<=StopTime) {
  // Для торговли внутри дня
 }
// Ищем максимум
 datetime td=iTime(Symbol(),PERIOD_D1,0);// Время открытия дневного бара в секундах от 01.01.1970
 int start=0;// Если конец временного диапазона ещё не наступил, начинаем поиск максимума с текущего бара
 if(CurrentMinutesFromDayStart>StopTime) {
  datetime ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
  start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
 }
 int count=0;// Сколько баров до StartTime
 if(CurrentMinutesFromDayStart>StartTime) {
  ts=td+StartTime*60;// начало временного диапазона в секундах от 01.01.1970
  count= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  count= count-start;// Сколько баров длится временной интервал
 }
 double Maximum=iHigh(Symbol(),PERIOD_M1,iHighest(Symbol(),PERIOD_M1,MODE_HIGH,count,start));//Находим максимум на заданном временном интервале
 return(0);
}
 
GBDD21:
Wie richtet man einen EA ein?
mit den Händen, und natürlich mit dem Kopf... :)
Und wenn Sie sich mitten im Nirgendwo befinden, können Sie sich mit ihm vertraut machen.
 
GBDD21:
wie man einen EA einrichtet?
Mit einem Schraubenzieher
 
Doch wie finde ich das Maximum eines bestimmten Zeitintervalls? Ich habe dies und eine Warnmeldung zur Überprüfung versucht, aber es funktioniert nicht.
datetime StartTime1=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" 12:00");
datetime StopTime1=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" 23:00");

if(TimeCurrent()>=StartTime1 && TimeCurrent()<=StopTime1)
    {
    int BarStart = iBarShift(NULL,0,StartTime1,false);
    int BarEnd   = iBarShift(NULL,0,StopTime1,false);
    double Max_Price=iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,BarStart-BarEnd,BarEnd));
       if (Max_Price==true)
            {
            Alert(" Max_Price= ",Max_Price);
            }
   }
 
GBDD21:
wie man einen EA einrichtet?
https://www.mql5.com/ru/articles/1385 - Artikel "Testen und Optimieren von EAs"
 
Hallo alle, bitte sagen Sie mir, wer weiß! Ich möchte ein Handelssignal abonnieren (bezahlt) und arbeiten auf meinem Desktop-Computer während des Tages und lassen Sie es auf meinem Netbook in der Nacht .... Muss ich mich zweimal in zwei Terminals anmelden? Ich möchte eine Frage stellen, ich habe das Signal abonniert, aber ich öffne das zweite Terminal und es ist leer.... Ich möchte Ihnen eine genauere Frage stellen. Ist es möglich, ein und dasselbe Abonnement (Signal) auf verschiedenen Terminals zu eröffnen (auf einem Konto, natürlich) ....?
 
Forexman77:
Doch wie finde ich das Maximum eines bestimmten Zeitintervalls? Ich habe versucht, es auf diese Weise zu machen und die Meldung zu überprüfen, aber es funktioniert nicht.

Nun, ich habe es bereits geschrieben und jetzt getestet, und es funktioniert.

#property copyright "Copyright 2013, Mikhail <Sepulca>  Kozhemyako"
#property link      "ua3xcm@obninsk.ru"
extern int StartHour=8;
extern int StartMinute=1;
extern int StopHour=23;
extern int StopMinute=58;
int OldBar;
int init() { OldBar=Bars-1;return(0);}
int deinit() {return(0);}
int start(){
 double Maximum;
 int StartTime=StartHour*60+StartMinute;
 int StopTime=StopHour*60+StopMinute;
 int CurrentMinutesFromDayStart=Hour()*60+Minute();// Текущее время в минутах от начала дня
 if(CurrentMinutesFromDayStart>=StartTime && CurrentMinutesFromDayStart<=StopTime) {
  // Для торговли внутри дня
 }
 datetime td=iTime(Symbol(),PERIOD_D1,0);// Время открытия дневного бара в секундах от 01.01.1970
 int start=0;// Если конец временного диапазона ещё не наступил, начинаем поиск максимума с текущего бара
 if(CurrentMinutesFromDayStart>StopTime) {
  datetime ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
  start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
 }
 int count=0;// Сколько баров до StartTime
 if(CurrentMinutesFromDayStart>StartTime) {
  ts=td+StartTime*60;// начало временного диапазона в секундах от 01.01.1970
  count= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  count= count-start;// Сколко баров длится временной интервал
  Maximum=iHigh(Symbol(),PERIOD_M1,iHighest(Symbol(),PERIOD_M1,MODE_HIGH,count,start));//Находим максимум на заданном временном интервале
 }
 else Maximum=-1;
 if(OldBar<Bars){Print("Текущее время в минутах=",CurrentMinutesFromDayStart," Максимум с ",StartTime," минуты по ",StopTime," минуту =",DoubleToStr(Maximum,Digits));OldBar=Bars;}
 return(0);
}
 
Hallo. Ich versuche, ein Template in Metatrader auf einem VPS zu installieren, aber es funktioniert nicht, obwohl alles auf meinem Heimcomputer gut funktioniert. Können Sie mir sagen, wo das Problem liegt?
 
Sepulca:

Nun, ich habe es bereits geschrieben und jetzt getestet, es funktioniert.


Ich danke Ihnen vielmals. Ich habe heute einfach wieder angefangen. Mir wurde Geld aus meiner Kiwi-Brieftasche gestohlen((( Ich bin gerade mit den E-Mails über den Diebstahl fertig.

 
artmedia70:
Schraubenzieher
Das ist eine harte Umstellung! Eine dünnere Stimmung für die Seele zum Singen!