Как правильно добавить сигналку (sig в коде ниже), чтобы ее значение учитывалось при отправке транзакций?
В текущем виде скрипт работать не хочет.
while stopped==false do
sig=1 --значение по умолчанию
if условие and sig==1 then
sig=2 --после транзакции изменяется на 2
отправка транзакции
elseif условие and flag==2 then
sig=1 --после транзакции меняется на исходную 1
отправка транзакции
end
end
Разница с моим кодом в том, что отправку транзакции я вынес из тела логического перехода. Внутри if — end только формируются флаги (у Вас sig):
if continueTrend == 0 then
if Bu == true then
if oFlag == 1 then
Bu = false
else
oFlag = 1
end
end
if Se == true then
if oFlag == 2 then
Se = false
else
oFlag = 2
end
end
end
Выполняемая задача: предотвратить повторные отправки ботом сигналов.
Bu — последний сигнал на покупку в общем массиве сигналов;
Se — последний сигнал на продажу в общем массиве сигналов.
Массив сигналов формируется при запуске скрипта и постоянно дополняется новыми сигналами.
Если Вы знакомы со скриптом прогрммирования в AmiBroker, то поймете идею функции ExRem.
Врач-бондиатОр, во-первых, как правильно заметил Cubigator,
«sig=1 --значение по умолчанию» надо вынести за цикл while.
Во-вторых, если транзакция в первом условии должна принимать sig=1, а транзакция во-втором условии должна принимать sig=2, то это и надо прописывать в условиях, кроме того, надо поменять местами операции присвоения и отправки транзакций, если есть желание менять значение сигналки именно после транзакций.
Как-то так:
sig=1 --значение по умолчанию
while stopped==false do
if условие and sig==1 then
отправка транзакции
sig=2 --после транзакции изменяется на 2
elseif условие and flag==2 and sig==2 then
отправка транзакции
sig=1 --после транзакции меняется на исходную 1
end
end
Торговая активность наших клиентов на срочном рынке активно росла в 1-м квартале — на 66% с января по март.
Более того, март — рекордный месяц по объёму сделок с фьючерсами и опционами...
Обновление кредитных рейтингов в ВДО и розничных облигациях (ООО "АЗЮ" подтвержден ВВ.ru, ПР-Лизинг подтвержден ru.BBB+, АО "ГЛАВСНАБ" понижен C.ru, АО "Нэппи Клаб" присвоен статус "под наблюдением)
🟢ООО «Агро Зерно Юг» НКР подтвердило кредитный рейтинг на уровне BB.ru ООО «Агро Зерно Юг» — один из крупных российских экспортёров растениеводческой продукции. Компания поставляет пшеничные...
📈 «Собственные решения становятся основой нашего долгосрочного роста»
IR-директор ГК Softline Александра Мельникова дала интервью для «Эксперт РА» в рамках форума «Стратегическая сессия финансового рынка». В материале она поделилась тем, какие факторы сегодня...
БСП: результаты в марте в рамках прогнозов. Что ожидать по итогам года?
Банк Санкт-Петербург подвёл итоги деятельности за март и 1-й квартал 2026 года. Чистая прибыль в марте составила 3,5 млрд рублей, продемонстрировав снижение г/г на 34,1%. Чистая прибыль 1-го...
Гриша, друг, ты планету держишь, как голосовать планируешь? У меня 1000 листов, условия меня устраивают, переживаю только из-за кворум, вдруг не наберут…
(Reuters). По меньшей мере два торговых судна сообщили, что подверглись обстрелу при попытке пересечь Ормузский пролив в субботу, 18 апреля, сообщили три источника в сфере морской безопасности и судох...
МОЛНИЯ
18.04.2026 13:44:55
ЛАВРОВ: ПОЗИТИВНО ВОСПРИНИМАЕМ ВОЗМОЖНОСТЬ ВОЗОБНОВЛЕНИЯ ПЕРЕГОВОРОВ В СТАМБУЛЕ ПО УКРАИНЕ, НО ЭТО СЕЙЧАС НЕ ТЕМА НОМЕР ОДИН
ИНТЕРФАКС
Иран вновь закрывает пролив Иран вновь ограничил проход судов через пролив. Акции стремительно пошли никуда.
Господа, самое смешное не то что Иран закрывает, открывает, закрывает и т.д. прол...
if continueTrend == 0 then
if Bu == true then
if oFlag == 1 then
Bu = false
else
oFlag = 1
end
end
if Se == true then
if oFlag == 2 then
Se = false
else
oFlag = 2
end
end
end
Выполняемая задача: предотвратить повторные отправки ботом сигналов.
Bu — последний сигнал на покупку в общем массиве сигналов;
Se — последний сигнал на продажу в общем массиве сигналов.
Массив сигналов формируется при запуске скрипта и постоянно дополняется новыми сигналами.
Если Вы знакомы со скриптом прогрммирования в AmiBroker, то поймете идею функции ExRem.
Врач-бондиатОр, во-первых, как правильно заметил Cubigator,
«sig=1 --значение по умолчанию» надо вынести за цикл while.
Во-вторых, если транзакция в первом условии должна принимать sig=1, а транзакция во-втором условии должна принимать sig=2, то это и надо прописывать в условиях, кроме того, надо поменять местами операции присвоения и отправки транзакций, если есть желание менять значение сигналки именно после транзакций.
Как-то так:
sig=1 --значение по умолчанию
while stopped==false do
if условие and sig==1 then
отправка транзакции
sig=2 --после транзакции изменяется на 2
elseif условие and flag==2 and sig==2 then
отправка транзакции
sig=1 --после транзакции меняется на исходную 1
end
end