Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не пропускалась и я показывал. Четыре ордера открылись одновременно на разных парах с разными эксперт ай ди. Два бай и два селл.
И вообще вопрос зачем менять код если он работает?
Да и кстати Korey я уже много объяснял, что хочу увидеть. Я вообще понятно это сделал или косноязычно?
т.е. быстрая МА Weekly в тот период была выше медленой МА Weekly, что запрещало продажу по Н4 и согласно кода всё правильно, НО .
Теперь попробую сформулировать вопрос: КАК ДОЛЖЕН ВЫГЛЯДЕТЬ КОД ТРЕНДА weekly В УСЛОВИИ ПРОДАЖИ, ЧТОБЫ ВХОД ПО Н4 ОСУЩЕСТВЛЯЛСЯ НА ВСЁМ ПРОТЯЖЕНИИ ТРЕНДА?
т.е. можно ли закодировать тренд weekly, что ВОТ - ОН ЕСТЬ и на всём его протяжении Н4 должно продаваться?
получается - два варианта
-либо вход только по W1 = так и реализовано в советнике
-либо когда W1 и Н4 совпадают. ... этого в светнике сейчас нет.
из сигналов которые недельные
получаем ситгналы W1&&H4
Я потрясён. Я не понят. Я балбес который не может довести до людей словами, что он хочет. Куда уж тогда пытаться объяснить это машине програмным кодом.
Давай оставим в покое второй вариант с W1 и H4 - помоги хоть с первым, только W1.
Предположим у нас сегодня на календаре 2002.02.29 и я хочу открыть позицию. Запускаю советник (тот который у нас сейчас - только W1). Позиция не откроется. Не соответствуют условия: MACD>0, а МА мэйн < МА сигнальной. В этот момент советник должен начать проверять бары назад - до 2002.09.29 на совпадение условий для открытия - либо MACD<0 и МА мэйн < МА сигнальной тогда 2002.09.29 у нас откроется селл позиция, либо MACD>0 и МА мэйн > МА сигнальной и 2002.09.29 откроется бай позиция (что впрочем и должно произойти).
Пересечение существует только на одном баре, и его можно искать назад,
для этого при старте советника один раз ищем назад, а потом обновляем по текущему бару.
--
Однако, у вас используется условие выше/ниже, в отличие от пересечения это условие соблюдается на длинном отрезке, зачем искать назад?
"для этого при старте советника один раз ищем назад, а потом обновляем по текущему бару." - не понял фразу
Мне не нужно пересечение. Нужно совпадение двух условий, двух индикаторов. В частности использовать МА для фильтрации MACD и наоборот.
Вообще, Вам понятен смысл:
"Предположим у нас сегодня на календаре 2002.02.29 и я хочу открыть позицию. Запускаю советник (тот который у нас сейчас - только W1). Позиция не откроется. Не соответствуют условия: MACD>0, а МА мэйн < МА сигнальной. В этот момент советник должен начать проверять бары назад - до 2002.09.29 на совпадение условий для открытия - либо MACD<0 и МА мэйн < МА сигнальной тогда 2002.09.29 у нас откроется селл позиция, либо MACD>0 и МА мэйн > МА сигнальной и 2002.09.29 откроется бай позиция (что впрочем и должно произойти)."
?????
Сейчас:
условия для открытия бай были N баров назад. На нулевом баре условие не выполняются, сигналы вразхдрай, т.е. нельзя открывать
Вы хотите, два этапа:
1 . проверитьна 0 баре,
2 если на нулевом баре нельзя, (обнаружен раздрай), вернуться назад чтобы найти условие и все таки войти.
Это логически эквивалентно циклу назад от нуля на эн баров
выходим из цикла по первому найденному условию
Ура! Это то, что было нужно. Почти. Проявился побочный эффект.
В моменты пересечения MACD с нулём в течении одного бара возникают скачки MACD выше/ниже нуля и возникает эффект тренд-раздрай. Ситуация решалась просто, когда бары были фиксированными, определение шло на сформировавшемся баре:
double MAMainCurrentW=iMA(NULL,PERIOD_W1,13,0,MODE_SMA,PRICE_CLOSE,1);
double MASignalCurrentW=iMA(NULL,PERIOD_W1,21,0,MODE_SMA,PRICE_CLOSE,2);
double MACDMainCurrentW=iMACD(NULL,PERIOD_W1,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
double MACDSignalCurrentW=iMACD(NULL,PERIOD_W1,12,26,9,PRICE_CLOSE,MODE_SIGNAL,2);
как можно решить ситуацию теперь, когда определение бара стало "плавающим"?
double MAMainCurrentW=iMA(NULL,PERIOD_W1,13,0,MODE_SMA,PRICE_CLOSE,j);
double MASignalCurrentW=iMA(NULL,PERIOD_W1,21,0,MODE_SMA,PRICE_CLOSE,j);
double MACDMainCurrentW=iMACD(NULL,PERIOD_W1,12,26,9,PRICE_CLOSE,MODE_MAIN,j);
double MACDSignalCurrentW=iMACD(NULL,PERIOD_W1,12,26,9,PRICE_CLOSE,MODE_SIGNAL,j);
И полный код
на нулевом баре индикатор бьется возле какого то значения и вызывает многократное срабатывание.
традиционный способ - ввeдение пороговго значения.
условие индиктаор больше нуля a> 0+porog
условие индиктаор меньше нуля a< 0-porog
внутри порога - ни кому и ни чему
--
без порога у нас логика либо вверх либо вниз
за счет введенеия порога получаем зону нечувствительности выше и ниже нуля
=== логика либо вверх, либо нет ничего либо вниз
MACD привязан к Digits инструмента.
порог можно задать так:
......