Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 87

 
Forexman77:

Теперь необходимо найти в этом временном диапазоне максимальную цену. Максимальную цену найти могу:

но привязать к временному диапазону, не получается. Подскажите, как сделать?

Наваял, но не тестировал. Вроде должно работать

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:
как настроить советника?
ручками, ну, и головой, конечно... :)
А, если, совсем "в танке", то ознакомиться.
 
GBDD21:
как настроить советника?
Отвёрткой
 
И все-таки, как найти максимум из заданного промежутка времени? Попробовал сделать так и для проверки алерт вызвать, не получается.
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:
как настроить советника?
https://www.mql5.com/ru/articles/1385 - статья "Тестирование и оптимизация советников"
 
Всем привет, ответьте пожалуйста кто знает! я хочу подписаться на торговый сигнал ( платный ) при этом днем работать на настольном компьтере а ночью оставлять на нетбуке... не придеться ли мне подписываться дважды в двух терминалах? вопрос ибо я уже подписан на сигнал а во втором терминале открываю а там пусто нет подписки.... более точный вопрос. можно ли запустить одну и туже подписку (сигнал) на разных терминалах ( на одном счете естественно)....
 
Forexman77:
И все-таки, как найти максимум из заданного промежутка времени? Попробовал сделать так и для проверки алерт вызвать, не получается.

Ну я же уже написал, а сейчас уже и протестировал, работает

#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);
}
 
Здравствуйте. Пытаюсь установить шаблон в метатрейдер в VPS, но ни в какую не хочет, хотя на дом. компьютере все прекрасно работает, не подскажите в чем проблема?
 
Sepulca:

Ну я же уже написал, а сейчас уже и протестировал, работает


Спасибо огромное. Просто выпал в осадок сегодня. Стырили деньги с кошелька киви((( Только сейчас закончил с письмами по поводу кражи.

 
artmedia70:
Отвёрткой
Это грубая настройка! Потоньше камертоном, чтоб душа запела!
Причина обращения: