Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 862

 
Konstantin Erin:
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("Die erforderliche Anzahl von geöffneten Aufträgen");

Ich danke Ihnen!

 
Können Sie mir bitte sagen, wo der Volumen-Indikator ist und wo ich Volumen-Volumen finden kann? !
 
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);

Warum wird beim letzten Druck der Preis ausORDER_TYPE_BUY_STOP angezeigt?

und nicht ausORDER_TYPE_SELL_STOP

Wo liegt der Fehler?

 
ilyav:

Warum wird beim letzten Druck der Preis ausORDER_TYPE_BUY_STOP angezeigt?

und nicht ausORDER_TYPE_SELL_STOP

Wo liegt der Fehler?

Verwenden Sie den Styler (Strg + ,) und Sie werden Ihre Fehler sehen...

 
Vladimir Karputov:

Verwenden Sie den Styler (Strg + ,) und Sie werden Ihre Fehler sehen...

Ich habe keinen Kompilierungsfehler.

Dieser Code soll den Preis von Kauf- und Verkaufsaufträgen in Print ausgeben.

Der Preis der Kauforder wird korrekt ausgegeben, aber die Verkaufsorder gibt den Preis der Kauforder aus!

 
ilyav:

Ich habe keinen Kompilierzeitfehler.

Dieser Code soll den Preis von Kauf- und Verkaufsaufträgen in Print ausgeben.

Der Preis eines Kaufauftrags ist korrekt, aber der Preis eines Verkaufsauftrags ist korrekt!

An dieser Stelle gilt der gleiche Rat: Verwenden Sie den Styler - Sie werden die Fehler visuell erkennen.

... und erst dann werde ich Ihnen zeigen, wo Ihr Fehler liegt.
Стилизатор - Работа с исходным кодом - MetaTrader 5
Стилизатор - Работа с исходным кодом - MetaTrader 5
  • www.metatrader5.com
Данная функция предназначена для оформления исходного кода в соответствии с рекомендуемым стандартом. Это позволяет сделать код более читаемым, выглядящем профессионально. Грамотно оформленный код гораздо проще анализировать в последующем как его автору, так и другим пользователям. Для того чтобы запустить стилизатор, необходимо выполнить...
 
Vladimir Karputov:

Für den Moment bleibt der Ratschlag derselbe: Verwenden Sie ein Textverarbeitungsprogramm - Sie werden die Fehler visuell erkennen.

... Und erst danach werde ich Ihnen zeigen, wo Ihr Fehler liegt.
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);

Hier ist es mit dem Styler. Aber ich kann den Fehler nicht sehen. Deshalb frage ich in der Betreffzeile

Fragen von Anfängern in MQL5

 
ilyav:

Hier ist die mit dem Stylizer. Aber ich sehe den Fehler nicht. Deshalb frage ich in diesem Thread

Fragen von Anfängern in MQL5

Der Styler hat deutlich gezeigt, dass Ihr Code Probleme mit schließenden Klammern enthält. Sie müssen es in Ordnung bringen.

 

Scheiße, kann hier jemand helfen?

Wenn der Styler Ihnen etwas deutlich gezeigt hat - könnten Sie mir nicht sagen, wo die Halterung sein soll?

Denn es hat mir nichts eindeutig gezeigt.

Ich benötige den Preis des nächstgelegenen Kaufstopps und des nächstgelegenen Verkaufsstopps. Wie kann ich den Code anders gestalten?

 
ilyav:

Scheiße, kann hier jemand helfen?

Wenn der Styler Ihnen etwas deutlich gezeigt hat - könnten Sie mir nicht sagen, wo die Halterung sein soll?

Denn es hat mir nichts eindeutig gezeigt.

Ich benötige den Preis des nächstgelegenen Kaufstopps und des nächstgelegenen Verkaufsstopps. Wie kann ich den Code anders gestalten?

Ich habe die Klammern , in denen Paare fehlen, hervorgehoben:

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);

Wo genau die Paare zu platzieren sind, hängt von der Logik Ihres Codes ab.

Grund der Beschwerde: