Советник поддерживающий баланс лотов доделко

Сов в настройках, куда лазил тоже. При таких настройках выдает 4051 ошибку в журнале. Просьба доковырять, чтобы этого не было



cm-Lock-0,01.mq4 (3 Kb)

Андрей посмотрите пожалуйста.

По правилам прошу поручительство

UPD

еще ошибка появилась

Огромная просьба вылечить)))
  • +2
  • Просмотров: 1416
  • 1 сентября 2020, 10:46
  • dok-45
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!


Брокер для ваших роботов, 15 лет на рынке

Комментарии (6)

+
0
#property copyright "Programming © 2014, http://cmillion.narod.ru"
#property link      "cmillion@narod.ru"
#property strict
#property description "Советник поддерживает баланс лотов встречных направлений по тому инструменту, на котором он расположен"
#property description "Пример имеем 3 лота Buy и 1 Sell, советник сразу добавит 2 лота Sell и будет поддерживать этот баланс все время"

extern double DeltaLot = 0.02;
//+------------------------------------------------------------------+
void OnTick(void)
{
   double LB=0,LS=0;
   int b=0,s=0;
   for (int i=0; i<OrdersTotal(); i++)
   {    
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      { 
         if (OrderSymbol()==Symbol())
         { 
            int tip = OrderType(); 
            if (tip==OP_BUY)             
            {  
               LB  += OrderLots();
               b++; 
            }                                         
            if (tip==OP_SELL)        
            {
               LS  += OrderLots();
               s++;
            } 
         }
      }
   }
   //---
   Comment(b," Buy  ",DoubleToStr(LB,2)," lot",
      "\n",s," Sell  ",DoubleToStr(LS,2)," lot");
   //---
   
   if(MathAbs(LS-LB)<DeltaLot) return;

   if (LS<LB)
   {
      if (OrderSend(Symbol(),OP_SELL,NormalizeDouble(LB-LS,2),NormalizeDouble(Bid,Digits),100,0,0,NULL,0,0,CLR_NONE)==-1)
         Print("Ошибка ",GetLastError()," открытия ордера ");
   }
   if (LS>LB)
   {
      if (OrderSend(Symbol(),OP_BUY,NormalizeDouble(LS-LB,2),NormalizeDouble(Ask,Digits),100,0,0,NULL,0,0,CLR_NONE)==-1)
         Print("Ошибка ",GetLastError()," открытия ордера ");
   }
}
//------------------------------------------------------------------
int deinit()
{
   Comment("");
   return(0);
}
//+------------------------------------------------------------------+


можт кому надо
avatar

  5  dok-45 Автор Сообщений: 72

  • 4 сентября 2020, 21:28
+
0
#property description «Советник поддерживает баланс лотов встречных направлений по тому инструменту, на котором он расположен»
#property description «Пример имеем 3 лота Buy и 1 Sell, советник сразу добавит 2 лота Sell и будет поддерживать этот баланс все время»

По скрину
LB-LS-0.01
Следующий лот = 0.Нет лота — нет позиции или ордера

<code>case 131:
      st="Неправильный объём, ошибка в грануляции объёма.";
      if (po) st=StringConcatenate(st, "\n", "Необходимо прекратить все попытки",
                 " торговых операций и изменить логику программы.");
      break;</code>

Редактирован: 5 сентября 2020, 07:23
avatar

  16  ssg Сообщений: 817

  • 5 сентября 2020, 07:16
+
0
Заказы кидают сюда zakaz.opentraders.ru/
avatar

  12  Slava78 Сообщений: 598

  • 5 сентября 2020, 08:20
+
0
спасибо за подсказку
avatar

  5  dok-45 Автор Сообщений: 72

  • 7 сентября 2020, 07:37
+
0
с чужим кодом не ко мне
avatar

  35  AM2 Сообщений: 16247 - Андрей

  • 5 сентября 2020, 08:30
+
0
Андрей, добрый день
я писал заказ, мне его сделали на стороннем форуме
подумал может быть кому нибудь тоже пригодится
а как в базу закинуть не знаю
так что на усмотрение модераторов
avatar

  5  dok-45 Автор Сообщений: 72

  • 7 сентября 2020, 07:39

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий