Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 862

 
Konstantin Erin:
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("Открыто нужное количество ордеров");

спасибо !

 
подскажите народ пожалуйста где находится индикатор Valume и где можно найти объёмы valume это объёмы так ? !
 
int TotalGridBuyOrders=0;
   Print(__FUNCTION__);
   for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
   if(m_order.SelectByIndex(i))     // selects the pending order by index for further access to its properties
         if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()== ORDER_TYPE_BUY_STOP)
           TotalGridBuyOrders++;
    Print("Количество buy ордеров grid ", TotalGridBuyOrders);
           if (TotalGridBuyOrders>=1)
           {
           grid_buy_price_memory=m_order.PriceOpen();        
           Print("Цена ближайшего buy grid ордера: ", grid_buy_price_memory);
           
          
int TotalGridSellOrders=0;
   Print(__FUNCTION__);
   for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
   if(m_order.SelectByIndex(i))     // selects the pending order by index for further access to its properties
         if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()== ORDER_TYPE_SELL_STOP)
           TotalGridSellOrders++;
    Print("Количество sell ордеров grid ", TotalGridSellOrders);
           if (TotalGridSellOrders>=1)   
            {
           grid_sell_price_memory=m_order.PriceOpen();    
           Print("Цена ближайшего sell grid ордера: ", grid_sell_price_memory);

Почему последний принт выводит цену от ORDER_TYPE_BUY_STOP

А не от ORDER_TYPE_SELL_STOP

Где ошибка ?

 
ilyav:

Почему последний принт выводит цену от ORDER_TYPE_BUY_STOP

А не от ORDER_TYPE_SELL_STOP

Где ошибка ?

Пользуйтесь стилизатором (Ctrl + ,) и увидите свои ошибки...

 
Vladimir Karputov:

Пользуйтесь стилизатором (Ctrl + ,) и увидите свои ошибки...

У меня же не при компиляции ошибка.

Код этот должен выводить в Принт цену отложек бай и селл.

Цену от бай отложки выводит верно , а от селл отложки выводит цену бай отложки!

 
ilyav:

У меня же не при компиляции ошибка.

Код этот должен выводить в Принт цену отложек бай и селл.

Цену от бай отложки выводит верно , а от селл отложки выводит цену бай отложки!

На данный момент совет остаётся прежним: пользуйтесь стилизатором - визуально увидите ошибки.

... и только после этого я покажу где Ваша ошибка.
Стилизатор - Работа с исходным кодом - MetaTrader 5
Стилизатор - Работа с исходным кодом - MetaTrader 5
  • www.metatrader5.com
Данная функция предназначена для оформления исходного кода в соответствии с рекомендуемым стандартом. Это позволяет сделать код более читаемым, выглядящем профессионально. Грамотно оформленный код гораздо проще анализировать в последующем как его автору, так и другим пользователям. Для того чтобы запустить стилизатор, необходимо выполнить...
 
Vladimir Karputov:

На данный момент совет остаётся прежним: пользуйтесь стилизатором - визуально увидите ошибки.

... и только после этого я покажу где Ваша ошибка.
int TotalGridBuyOrders=0;
         Print(__FUNCTION__);
         for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
            if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
               if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_BUY_STOP)
                  TotalGridBuyOrders++;
         Print("Количество buy ордеров grid ",TotalGridBuyOrders);
         if(TotalGridBuyOrders>=1)
           {
            grid_buy_price_memory=m_order.PriceOpen();
            Print("Цена ближайшего buy grid ордера: ",grid_buy_price_memory);

            int TotalGridSellOrders=0;
            Print(__FUNCTION__);
            for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
               if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
                  if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_SELL_STOP)
                     TotalGridSellOrders++;
            Print("Количество sell ордеров grid ",TotalGridSellOrders);
            if(TotalGridSellOrders>=1)
              {
               grid_sell_price_memory=m_order.PriceOpen();
               Print("Цена ближайшего sell grid ордера: ",grid_sell_price_memory);

Вот со стилизатором. Но ошибки не вижу. Поэтому и спрашиваю в теме 

Вопросы от начинающих MQL5

 
ilyav:

Вот со стилизатором. Но ошибки не вижу. Поэтому и спрашиваю в теме 

Вопросы от начинающих MQL5

Уже ближе - стилизатор Вам явно показал, что в Вашем коде непорядок с закрывающими скобками. Исправляйте.

 

Блин , здесь кто нить может помочь?

Если вам стилизатор что то явно показал, - нельзя ли было сказать где должна быть скобка?

Потому как мне он явно ничего не показал. 

Мне нужна цена ближайшего бай стопа и ближайшего селл стопа . Как я могу оформить код по другому?

 
ilyav:

Блин , здесь кто нить может помочь?

Если вам стилизатор что то явно показал, - нельзя ли было сказать где должна быть скобка?

Потому как мне он явно ничего не показал. 

Мне нужна цена ближайшего бай стопа и ближайшего селл стопа . Как я могу оформить код по другому?

Я выделил скобки, которым не хватает пары:

int TotalGridBuyOrders=0;
         Print(__FUNCTION__);
         for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
            if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
               if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_BUY_STOP)
                  TotalGridBuyOrders++;
         Print("Количество buy ордеров grid ",TotalGridBuyOrders);
         if(TotalGridBuyOrders>=1)
           {
            grid_buy_price_memory=m_order.PriceOpen();
            Print("Цена ближайшего buy grid ордера: ",grid_buy_price_memory);

            int TotalGridSellOrders=0;
            Print(__FUNCTION__);
            for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
               if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
                  if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_SELL_STOP)
                     TotalGridSellOrders++;
            Print("Количество sell ордеров grid ",TotalGridSellOrders);
            if(TotalGridSellOrders>=1)
              {
               grid_sell_price_memory=m_order.PriceOpen();
               Print("Цена ближайшего sell grid ордера: ",grid_sell_price_memory);

Куда именно ставить пары зависит от логики Вашего кода.