Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1538

 
Pouvez-vous me dire comment retirer l'argent ?
 
Demande envoyée hier, plus de 24 heures se sont écoulées et pas de nouvelles.
 
ivlyeva.tatyana6:
J'ai envoyé une demande hier, plus d'un jour s'est écoulé et silence.

1. Allez au distributeur le plus proche, insérez la carte, entrez le code pin...

2. Allez à la banque la plus proche, établissez un contact visuel, puis suivez la situation...

3. Allez au marché. 3) Allez au marché. Allez à la banque. Retirer des fonds (vous pouvez les retirer tous, pas seulement les vôtres...) ...

4. Si vous devez retirer de l'argent de MMM, alors même le réservoir ne vous aidera pas !

Et sérieusement, vous ne pouvez pas !

 
//+------------------------------------------------------------------+
//|                                                  MACD Sample.mq4 |
//|                   Copyright 2005-2014, MetaQuotes Software Corp. |
//|                                              http://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright   "2005-2014, MetaQuotes Software Corp."
#property link        "http://www.mql4.com"
input double TakeProfit    =3160;
input double Lots          =0.5;
input double TrailingStop  =1040;
input int OpenLevel =22;
input int CloseLevel=77;
input int    Period =85;
input int    Period1 =57;
int LastBars=0;
extern int Magic = 110725;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick(void)
  {
   
 
   int    cnt,ticket,total;
//---
// initial data checks
// it is important to make sure that the expert works with a normal
// chart and the user did not make any mistakes setting external 
// variables (Lots, StopLoss, TakeProfit, 
// TrailingStop) in our case, we check TakeProfit
// on a chart of less than 100 bars
//---
//--- Trade only if new bar has arrived
   if(LastBars!=Bars) LastBars=Bars;
   else return(0);
   if(Bars<100)
     {
      Print("bars less than 100");
      return;
     }
   if(TakeProfit<10)
     {
      Print("TakeProfit less than 10");
      return;
     }
//--- to simplify the coding and speed up access data are put into internal variables
   
   total=OrdersTotal();
   if(total<1)
     {
      //--- no opened orders identified
      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money. Free Margin = ",AccountFreeMargin());
         return;
        }
      //--- check for long position (BUY) possibility
     if(iRSI(NULL,0,OpenLevel,PRICE_LOW,Period)>iRSI(NULL,0,CloseLevel,PRICE_HIGH,Period1)) 
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-TakeProfit*Point,Bid+TakeProfit*Point,"USDCADH4",Magic,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
               Print("BUY order opened : ",OrderOpenPrice());
           }
         else
            Print("Error opening BUY order : ",GetLastError());
         return;
        }
      //--- check for short position (SELL) possibility
      if(iRSI(NULL,0,OpenLevel,PRICE_LOW,Period1)<iRSI(NULL,0,CloseLevel,PRICE_HIGH,Period)) 
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+TakeProfit*Point,Ask-TakeProfit*Point,"USDCADH4",Magic,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
               Print("SELL order opened : ",OrderOpenPrice());
           }
         else
            Print("Error opening SELL order : ",GetLastError());
        }
      //--- exit from the "no opened orders" block
      return;
     }
//--- it is important to enter the market correctly, but it is more important to exit it correctly...   
   for(cnt=0;cnt<total;cnt++)
     {
      if(!OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
         continue;
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==Symbol())  // check for symbol
        {
         //--- long position is opened
         if(OrderType()==OP_BUY)
           {
            //--- should it be closed?
              if(iRSI(NULL,0,OpenLevel,PRICE_LOW,Period1)<iRSI(NULL,0,CloseLevel,PRICE_HIGH,Period)) 
              {
               //--- close order and exit
               if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet))
                  Print("OrderClose error ",GetLastError());
               return;
              }
            //--- check for trailing stop
            if(TrailingStop>0)
              {
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     //--- modify order and exit
                     if(!OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green))
                        Print("OrderModify error ",GetLastError());
                     return;
                    }
                 }
              }
           }
         else // go to short position
           {
            //--- should it be closed?
           if(iRSI(NULL,0,OpenLevel,PRICE_LOW,Period)>iRSI(NULL,0,CloseLevel,PRICE_HIGH,Period1)) 
              {
               //--- close order and exit
               if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet))
                  Print("OrderClose error ",GetLastError());
               return;
              }
            //--- check for trailing stop
            if(TrailingStop>0)
              {
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     //--- modify order and exit
                     if(!OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red))
                        Print("OrderModify error ",GetLastError());
                     return;
                    }
                 }
              }
           }
        }
     }
//---
  }
//+------------------------------------------------------------------+

Bonjour, aidez-moi à comprendre... Le conseiller expert ferme les transactions d'autres personnes ou n'ouvre pas les siennes s'il y a des transactions d'autres personnes.

 
darirunu1:

Bonjour, aidez-moi à comprendre... Le conseiller expert ferme les transactions d'autres personnes ou n'ouvre pas les siennes s'il y a des transactions d'autres personnes.

Où est votre magicien pour trouver des commandes ?
 

Si c'est écrit ci-dessus, le Conseiller Expert ferme les trades ouverts manuellement,

Si je le dis comme ça

 if(!OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
         continue;
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==Symbol()&& OrderMagicNumber()==Magic)  // check for symbol

S'il y a des transactions ouvertes manuellement, le conseiller expert ne fermera pas les autres transactions, mais il n'ouvrira pas les siennes s'il y a des transactions ouvertes manuellement.

 
darirunu1:

Si c'est écrit ci-dessus, le Conseiller Expert ferme les trades ouverts manuellement,

Si je le dis comme ça

S'il y a des transactions ouvertes manuellement, le conseiller expert ne fermera pas les autres transactions, mais il n'ouvrira pas les siennes s'il y a des transactions ouvertes manuellement.

doivent également être sélectionnés par la magie lors de l'ouverture
 
MakarFX:
J'ai également besoin d'une sélection sur le nombre magique à l'ouverture.
 ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+TakeProfit*Point,Ask-TakeProfit*Point,"USDCADH4",Magic,0,Red);

Qu'est-ce que c'est ? L'ouverture est indiquée. Le fait est que lorsque vous utilisez plusieurs Expert Advisors, il n'y a pas de problème. Le problème ne se pose que lorsqu'il y a une ouverture manuelle d'une position sur le compte.

Dès que des transactions sont ouvertes manuellement sur le compte, le conseiller expert cesse de fonctionner.

Dès que j'enlève ceci dans le code, total=OrdersTotal() ;

si(total<1)

Les EAs vont tout droit, mais ouvrent beaucoup de transactions

 
darirunu1:

Qu'est-ce que c'est ? L'ouverture est indiquée. Le fait est que lorsque vous utilisez plusieurs Expert Advisors, il n'y a pas de problème. Le problème ne survient que lorsqu'il y a une ouverture manuelle d'une position sur le compte.

Dès que des transactions sont ouvertes manuellement sur le compte, le conseiller expert cesse de fonctionner.

Dès que j'enlève ceci dans le code, total=OrdersTotal() ;

si(total<1)

Les EA vont droit au but, mais ouvrent beaucoup de transactions.

C'est ce dont je parle - OrdersTotal() est pour tous les ordres et vous avez besoin d'un ordre EA.

   if(CountOrders("", -1,  Magic)<1)
     {
     открытие ордеров
     }
//+----------------------------------------------------------------------------+
//| Подсчет ордеров                                                            |
//+----------------------------------------------------------------------------+
//| -1 - Все типы ордеров                                                      |
//|  0 - ордера типа BUY                                                       |
//|  1 - ордера типа SELL                                                      |
//|  2 - ордера типа BUYLIMIT                                                  |
//|  3 - ордера типа SELLLIMIT                                                 |
//|  4 - ордера типа BUYSTOP                                                   |
//|  5 - ордера типа SELLSTOP                                                  |
//+----------------------------------------------------------------------------+
int CountOrders(string symb="", int or_ty=-1, int magiс=-1) 
  {
   int cnt=0;
   if(symb=="0") symb=_Symbol;
   for(int pos=OrdersTotal()-1;pos>=0;pos--)
     {
      if(OrderSelect(pos,SELECT_BY_POS)==true)
        {
         if((OrderSymbol()==symb || symb=="")&&(or_ty<0 || or_ty==OrderType()))
           {
            if(magiс<0 || OrderMagicNumber()==magiс) cnt++;
           }
        }
     }
   return(cnt);
  }
 
MakarFX:

C'est ce dont je parle, OrdersTotal() représente toutes les commandes et vous voulez les commandes de l'EA.

if(CountOrders("", -1,  Magic)<1)
     {

C'est au lieu de

total=OrdersTotal() ;

if(total<1) ou est-ce qu'on laisse celui-là aussi ?

Raison: