Здравствуйте подскажите как реализовать в ТсЛабе следующее, индикатор МАСД гистограмма условия такие: МАСД выше нуля развернулся т.е гистограмма сменила цвет с зеленого на красный, через какое то количество красных баров не дойдя до нуля цвет сменился на зеленый вошли в позицию как сделать так что бы при закрытии позиции по стопу или по профиту робот снова не входил на зеленом баре выше нуля. Получается что после смены гистограммы цвета с красного на зеленый выше нуля робот при закрытии позиции заходит на каждом следующем зеленом баре гистограммы, сделать надо так что бы он снова ждал смены цвета и только потом ждал вход либо через ноль вверх смена цвета и вход.
macd>macd[i-1] — сменился на зеленый, macd<macd[i-1] -сменился на красный, макди меняет цвет на красный когда снижается.
на форуме TsLab много примеров
это вход после этого если закрыть позицию скрипт будет постоянно входить в лонг пока зеленые бары, как сделать что бы сделка была одна если она закрылась то ждал скрипт следующего такого же события
MaGaDaN, как вариант (по крайней мере я на MQL4 бы так реализовал). Записывать время появления 1 бара после красного, искать ордер с временем появления после этого времени, и если его нет вход, иначе отказ.
Или какой то флаг после установки ордера, о том что на таком событии уже был ордер, флаг сбрасывается при появлении красного бара. Но этот вариант хуже, тк придется писать какой то файл, иначе в случае перезапуска скрипта переменная сбросится.
ой… ть умники собрались еще раз повторяю ВНИМАТЕЛЬНО читайте текст, в блоке лог.формула прописано macd>0&&macd>macd[-1] это и есть то условие что изображено на рисунке выше, при этом условии скрипт если закроется позиция откроет позицию на след. баре если он зеленый мне надо что бы сделка была всего лишь одна, а потом скрипт ждал такого же условия
Я бы сделал дополнительный флаг/триггер. И в нем хранил 1 — можно входить в позицию, -1 — нельзя входить в позицию. И делал бы так:
— открывается позиция по сигналу, триггер сразу ставим в = -1, то есть последующие сигналы нужно игнорировать;
— как только macd пересек обратно 0 (сверху вниз или снизу вверх), то триггер ставим = 1, то есть при следующем сигнале, открытие позиции будет разрешено;
— естественно, в вашем условии macd>macd[i-1] && macd[i-2]>macd[i-1] добавляем проверку нашего флага && flag==1;
Увеличь доходность своего портфеля с профессиональной командой аналитиков. Наши идеи уже принесли клиентам прибыль с начала года. Ты мог и можешь быть среди них. Почему нас выбирают?...
21.02.2026
Brent нацелена на штурм отметки $75
Нефть марки Brent дорожает на 0,74%, до $71,34 за баррель, цена сорта WTI повысилась на 0,84%, до $67,04. На этой неделе продолжатся переговоры между США и Ираном ядерной сделке, что не позволяет...
23 февраля — это день, который традиционно ассоциируется с силой, ответственностью и готовностью принимать решения. В инвестиционной сфере эти качества приобретают особое значение. Работа...
ЦБ РФ 13 февраля в очередной раз снизил ключевую ставку до 15,5%, тем самым продолжив тренд смягчения ДКП (кумулятивное снижение с июня 2025 г. составило 550 б. п.). Под влиянием этого цикла...
Александр Стаин, все верно. Я сразу же написал, что цель Пинкина только одна: опустить цену для закупа. Но люди не дураки оказались☝️. Что же касается пустых брехунов, то это вообще банальное сотря...
Такое ощущение что на 92 откроют завтра и в 8 утра фикс символический на пару процентов и далее вверх, сам без позы нахожусь, ибо хотелось бы отработать от шорта, но с этими войнушками Мексикой хз куд...
на форуме TsLab много примеров
macd>macd[i-1]&&macd[i-1]<macd[i-2]
это вход после этого если закрыть позицию скрипт будет постоянно входить в лонг пока зеленые бары, как сделать что бы сделка была одна если она закрылась то ждал скрипт следующего такого же события
— открывается позиция по сигналу, триггер сразу ставим в = -1, то есть последующие сигналы нужно игнорировать;
— как только macd пересек обратно 0 (сверху вниз или снизу вверх), то триггер ставим = 1, то есть при следующем сигнале, открытие позиции будет разрешено;
— естественно, в вашем условии macd>macd[i-1] && macd[i-2]>macd[i-1] добавляем проверку нашего флага && flag==1;
так?