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

 
Vladimir Karputov:

Beispiel für die Zählung von vier Arten von Pending Orders im Code Min Max für N Bars Martingal

Wladimir Karputow:

Beispiel für die Zählung von vier Arten von schwebenden Aufträgen im Code Min Max for N Bars Martingale 2

Wladimir Karputow:

Ein Beispiel für die Zählung von vier Arten von Pending Orders im Code Min Max for N Bars Martingale 2




Vladimir, aus irgendeinem Grund zählt es nicht bei den Grenzaufträgen????

int count_buy_limits = 0;
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(o_orderInfo.OrderType()==ORDER_TYPE_BUY_LIMIT)
{
count_buy_limits++;
}
}

 
Fergert Фергерт:


Vladimir, aus irgendeinem Grund zählt nicht zu den Grenzaufträgen????

int count_buy_limits = 0;
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(o_orderInfo.OrderType()==ORDER_TYPE_BUY_LIMIT)
{
count_buy_limits++;
}
}

1. Den Code richtig einfügen
2. Den gesamten Code anzeigen.
4. Screenshot des Fensters mit Positionen und ausstehenden Aufträgen
 
Vladimir Karputov:
1. Code richtig einfügen
2. Den gesamten Code anzeigen
3. Gibt es Kompilierungsfehler?
4. Screenshot des Fensters mit Positionen und ausstehenden Aufträgen

Es liegen keine Kompilierungsfehler vor.

HIER IST DER CODE:

#include <Trade\Trade.mqh>
#include <Trade\OrderInfo.mqh>
#include <Trade\SymbolInfo.mqh>

CTrade      o_trade;
COrderInfo  o_orderInfo;
CSymbolInfo o_symbolInfo;

MqlTradeRequest   order_req={0}, buylimit_req1={0}, buylimit_req2={0}, sellstop_req3={0};
MqlTradeResult    order_res={0}, buylimit_res1={0}, buylimit_res2={0}, sellstop_res3={0};

//double   lot_r    = GlobalVariableGet("glot"); // Глобальная переменная
//double   lot_r    = 0.33;
double   lot_r    = NormalizeDouble(AccountInfoDouble(ACCOUNT_BALANCE)/15000,2);

int      tp_r     = 125;

double   lot_bl1  = 2.5;
double   lot_bl2  = 3;

double   lot_v    = NormalizeDouble(lot_r + (lot_r * lot_bl1) + (lot_r * lot_bl2), 2);

int      set_bl1  = 500;   
int      set_bl2  = 1000;
int      set_v    = 1100;

int      tp_bl1   = 70;
int      tp_bl2   = 480;

int OnInit()
  {
      order_req.action           = TRADE_ACTION_DEAL;
      order_req.symbol           = _Symbol;
      order_req.price            = SymbolInfoDouble(order_req.symbol, SYMBOL_ASK);
      order_req.volume           = lot_r;
      order_req.tp               = order_req.price+tp_r*_Point;
      order_req.type             = ORDER_TYPE_BUY;
      order_req.type_filling     = ORDER_FILLING_FOK;
      
      buylimit_req1.action       = TRADE_ACTION_PENDING;
      buylimit_req1.symbol       = _Symbol;
      buylimit_req1.volume       = NormalizeDouble(lot_r*lot_bl1, 2);
      buylimit_req1.price        = SymbolInfoDouble(buylimit_req1.symbol, SYMBOL_ASK)-set_bl1*_Point;
      buylimit_req1.tp           = order_req.price-tp_bl1*_Point;
      buylimit_req1.type         = ORDER_TYPE_BUY_LIMIT;
      buylimit_req1.type_filling = ORDER_FILLING_RETURN;
      buylimit_req1.expiration   = ORDER_TIME_GTC;
      buylimit_req1.magic        = 01;
      
      buylimit_req2.action       = TRADE_ACTION_PENDING;
      buylimit_req2.symbol       = _Symbol;
      buylimit_req2.volume       = NormalizeDouble(lot_r*lot_bl2, 2);
      buylimit_req2.price        = SymbolInfoDouble(buylimit_req2.symbol, SYMBOL_ASK)-set_bl2*_Point;
      buylimit_req2.tp           = order_req.price-tp_bl2*_Point;
      buylimit_req2.type         = ORDER_TYPE_BUY_LIMIT;
      buylimit_req2.type_filling = ORDER_FILLING_RETURN;
      buylimit_req2.expiration   = ORDER_TIME_GTC;
      buylimit_req1.magic        = 02;
      
      sellstop_req3.action       = TRADE_ACTION_PENDING;
      sellstop_req3.symbol       = _Symbol;
      sellstop_req3.volume       = NormalizeDouble(lot_v, 2);
      sellstop_req3.price        = SymbolInfoDouble(sellstop_req3.symbol, SYMBOL_ASK)-set_v*_Point;
      sellstop_req3.sl           = buylimit_req2.price + 10*_Point;
      sellstop_req3.type         = ORDER_TYPE_SELL_STOP;
      sellstop_req3.type_filling = ORDER_FILLING_RETURN;
      sellstop_req3.expiration   = ORDER_TIME_GTC;
      
   
   if(OrdersTotal()==0 && PositionsTotal() == 0)
      {
         OrderSend(order_req, order_res);
         OrderSend(buylimit_req1, buylimit_res1);
         OrderSend(buylimit_req2, buylimit_res2);
         OrderSend(sellstop_req3, sellstop_res3);
      }
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason)
  {

  
  }
 
 void OnTick()
  {
       int count_buy_limits = 0;
       for(int i=OrdersTotal()-1; i>=0; i--)
        {
          if(o_orderInfo.OrderType()==ORDER_TYPE_BUY_LIMIT)
               {
                  count_buy_limits++;
               }
        }   
      if(count_buy_limits < 2 || PositionsTotal() == 0)
         {
            for(int r=PositionsTotal()-1; r>=0; r--)
               {
                  ulong ticket=PositionGetTicket(r);
                  o_trade.PositionClose(ticket);   
               }  
      
            for(int o=OrdersTotal()-1; o>=0; o--)
               {
                  ulong ticket1=OrderGetTicket(o);
                  o_trade.OrderDelete(ticket1);
               }
      ExpertRemove();
         }
  }
//+------------------------------------------------------------------+
Dateien:
001.jpg  173 kb
 
Fergert Фергерт:

Es gibt keine Kompilierungsfehler...

HIER IST DER CODE:

Prüfen Sie sorgfältig mein Beispiel und Ihr Beispiel. Sie können nicht gedankenlos kopieren. Sie müssen ein wenig nachdenken. Suchen Sie nach einem Fehler in Ihrem Code.

Fügen Sie den Code korrekt ein (über die Schaltfläche Code- ich habe Ihre Nachricht beim ersten Mal korrigiert)

 
Vladimir Karputov:

Sehen Sie sich mein Beispiel und Ihr Beispiel genau an. Sie können nicht gedankenlos kopieren. Sie müssen ein wenig nachdenken. Suchen Sie nach einem Fehler in Ihrem Code.

Fügen Sie den Code korrekt ein (über die Schaltfläche - ich habe Ihre Nachricht zum ersten Mal korrigiert)

Ja, ich hab's...
 
Fergert Фергерт:
Ja, ich habe alles...

Ja, Sie haben vergessen, dass Sie, wenn Sie die Schleife umgehen, bei jeder Iteration BREAK machen müssen:

      if(m_order.SelectByIndex(i))     // selects the pending order by index for further access to its properties

Referenz:

SelectByIndex

Wählt einen Auftrag für den weiteren Zugriff über den angegebenen Index aus

Документация по MQL5: Стандартная библиотека / Торговые классы / COrderInfo / SelectByIndex
Документация по MQL5: Стандартная библиотека / Торговые классы / COrderInfo / SelectByIndex
  • www.mql5.com
SelectByIndex(int) - COrderInfo - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

Ja, Sie haben vergessen, dass Sie, wenn Sie die Schleife umgehen, bei jeder Iteration BREAK machen müssen:

Referenz:

SelectByIndex

Wählt einen Auftrag für den weiteren Zugriff über den angegebenen Index aus

Ja. Mein Fehler..... VIELEN DANK VLADIMIR!!!!)))) Viel Glück für Sie......
 
Guten Tag an alle Forumsmitglieder. Ich kann nicht herausfinden, wie man Schieberegler verwendet. Ich habe die Hilfe gelesen, kann es aber immer noch nicht herausfinden. Ich habe die Hilfe gelesen, aber ich verstehe sie immer noch nicht. Ich möchte den schnellen MA bei 10 und 15 Takten ablesen. Ich möchte langsame MA auf 10 und 15 Takte bekommen, aber mein Kopf ist verwirrt. Ich bin verwirrt. Ich habe den Standardcode und die Hilfe verwendet. Hilfe, wer weiß, wie man diesen Code implementiert. Vielen Dank im Voraus.
 

Guten Tag.

Keine Migration zu"Shared Hosting", wenn die Transaktionen offen sind?

Oder ein anderer Grund?


Ich habe den Handel geschlossen, er wird sowieso nicht migriert.

Der Experte arbeitet und lädt überall, woran kann das liegen?

Виртуальный хостинг для MetaTrader 5
Виртуальный хостинг для MetaTrader 5
  • www.mql5.com
Самый быстрый виртуальный выделенный сервер (VPS) для трейдинга на форексе от производителей терминала MetaTrader 4/5
 
Aleksandr Prishenko:

Guten Tag.

Keine Migration zu"Shared Hosting", wenn die Transaktionen offen sind?

Oder ein anderer Grund?


Ich habe den Handel geschlossen, er wird ohnehin nicht migriert.

Expert Advisor funktioniert und wird überall geladen, was könnte das Problem sein?

Das Problem liegt in der EA. Übrigens verbieten die Regeln für Shared Hosting dlls.

Grund der Beschwerde: