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

 

Всем привет! Кто подскажет? Как правильно закодить и сделать логику - нужно на истории найти последнее определенное условие(допустим high>=MA) и возвратить индекс бара, на котором было это условие.

 
webman1988:

Всем привет! Кто подскажет? Как правильно закодить и сделать логику - нужно на истории найти последнее определенное условие(допустим high>=MA) и возвратить индекс бара, на котором было это условие.


Весь день убил, но вроде разобрался проблему решил так:

for(int i=1; iBars( Symbol(), 0); i++) /// на текущем графике по циклу смещаемся на один бар по истории пока не совпадет следующее условие

{

здесь прописал условие со сдвигом индекса на i

if (условие) /// если условие совпадает, то

{

return(i); /// возвращаю индекс бара где совпало условие

}

}

 

Добрый день друзья. Я в программировании не давно. Помогите пожалуйста решить эту задачу.

Как сделать так, чтобы советник автоматически вставлял стоп лосс и тейк профит по уровням фибоначчи? Скажем лосс ставить на уровень 50.0, а профит например 261.8? Помогите пожалуйста.

 
webip:

Добрый день друзья. Я в программировании не давно. Помогите пожалуйста решить эту задачу.

Как сделать так, чтобы советник автоматически вставлял стоп лосс и тейк профит по уровням фибоначчи? Скажем лосс ставить на уровень 50.0, а профит например 261.8? Помогите пожалуйста.

Советую Вам последовать примеру webman1988, который задал вопрос сам и сам же добился ответа! Вот так Вы научитесь программировать! Успехов!
 
webip:

Добрый день друзья. Я в программировании не давно. Помогите пожалуйста решить эту задачу.

Как сделать так, чтобы советник автоматически вставлял стоп лосс и тейк профит по уровням фибоначчи? Скажем лосс ставить на уровень 50.0, а профит например 261.8? Помогите пожалуйста.


Вроде ничего сложного нет. Логика примерно такая: для начала найдем формулу вычисления фибоначчи. Определяем начальную точку и конечную точку, т.е. точки 0 и 100 остальные точки рассчитаются по формуле. Затем модифицируешь ордеры, где уровень стопов и тейков подставляешь переменные полученные от расчета по формуле.
 

Добрый день! Не сталкивался ли кто-нибудь с ситуацией, когда в тестировании следующее выражение возвращает 0 (т.е. ошибку 4054)?

iTime(Symbol(), PERIOD_W1, 0);

Причём советник, в котором забиты это и подобные обращения именно к недельным таймсериям (с отсылками к другим таймсериям такой проблемы нет) работал нормально, а после переустановки терминала пошли ошибки (тестируется на текущем дне, т.е. история точно есть).

Ещё любопытно то, что индикатор, использующий данные из недельного таймфрейма в таком же виде, работает нормально, а вот при тестировании советника вылезла эта проблема (на другом компьютере её нет)...

Снёс напрочь терминал, почистил реестр и все temp, но ситуация не изменилась, а ведь три дня назад всё работало :(

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

 
webman1988:

Вроде ничего сложного нет. Логика примерно такая: для начала найдем формулу вычисления фибоначчи. Определяем начальную точку и конечную точку, т.е. точки 0 и 100 остальные точки рассчитаются по формуле. Затем модифицируешь ордеры, где уровень стопов и тейков подставляешь переменные полученные от расчета по формуле.

А какая формула расчета фибо?
 
webip:

А какая формула расчета фибо?


Уровни фибоначчи строятся в процентном соотношении между точками A и B, отсюда формула: A-B * на искомый процент по фибоначчи(если искомый уровень 38,2 значит умножмаем на 0,382 если уровень 61,8 умножаем на 0,618 и т.д.) + B

А вообще спросить можно у гугла, он знает если не все, то многое )))

 
yan720:

Добрый день! Не сталкивался ли кто-нибудь с ситуацией, когда в тестировании следующее выражение возвращает 0 (т.е. ошибку 4054)?

Причём советник, в котором забиты это и подобные обращения именно к недельным таймсериям (с отсылками к другим таймсериям такой проблемы нет) работал нормально, а после переустановки терминала пошли ошибки (тестируется на текущем дне, т.е. история точно есть).

Ещё любопытно то, что индикатор, использующий данные из недельного таймфрейма в таком же виде, работает нормально, а вот при тестировании советника вылезла эта проблема (на другом компьютере её нет)...

Снёс напрочь терминал, почистил реестр и все temp, но ситуация не изменилась, а ведь три дня назад всё работало :(

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


Не знаю почему, но после очередного варианта переустановки обращение к таймсериям восстановилось. На периоде с 01 по 05.07.13 стало работать (в восерксение не работало). Однако обращение к текущей неделе так и осталось некорректным.

Это в некотором роде апдейт, а первоначальный вопрос в целом остаётся в силе.

 
При работе с массивами часто приходится удалять к-л элементы массива и смещать остальные чтобы заполнить эти пустоты.
Хотел узнать, существует ли готовая функция, которая упрощает весь процесс?
Причина обращения: