Что я делаю неправильно с циклами while...do или repeat...until?

Страницы: 1
RSS
Что я делаю неправильно с циклами while...do или repeat...until?, Неправильное срабатывание цикла в скрипте
 
Всем привет! :smile:

Не могу найти ошибку в применении цикла.

Задача: есть в портфеле 3 фьючерса в лонге.
Скрипт должен их продавать по 1 штуке пока в портфеле не будет 0

Я сделал такой скрипт:

--определяем текущее количество фьючей в портфеле в лонге

local asset = getFuturesHolding("SPBFUT", "SPBFUT*****","LKU0",0).totalnet

--задаем условия\количество  продажи

repeat

local Order = sendTransaction(MarketOrderSell)

until asset = 0

При выполнении скрипт обрушивает многотысячный поток заявок на продажу... :shock:

Что я делаю неправильно?


Заранее спасибо.
 
Leonid,
asset должен быть внутри цикла.
И потом, сам по себе asset обновляется не сразу после отправки транзакции(пока она доедет до биржи и обратно пройдет время)
так что лучше делать asset = asset - 1
 
Sergey Gorokhov, я правильно понимаю, что скрипт должен быть таким?
Код
repeat
   local asset = getFuturesHolding("SPBFUT", "SPBFUTJRkUv","LKU0",0).totalnet
   local Err_Order = sendTransaction(LimitOrderSell)
until asset = asset-1
 
Leonid,
Код
repeat
--тут какой-то код
asset = asset-1
until asset == 0
 
Цитата
Sergey Gorokhov написал:
Leonid,
Код
   repeat 
 --тут какой-то код 
asset  =  asset -  1 
 until  asset  =  =   0 
  

А еще лучше использовать <= так надежней
Код
repeat 
--тут какой-то код 
asset  =  asset -  1 
until asset <= 0 
Страницы: 1
Читают тему (гостей: 1)
Наверх