ikatsko:А в приведенном куске программы я не понял следующего: iTime даст значение времени открытия бара, смещенного относительно текущего на количество_баров_для_ пропуска. Это означает, что полученное таким образом время всегда будет меньше текущего. С каждым новым баром оно также будет сдвигаться в большую сторону. И всё это привязано к ??? Ну и что? Как будет это работать на пропуск бара?
Замените OrderOpenTime на время подачи вашей команды
0-й элемент массива будет иметь значение цены последнего тика, 1-й элемент значение цены 1 тик назад, 2-й элемент значение цены 2 тика назад и т. д.
Или я что-то не так понял и имелось в виду совсем другое?
я новичек в этом деле, учусь по учебнику самостоятельно - разжуйте по слогам плз.
#property copyright "Bicus"#property link "Bicus"double aPrices [5]; //мы объявили массив с пятью значениями внутриvoid PutStack (double p_Price) //вот мне не понятно. Эта функция выступает как шаблон? Она показывает программе, как работать? Объясните что это плз.
{
int nCounter; //создали переменную целого числаfor (nCounter = 4; nCounter > 0; nCounter--) //это цикл, который начинается с 4х и идет к нулю (я так понял - он будет сохранять 4 тика)
aPrices [nCounter] = aPrices [nCounter - 1]; //присваиваем массиву (например) с номером 3 значиние массива с номером 2 (а разве надо не наоборот?).
aPrices [0] = p_Price; //если p_Price - это тик, то в этой строчке мне все понятно - мы присваиваем первому значению массива настоящий тик.
}
int start()
{
int nCounter; //опять создали переменную целого числа
PutStack (Bid); //тут не понятно... Putstack=Bid?for (nCounter = 0; nCounter < 5; nCounter++) //тут создаем цикл, который идет от нуля, чтоб заполнять массив, но почему внутри его нет массива? он не нужен?Print (nCounter, "-й тик: ", DoubleToStr (aPrices [nCounter], Digits)); //тут выводим значение
}
Перерыл всю справку и на форумах ответа пока тоже не нашел. А вопрос простой - есть ли простой функционал в MQL4 сообщить время сработки отложенного ордера или нет?
Судя по имеющейся информации, такого функционала нет. Функция OrderOpenTime() выдает время постановки отложенника на исполнение, а вот время, когда он стал рыночным ордером, сдается мне, без использования эксперта, отслеживающего состояние ордеров на счете, узнать не получится.
Подскажите, пожалуйста, может кто-то знает простое решение. Сложное в виде эксперта делать непродуктивно, смысл гонять постоянно эксперта, если его услуги нужны раз-два в сутки. Нужно что-то более простое, вот была бы встроенная функция, кот. для отложенника сообщала время его сработки... Нужно это для правильного учета ордеров по времени открытия, чтобы, например, всегда можно было сказать, какой ордер из текущих открытых или уже закрытых имеет самое свежее время открытия. В случае с отложенником, этого сделать не получается. Отложенник мог быть выставлен 2 часа назад, сработать час назад, в этом часовом промежутке могли открываться-закрываться другие ордера, а в терминале у ставшего рыночным отложенника время открытия стоит двухчасовой давности, а нужно узнать именно фактическое время его сработки.
Перерыл всю справку и на форумах ответа пока тоже не нашел. А вопрос простой - есть ли простой функционал в MQL4 сообщить время сработки отложенного ордера или нет?
Судя по имеющейся информации, такого функционала нет. Функция OrderOpenTime() выдает время постановки отложенника на исполнение, а вот время, когда он стал рыночным ордером, сдается мне, без использования эксперта, отслеживающего состояние ордеров на счете, узнать не получится.
Подскажите, пожалуйста, может кто-то знает простое решение. Сложное в виде эксперта делать непродуктивно, смысл гонять постоянно эксперта, если его услуги нужны раз-два в сутки. Нужно что-то более простое, вот была бы встроенная функция, кот. для отложенника сообщала время его сработки... Нужно это для правильного учета ордеров по времени открытия, чтобы, например, всегда можно было сказать, какой ордер из текущих открытых или уже закрытых имеет самое свежее время открытия. В случае с отложенником, этого сделать не получается. Отложенник мог быть выставлен 2 часа назад, сработать час назад, в этом часовом промежутке могли открываться-закрываться другие ордера, а в терминале у ставшего рыночным отложенника время открытия стоит двухчасовой давности, а нужно узнать именно фактическое время его сработки.
Буду рад вашим комментариям.
я немного не пойму почему вас не устраивает советник, ведь вы походу не собираетесь делать сложную торговую систему на нейронных сетях с самооптимизацией, вам просто нужно каждый тик проверять наличие отложенника и когда он сработает вы бы получили текстовое сообщение на экран или звуковое или и то и другое, с этой задачей и калькудятор справится, нечего беспокойиться за компьютер или у вас проблемы именно с написанием?
Доброго времени суток всем,специалистам программного кода!
Не могли бы вы мне разъяснить вот такую ситуацию,в моём советник весь смысл выставления ордера заключается в определённое время и один ордер в сутк,для чего я применил вот такой код:
...заметил,что if(H>=09 && M>=40) и if(H>=21 && M>=40) одинаковые условия и получается,что ордер будет выставляться как минимум два раза в сутки. Что здесь стоило мне ещё применить,чтобы обойти эту проблему?
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Замените OrderOpenTime на время подачи вашей команды
f(iTime(Symbol(),период_бара,количество_баров_для_ пропуска)<время_вашей_команды) return
Замените OrderOpenTime на время подачи вашей команды
f(iTime(Symbol(),период_бара,количество_баров_для_ пропуска)<время_вашей_команды) return
А что здесь может быть сложного?
0-й элемент массива будет иметь значение цены последнего тика, 1-й элемент значение цены 1 тик назад, 2-й элемент значение цены 2 тика назад и т. д.
Или я что-то не так понял и имелось в виду совсем другое?
Добрый день, уважаемые эксперты.
Перерыл всю справку и на форумах ответа пока тоже не нашел. А вопрос простой - есть ли простой функционал в MQL4 сообщить время сработки отложенного ордера или нет?
Судя по имеющейся информации, такого функционала нет. Функция OrderOpenTime() выдает время постановки отложенника на исполнение, а вот время, когда он стал рыночным ордером, сдается мне, без использования эксперта, отслеживающего состояние ордеров на счете, узнать не получится.
Подскажите, пожалуйста, может кто-то знает простое решение. Сложное в виде эксперта делать непродуктивно, смысл гонять постоянно эксперта, если его услуги нужны раз-два в сутки. Нужно что-то более простое, вот была бы встроенная функция, кот. для отложенника сообщала время его сработки... Нужно это для правильного учета ордеров по времени открытия, чтобы, например, всегда можно было сказать, какой ордер из текущих открытых или уже закрытых имеет самое свежее время открытия. В случае с отложенником, этого сделать не получается. Отложенник мог быть выставлен 2 часа назад, сработать час назад, в этом часовом промежутке могли открываться-закрываться другие ордера, а в терминале у ставшего рыночным отложенника время открытия стоит двухчасовой давности, а нужно узнать именно фактическое время его сработки.
Буду рад вашим комментариям.
Добрый день, уважаемые эксперты.
Перерыл всю справку и на форумах ответа пока тоже не нашел. А вопрос простой - есть ли простой функционал в MQL4 сообщить время сработки отложенного ордера или нет?
Судя по имеющейся информации, такого функционала нет. Функция OrderOpenTime() выдает время постановки отложенника на исполнение, а вот время, когда он стал рыночным ордером, сдается мне, без использования эксперта, отслеживающего состояние ордеров на счете, узнать не получится.
Подскажите, пожалуйста, может кто-то знает простое решение. Сложное в виде эксперта делать непродуктивно, смысл гонять постоянно эксперта, если его услуги нужны раз-два в сутки. Нужно что-то более простое, вот была бы встроенная функция, кот. для отложенника сообщала время его сработки... Нужно это для правильного учета ордеров по времени открытия, чтобы, например, всегда можно было сказать, какой ордер из текущих открытых или уже закрытых имеет самое свежее время открытия. В случае с отложенником, этого сделать не получается. Отложенник мог быть выставлен 2 часа назад, сработать час назад, в этом часовом промежутке могли открываться-закрываться другие ордера, а в терминале у ставшего рыночным отложенника время открытия стоит двухчасовой давности, а нужно узнать именно фактическое время его сработки.
Буду рад вашим комментариям.
я новичек в этом деле, учусь по учебнику самостоятельно - разжуйте по слогам плз.
А в учебнике нет ответов на Ваши вопросы?
Перенесено:
Pyxlik2009 14.10.2011 03:52
Ребят подскажите что означает ошибка (invalid integer number as parameter 10 for OrderSend function) и как ее исправить ?
Доброго времени суток всем,специалистам программного кода!
Не могли бы вы мне разъяснить вот такую ситуацию,в моём советник весь смысл выставления ордера заключается в определённое время и один ордер в сутк,для чего я применил вот такой код:
но заметил,что if(H>=09 && M>=40) и if(H>=21 && M>=40) одинаковые условия и получается,что ордер будет выставляться как минимум два раза в сутки.
Что здесь стоило мне ещё применить,чтобы обойти эту проблему?
За ранее всем откликнувшимся благодарен за поддержку!!!
Starting:
....Сложное в виде эксперта делать непродуктивно, смысл гонять постоянно эксперта, если его услуги нужны раз-два в сутки.
...заметил,что if(H>=09 && M>=40) и if(H>=21 && M>=40) одинаковые условия и получается,что ордер будет выставляться как минимум два раза в сутки.
Что здесь стоило мне ещё применить,чтобы обойти эту проблему?
isTradeTimeString - Возвращает флаг разрешения торговли по времени.
isTradeTimeInt - Возвращает флаг разрешения торговли по времени.