[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 15

 
Novice >>:
В чём тут ошибка и как это можно реализовать?

Да вообщем-то Вы уже реализовали), осталось только привести окончательный лот к допустимому виду...

 
Novice писал(а) >>

В чём тут ошибка и как это можно реализовать?

забыли поставить ; в конце каждой строки !!!

 
neoclassic >>:
Подскажите пожалуйста, можно ли на график вывести jpeg?
 
нельзя, можно создать свой шрифт типа Wingding в виде картинок и выводить..
 
xrust >>:

А что собственно вы пытаетесь реализовать?


Авто-подсчёт лота: 0.01 Лота на каждые 50 единиц баланса.
Figar0 >>:

Да вообщем-то Вы уже реализовали), осталось только привести окончательный лот к допустимому виду...


При компиляции выдавал 5 ошибок, я не понимал почему.

keekkenen писал(а) >>

забыли поставить ; в конце каждой строки !!!


Большое спасибо. Заработало.
 
Добрый день, господа программисты. Помогите, пожалуйста,  с программой. Это таймер, но не на МКЛ4, а левый какой-то. То есть просто прога. Этот таймер отсчитывает равные промежутки времени и подаёт сигнал. Но промежутки эти очень короткие. Самый длинный 120 сек, а надо бы промежутки побольше, до получаса-часа.  Можно ли что-нибудь сделать? Заранее спасибо.
Файлы:
tim_ngtrrg.rar  213 kb
 

вот например, функция

bool isTime(int sec){
   bool res = false;
   static datetime time = 0;
   double min = 0;
   if (TimeCurrent() >= time){
      min = MathFloor(sec / 60);
      if (min==0) min = 1.0;         
      time = iTime(NULL,PERIOD_H1,0) + (MathFloor(Minute()/min) + 1) * min * 60;
      res = true;
   } 
   return(res);
}


функция возвращает true, если прошло заданное число секунд после последнего вызова функции, как частный случай я использую для определения

того что наступил новый бар на текущем графике.. делается это таким образом, if ( !isTime(Period()*60) ) return(0); такая запись справедлива для любого таймфрейма..


в функции точкой отсчета всегда является начало текущего часа (iTime(NULL,PEROD_H1,0))

под ваши задачи возможно будет нужна иная точка отсчета.. например, если вы захотите чтобы алерт выскакивал каждые 111 секунд с начала первого старта то, с эту функцию нужно модифицировать..

получится следующее

bool isTime(int startTime, int sec){
   bool res = false;
   static datetime time = 0;
   double min = 0; 
   if (TimeCurrent() >= time){
      min = MathFloor(sec / 60);
      if (min==0) min = 1.0;          
      time = startTime + (MathFloor(Minute()/min) + 1) * min * 60;
      res = true;
   }  
   return(res);
}

таким образом, чтобы алерт выскакивал каждые 111 секунд делается следующее

int startTime = 0;

int init (){
   startTime = TimeCurrent();
}

int start(){

   if (!isTime(111)) return(0);

   Alert("Прошло 111 или более секунд !");
}
 
keekkenen >>:

вот например, функция


функция возвращает true, если прошло заданное число секунд после последнего вызова функции, как частный случай я использую для определения

того что наступил новый бар на текущем графике.. делается это таким образом, if ( !isTime(Period()*60) ) return(0); такая запись справедлива для любого таймфрейма..


в функции точкой отсчета всегда является начало текущего часа (iTime(NULL,PEROD_H1,0))

под ваши задачи возможно будет нужна иная точка отсчета.. например, если вы захотите чтобы алерт выскакивал каждые 111 секунд с начала первого старта то, с эту функцию нужно модифицировать..

получится следующее

таким образом, чтобы алерт выскакивал каждые 111 секунд делается следующее





Спасибо, а подскажите как это оформить: как скрипт или как советник?

 
ну, вам виднее где вы это использовать будете... будет работать и там и там..
 

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