Только что я сказал Вам, что ретурн прерывает работу подпрограммы. Если первый тик принесёт объём полюбому больше единицы, то полюбому выполнится команда ретурн, которая в этой точке прервёт функцию start(). А поскольку код закрытия ордеров лежит после этого ретурна, то этот код полюбому выполнен не будет, так как работа функции уже прервана.
это я уже понял, уважаемый... ноубрав этот ретёрн - все равно не закрываются сделки... их кучами открывается на каждом тике (500 штук) и не закрываются
evbut:
это я уже понял, уважаемый... ноубрав этот ретёрн - все равно не закрываются сделки... их кучами открывается на каждом тике (500 штук) и не закрываются
Создайте отдельно счётчик бай и счётчик селл ордеров. Далее используйте конструкцию типа: Если пришёл сигнал открыть Бай-ордер и при этом число бай-ордеров равно нулю, то открыть бай ордер. Для селл ордеров то же самое.
Как это ни прискорбно, но мало кто по своей воле будет изучать логику. А из тех, кто берётся, тех, как правило, на долго не хватает. На друзьях своих проверил. Вроде и люди не глупые...
по любому больше единицы
if(Volume[0]>1) return;
Только что я сказал Вам, что ретурн прерывает работу подпрограммы. Если первый тик принесёт объём полюбому больше единицы, то полюбому выполнится команда ретурн, которая в этой точке прервёт функцию start(). А поскольку код закрытия ордеров лежит после этого ретурна, то этот код полюбому выполнен не будет, так как работа функции уже прервана.
это я уже понял, уважаемый... ноубрав этот ретёрн - все равно не закрываются сделки... их кучами открывается на каждом тике (500 штук) и не закрываются
Создайте отдельно счётчик бай и счётчик селл ордеров. Далее используйте конструкцию типа: Если пришёл сигнал открыть Бай-ордер и при этом число бай-ордеров равно нулю, то открыть бай ордер. Для селл ордеров то же самое.
Посмотри этот вариант
Посмотри этот вариант
Чисто в качестве шутки. Не обижайтесь :)
Да не будет он думать. Надо же с логики начинать.
Да не будет он думать. Надо же с логики начинать.