[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 571

 
Frostr:
file://localhost/C:/Users/mv/Desktop/StrategyTester.htm
Bon lien. C'est une vraie beauté :)
 
rigonich:

Je ne comprends pas quel genre de données ? Je mets juste le code de l'EA. Je le compile et le lance, je lui donne juste un nom. Je ne l'ai pas testé, je l'ai juste recompilé tel qu'il s'est avéré et l'ai mis en ligne. Si cela ne fonctionne pas correctement, faites-le moi savoir et j'essaierai de comprendre pourquoi.



Hourra, je l'ai... j'ai cherché sur le web pour compile ))) il s'avère que Compile .

J'ai déjà commencé à le tester, il ouvre 500-1000 positions à la fois.

Voici un lien vers le test file://localhost/C:/Users/mv/Desktop/StrategyTester.htm - il ouvre trop de positions

 
Frostr:



Hourra, je l'ai... j'ai cherché sur le web ce que signifie Compile))) il s'avère que Compile .

J'ai déjà commencé à le tester avec Compile, il ouvre 500-1000 positions à la fois.


Eh bien, voyons voir.
 

Pouvez-vous me dire combien de personnages sont actuellement intouchables dans les commentaires de l'ordre ?

Z.I. Si c'est important, c'est sur Alpari.

 
Frostr:



Hourra, j'ai trouvé la solution... J'ai cherché sur le web "Compile")) il s'avère que Compile .

J'ai déjà commencé à le tester, il ouvre 500-1000 positions à la fois.

Voici un lien vers le test : file://localhost/C:/Users/mv/Desktop/StrategyTester.htm il ouvre de nombreuses positions


Voici le code. Il fonctionne comme vous l'avez demandé. A chaque fermeture, il ouvre deux positions opposées.
//+------------------------------------------------------------------+
//|                                                  Trudnyaga_1.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
//+------------------------------------------------------------------+
extern int    stoploss   = 0,          // уровень выставления SL, если 0, то SL не выставляется
              takeprofit = 0,          // уровень выставления TP, если 0, то TP не выставляется
              Magic      = 123456;     // уникальный номер ордера
extern double Lot        = 0.1;        // объем ордера
extern int    slippage   = 3;          // Максимально допустимое отклонение цены для рыночных ордеров
extern int    MaxOrders  = 3;          // Максимально допустимое количество ордеров BUY или SELL
extern int    CycleCount = 5;          // количество попыток открытия ордера
//+------------------------------------------------------------------+
double SL,TP;
int    Total,LastTotal;
string ord;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
   {
   return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
   {
   return(0);
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
   {
   Total=fTotal();
   if((Total==LastTotal&&LastTotal!=0)||Total>=MaxOrders)return(0);
   if(takeprofit!=0)TP=NormalizeDouble(Ask+takeprofit*Point,Digits);else TP=0;
   if(stoploss!=0)SL=NormalizeDouble(Ask-stoploss*Point,Digits);else SL=0;
   OPENORDER("Buy");
   if(takeprofit!=0)TP=NormalizeDouble(Bid-takeprofit*Point,Digits);else TP=0;
   if(stoploss!=0)SL=NormalizeDouble(Bid+stoploss*Point,Digits);else SL=0;
   OPENORDER("Sell");
   LastTotal=fTotal();
   return(0);
}
//+------------------------------------------------------------------+
void OPENORDER(string ord)
   {
   int error,err;
   while(true)
      { 
      error=-1;
      if(ord=="Buy" )error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"BUY",Magic,0,Blue);
      if(ord=="Sell")error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,"SELL",Magic,0,Red);
      if(error==-1) //неудачная покупка OK
         { 
         ShowERROR();err++;Sleep(2000);RefreshRates();
      }
      if (err>=CycleCount)break;
   }
   return;
} 
//+------------------------------------------------------------------+
void ShowERROR()
   {
   int err=GetLastError();
   switch(err)
      { 
      case 1   : return;
      case 2   : Alert("Нет связи с торговым сервером ",Symbol());return;
      case 3   : Alert("Error неправильные параметры ",Symbol());return;
      case 130 : Alert("Error близкие стопы Ticket ",Symbol());return;
      case 134 : Alert("Недостаточно денег ",Symbol());return;
      case 146 : Alert("Error Подсистема торговли занята ",Symbol());return;
      case 129 : Alert("Error Неправильная цена ",Symbol());return;
      case 131 : Alert("Error Неправильный объем ",Symbol());return;
      case 4200: Alert("Error Объект уже существует ",Symbol());return;
      default  : Alert("Error " ,err," ",Symbol());return;
   }
}
//+------------------------------------------------------------------+
int fTotal()
   {
   int Tot=OrdersTotal();
   int BuyCount=0,SellCount=0;
   if(Tot>0)
      {
      for(int i=0;i<OrdersTotal();i++)
         {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
            {
            if(OrderSymbol()==Symbol()&&(Magic==0||OrderMagicNumber()==Magic))
               {
               switch (OrderType())
                  {
                  case OP_BUY :BuyCount++; break;
                  case OP_SELL:SellCount++;break;
               }
            }
         }
      }
   }
   return(BuyCount+SellCount);
}
//+------------------------------------------------------------------+
 
quel bureau de poste peut envoyer un texte sur le courrier entrant et son contenu ?
 
gheka:
quel bureau de poste peut envoyer un texte sur le courrier entrant et son contenu ?
Vous feriez mieux d'acheter un smartphone, ils sont moins chers maintenant. Ne vous connectez pas à MTS, ces salauds ont volé mes deux derniers kopecks :))
 
Sans vouloir vous offenser, je reste fidèle à MTS. 7 ans avec MTS et aucun problème.
 
gheka:
Sans vouloir vous offenser, je reste fidèle à MTS. 7 ans avec MTS et aucun problème.

Tant que je n'avais qu'un téléphone, je n'ai pas eu de problèmes non plus pendant cinq ans. Dès que j'ai connecté leur Internet, les problèmes (de paiement) sont apparus immédiatement. Bien sûr, ils les résolvent, et même s'excusent, mais c'est trop à écrire et à prouver. Et surtout, au bout d'un mois, le même problème se reproduit et tout recommence. Alors maintenant, j'utilise un mégaphone.
 
rigonich:

Voici le code, il fonctionne comme vous l'avez demandé. A chaque fermeture, il ouvre deux positions opposées.



Merci.

Mais vous avez un EA différent, il fonctionne différemment.

Je voudrais que mon EA ouvre des positions dans les deux sens si certaines d'entre elles sont fermées,

Je ne sais pas comment faire, mais j'ai vu que ça ouvrait certaines positions.

Dossiers :
sellbuy_1.ex4  5 kb