У меня проблема с моим кодом, я хочу выполнить некоторые действия, когда цена выше верхней полосы Боллинджера или ниже нижней.Но это оправдывает мои действия после, а не обычным образом, иногда это будет на 1 свечу слишком поздно или на 4 свечи после и т. Д. Но не в нужное время.
Вот что я делаю: еслиПоследний бар закрыт выше верхней полосы или ниже нижней полосы, я хочу выполнить некоторые действия.На графике я очень четко вижу, что цена закрылась выше или ниже полос, но это не исключает моих действий на свече [0] (фактическая цена) после того, как свеча [1] закрылась выше или ниже полос.Вот пример моего кода (я не пишу действия в условиях, чтобы сделать его короче и понятнее):
double BBlow = iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,1);
double BBhigh = iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,1);
if (Close[1] > BBhigh)
do this (sell for example);
if (Close[1] < BBlow)
do that (buy for example);