Блог им. MaGaDaN

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

    • 13 декабря 2015, 08:21
    • |
    • MaGaDaN
  • Еще
Здравствуйте подскажите как реализовать в ТсЛабе следующее, индикатор МАСД гистограмма условия такие: МАСД выше нуля развернулся т.е гистограмма сменила цвет с зеленого на красный, через какое то количество красных баров не дойдя до нуля цвет сменился на зеленый вошли в позицию как сделать так что бы при закрытии позиции по стопу или по профиту робот снова не входил на зеленом баре выше нуля. Получается что после смены гистограммы цвета с красного на зеленый выше нуля робот при закрытии позиции заходит на каждом следующем зеленом баре гистограммы, сделать надо так что бы он снова ждал смены цвета и только потом ждал вход либо через ноль вверх смена цвета и вход.
★2
18 комментариев
macd>macd[i-1] — сменился на зеленый, macd<macd[i-1] -сменился на красный, макди меняет цвет на красный когда снижается. 
на форуме TsLab много примеров 
avatar
читай внимательно в чем вопрос
avatar
MaGaDaN, читай внимательно ответ, добавь условие смены. 
macd>macd[i-1]&&macd[i-1]<macd[i-2]
avatar

это вход после этого если закрыть позицию скрипт будет постоянно входить в лонг пока зеленые бары, как сделать что бы сделка была одна если она закрылась то ждал скрипт следующего такого же события
avatar
MaGaDaN, как вариант (по крайней мере я на MQL4 бы так реализовал). Записывать время появления 1 бара после красного, искать ордер с временем появления после этого времени, и если его нет вход, иначе отказ.
avatar
Или какой то флаг после установки ордера, о том что на таком событии уже был ордер, флаг сбрасывается при появлении красного бара. Но этот вариант хуже, тк придется писать какой то файл, иначе в случае перезапуска скрипта переменная сбросится.
avatar
macd>macd[i-1] && macd[i-2]>macd[i-1]
ой… ть умники собрались еще раз повторяю ВНИМАТЕЛЬНО читайте текст, в блоке лог.формула прописано macd>0&&macd>macd[-1] это и есть то условие что изображено на рисунке выше, при этом условии скрипт если закроется позиция откроет позицию на след. баре если он зеленый мне надо  что бы  сделка была всего лишь одна, а потом скрипт ждал такого же условия
avatar
MaGaDaN, ладно, сейчас скину, коль…
avatar
Я бы сделал дополнительный флаг/триггер. И в нем хранил 1 — можно входить в позицию, -1 — нельзя входить в позицию. И делал бы так:
  — открывается позиция по сигналу, триггер сразу ставим в = -1, то есть последующие сигналы нужно игнорировать;
  — как только macd пересек обратно 0 (сверху вниз или снизу вверх), то триггер ставим  = 1, то есть при следующем сигнале, открытие позиции будет разрешено;
  — естественно, в вашем условии macd>macd[i-1] && macd[i-2]>macd[i-1] добавляем проверку нашего флага && flag==1;
avatar
Андрей К, это прям дальше в формуле писать после основного условия?
avatar
MaGaDaN, если я правильно понял условия задачи, то да.
avatar
Андрей К, а сам блок flag это что за блок????
avatar
Андрей К,  как этот триггер сделать на практике я дописал в логформуле  && flag==1 мне пишет что не найден блок с именем flag
avatar

так? 
avatar
Да
avatar

теги блога MaGaDaN

....все тэги



UPDONW
Новый дизайн