Спрашивайте! - страница 112

 

int start(){

if (TimeCurrent()>D'2008.06.15 12:00:00'){Comment("извините, истек срок действия!"); return(0);}

...

}

Yoda_Glenn:
Как добавить дату истечения срока действия в советник?
 

iBarShift найдет для вас бар, который начинается в этот день или заканчивается в этот день.

int iBarShift( string symbol, int timeframe, datetime time, bool exact=false)

далее...

использовать эти позиции баров для нахождения результатов iHighest и iLowest

int iHighest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

int iLowest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

результаты и готово

TheRumpledOne:
Я хотел бы знать, на каком баре сегодня был самый высокий максимум и самый низкий минимум на временных периодах H1 или меньше.

Я знаю, что могу использовать цикл for и проверку.

Есть ли более элегантный способ сделать это?

Существует ли функция первого бара сегодняшнего дня?

Спасибо.
 
IN10TION:
int start(){

if (TimeCurrent()>D'2008.06.15 12:00:00'){Comment("извините, истек срок действия!"); return(0);}

...

}

Я скопировал и вставил этот код в часть "Инициализация" кода моего советника, а затем получил сообщение об ошибке:

'start' - функция уже определена и имеет тело.

Что я могу делать неправильно? Спасибо!

 

вы почти у цели да у вас есть часть "init" (инициализация), а также часть "start"...

поместите его в начальную часть, как я сделал это в примере...

почему?

1. потому что init будет выполняться только один, в части "start" он будет блокировать продолжения.

2. Ваше сообщение об ошибке = вы не можете использовать start() в функции init().

Хороших выходных

Yoda_Glenn:
Я скопировал и вставил этот код в часть "Инициализация" кода моего советника, а затем получил это сообщение об ошибке:

'start' - функция уже определена и имеет тело

Что я могу делать неправильно? Спасибо!
 
Файлы:
rsi.gif  81 kb
 
IN10TION:
вы почти у цели

да, у вас есть часть "init" (инициализация), а также часть "start"...

поместите его в начальную часть, как я сделал это в примере...

почему?

1. потому что init будет выполняться только один, в части "start" он будет блокировать продолжения.

2. Ваше сообщение об ошибке = вы не можете использовать start() в функции init().

Хороших выходных

Спасибо за помощь! Я скомпилировал его без ошибок, но мне придется подождать, пока рынок откроется в понедельник, чтобы протестировать его. У меня есть один вопрос о кодах истечения срока действия с советниками: С чем советник сверяет дату? Получает ли он информацию о дате из графиков Meta Quotes, с сервера брокера или с компьютера, на котором работает советник? Если это последнее (с компьютера пользователя), то что мешает пользователю просто изменить дату на своем компьютере, чтобы обмануть срок действия советника? Просто интересно...

 

TimeCurrent( )

Возвращает последнее известное время сервера (время поступления последней котировки) как количество секунд, прошедших с 00:00 1 января 1970 года.

Примечание: При тестировании последнее известное время сервера моделируется.

Yoda_Glenn:
Спасибо за помощь! Я скомпилировал его без ошибок, но мне придется подождать, пока рынок откроется в понедельник, чтобы протестировать его. У меня есть один вопрос о кодах истечения срока действия с советниками: С чем советник сверяет дату? Получает ли он информацию о дате из графиков Meta Quotes, с сервера брокера или с компьютера, на котором работает советник? Если это последнее (с компьютера пользователя), то что мешает пользователю просто изменить дату на своем компьютере, чтобы обмануть срок действия советника? Просто интересно...
 

попробуйте вот это...

cutzpr:
Мне нужна помощь. Это моя первая попытка написать код.

Я безуспешно пытаюсь модифицировать индикатор RSI Filter, созданный igorad. В основном все, что я хочу, это объединить два разных периода в один индикатор.

Я бы хотел, чтобы новый индикатор рисовал только тогда, когда оба значения обоих периодов абсолютно одинаковы. Мой код компилируется правильно, но не рисует.

Файлы:
 

Может ли кто-нибудь ответить на этот вопрос... Буду очень признателен за помощь...

kiromano:
Гуру,

Я ломаю голову, как заставить мой индикатор использовать простую черточку вместо Wingdings. Я пытаюсь избежать использования ObjectCreate, если это возможно. Я знаю, что должен быть простой способ, потому что он указан в онлайн-справке на сайте MT4. Если я правильно понял, цифра 4 должна быть тире, но когда я использую цифру 4 как стрелку, она дает мне галочку по умолчанию.

Я не ищу пунктирную линию, просто одно тире, чтобы отметить точку на любом баре.

Отличная тема, кстати.
 

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

Хороших выходных!

kiromano:
Кто-нибудь может ответить на этот вопрос... Я буду очень признателен за помощь...
Причина обращения: