MaGaDaN
MaGaDaN личный блог
13 декабря 2015, 08:21

ТсЛаб как сделать?

Здравствуйте подскажите как реализовать в ТсЛабе следующее, индикатор МАСД гистограмма условия такие: МАСД выше нуля развернулся т.е гистограмма сменила цвет с зеленого на красный, через какое то количество красных баров не дойдя до нуля цвет сменился на зеленый вошли в позицию как сделать так что бы при закрытии позиции по стопу или по профиту робот снова не входил на зеленом баре выше нуля. Получается что после смены гистограммы цвета с красного на зеленый выше нуля робот при закрытии позиции заходит на каждом следующем зеленом баре гистограммы, сделать надо так что бы он снова ждал смены цвета и только потом ждал вход либо через ноль вверх смена цвета и вход.
18 Комментариев
  • Friend
    13 декабря 2015, 08:30
    macd>macd[i-1] — сменился на зеленый, macd<macd[i-1] -сменился на красный, макди меняет цвет на красный когда снижается. 
    на форуме TsLab много примеров 
    • Friend
      13 декабря 2015, 10:23
      MaGaDaN, читай внимательно ответ, добавь условие смены. 
      macd>macd[i-1]&&macd[i-1]<macd[i-2]
    • Александр
      13 декабря 2015, 09:56
      MaGaDaN, как вариант (по крайней мере я на MQL4 бы так реализовал). Записывать время появления 1 бара после красного, искать ордер с временем появления после этого времени, и если его нет вход, иначе отказ.
  • Александр
    13 декабря 2015, 10:00
    Или какой то флаг после установки ордера, о том что на таком событии уже был ордер, флаг сбрасывается при появлении красного бара. Но этот вариант хуже, тк придется писать какой то файл, иначе в случае перезапуска скрипта переменная сбросится.
  • Владимирович(KUKLriu1)
    13 декабря 2015, 10:25
    macd>macd[i-1] && macd[i-2]>macd[i-1]
    • Friend
      13 декабря 2015, 10:46
      MaGaDaN, ладно, сейчас скину, коль…
  • Андрей К
    13 декабря 2015, 11:07
    Я бы сделал дополнительный флаг/триггер. И в нем хранил 1 — можно входить в позицию, -1 — нельзя входить в позицию. И делал бы так:
      — открывается позиция по сигналу, триггер сразу ставим в = -1, то есть последующие сигналы нужно игнорировать;
      — как только macd пересек обратно 0 (сверху вниз или снизу вверх), то триггер ставим  = 1, то есть при следующем сигнале, открытие позиции будет разрешено;
      — естественно, в вашем условии macd>macd[i-1] && macd[i-2]>macd[i-1] добавляем проверку нашего флага && flag==1;
      • Андрей К
        13 декабря 2015, 11:31
        MaGaDaN, если я правильно понял условия задачи, то да.
  • Friend
    13 декабря 2015, 11:28

    так? 

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн