Страница 1 из 1

Помогите доделать балансировщик

Добавлено: 09 янв 2026, 08:15
Sargon
Идея робота проста. Необходимо на высвободившиеся средства в конце дня докупить AKMM Денежный поток, пока стратегия простаивает получать хоть копейку с простоя. И на оборот если понадобились средства распродавать по мере необходимости.
Счет на строен на маржинальную торговлю с лимитом до 5000 р что бы не платить за нее.
устанавливаем робота на АКММ с 1 минутой таймфрейм

Код: Выделить всё

 
 //Получаем баланс средств например 4624 р
 var currentMoney = GetCurrentBalance(RazdelGroupType.MICEX).Money;
 //Пишем сообщение для отладки какой баланс денежных средств к нам приходит сообщение Деньги: 4624
 ShowMessage(" Деньги: " +  currentMoney );
    /// ПРАВИЛО 1 Если необходимо ресурс распродаем заначку
   if ((BarTime() > AsTime(8, 0, 0))&&((BarTime() < AsTime(24, 0, 0)))&&((double)currentMoney < 0))
   { //пока не проверял
   CloseLong(MinLot);
   }
   /// ПРАВИЛО 2 Докладываем заначку
   if ((BarTime() > AsTime(18, 0, 0))&&((BarTime() < AsTime(24, 0, 0)))&&((double)currentMoney > GetAsk() ))
   {
   //Проблема №1 в  AsTime(18, 0, 0) в место 18 ставим внешнею переменную, пишет что метод перегружен
   // Открывает сразу 1 лот на покупку плевать на условие времени. Но дальше если даже условие удовлетворяет (true) ничего не выставляет сигнала на покупку нет. Так и сидим с один лотом хотя пока баланс больше стоимости лота GetAsk() должен срабатывать сигнал на покупку.
   EnterLong(MinLot);
   }


В результате робот покупает один MinLot а дальше только сообщения приходят а сигнала нет