Я гуглю уже два дня, но не могу понять это, и это кажется простым.
Внутри void OnTick()
я хотел бы создать переменную int a;
. Допустим, он начинается без значения int a;
, затем я проверяю условие, если a
равно NULL
или ||
равно 1
, как это if (a == NULL || a == 1)
, которое всегда должно возвращать true при первом запуске оператора if
из-за NULL
. Затем я присваиваю значение переменной a = 0;
, так что теперь a
должно равняться 0.
Это должно вызвать else if(a == 0)
при следующем вызове OnTick()
, в этот момент я назначаю a = 1;
, что приводит к срабатыванию if
в следующий раз и т. д., и так до бесконечности, постоянно проверяя и присваивая значения, переключающиеся между 0 и 1.
void OnTick()
int a;
if (PositionsTotal() < 1)
{
if(a == NULL || a == 1)
{
a = 0;
}
else if(a == 0)
{
a = 1;
}
}
Я не знаю, что происходит, но во время тестирования в тестере стратегий я получаю длинную строку чисел, которая переключается между отрицательными и положительными значениями, всегда с одним и тем же числом -123456789
или 123456789
, всегда длиной 9 цифр.
Или во время отладки из Meta Editor. Случайное положительное трехзначное число, которое никогда не меняется!
До сих пор у меня были и 303, и 597.
Помимо разочарования, и, скорее всего, ответ был где-то в другом месте.
Просто не знаю, как сформулировать поисковый запрос.
Спасибо за помощь.