Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 87

 
Forexman77 :

Şimdi bu zaman aralığındaki maksimum fiyatı bulmamız gerekiyor. Maksimum fiyatı bulabilirim:

ancak zaman aralığına bağlanmak için çalışmıyor. Bana nasıl yapacağımı söyle?

Navayal, ancak test etmedi. Çalışması gerekiyor gibi görünüyor

 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 :
danışman nasıl kurulur?
eller, peki ve kafa, elbette ... :)
Ve tamamen "tankta" ise, kendinizi tanıyın .
 
GBDD21 :
danışman nasıl kurulur?
Tornavida
 
Ve yine de, belirli bir zaman diliminden maksimumu nasıl bulabilirim ? Bunu yapmaya ve kontrol etmek için bir uyarı aramaya çalıştım, çalışmıyor.
 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 :
danışman nasıl kurulur?
https://www.mql5.com/ru/articles/1385 - "Uzman Danışmanların Test Edilmesi ve Optimizasyonu" makalesi
 
Herkese merhaba, lütfen bilenler cevap versin! Gündüzleri masaüstü bilgisayarda çalışırken ve geceleri netbook'ta bırakırken bir alım satım sinyaline (ücretli) abone olmak istiyorum... iki terminalde iki kez abone olmam gerekmiyor mu? soru şu ki, sinyale zaten aboneyim ve ikinci terminalde onu açıyorum ve orada abonelik yok .... daha kesin bir soru. aynı aboneliği (sinyali) farklı terminallerde çalıştırmak mümkün mü (tabii ki aynı hesapta)....
 
Forexman77 :
Ve yine de, belirli bir zaman diliminden maksimumu nasıl bulabilirim? Bunu yapmaya çalıştım ve kontrol etmek için bir uyarı aramaya çalıştım, çalışmıyor.

Eh, zaten yazdım ve şimdi zaten test ettim, işe yarıyor

 #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 );
}
 
Merhaba. Şablonu VPS'deki metatrader'a yüklemeye çalışıyorum, ancak evde olmasına rağmen hiçbir şekilde yapmak istemiyorum. bilgisayar iyi çalışıyor, bana sorunun ne olduğunu söyleme?
 
Sepulca :

Eh, zaten yazdım ve şimdi zaten test ettim, işe yarıyor


Çok teşekkürler. Daha bugün düştü. Kivi cüzdanından para çaldılar (((hırsızlıkla ilgili mektupları yeni bitirdim.

 
artmedia70 :
Tornavida
Bu kaba bir ayardır! Bir diyapazondan daha ince, böylece ruh şarkı söyler!