[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 148

 

OUI ! !! le dossier n'a pas besoin d'être créé - il est créé automatiquement.

Merci !

 

Veuillez me conseiller sur la manière de mettre en œuvre cette idée :

pour signaler si les niveaux 1,300...1,3100....1,3200 - en général ceux qui sont des multiples de "00" (deux zéros) sont cassés ?

 
Savez-vous s'il est possible d'écrire un EA qui prendrait les données de deux graphiques simultanément ?
 
Kostyan >> :
Pouvez-vous me dire s'il est possible d'écrire un EA prenant les données de deux graphiques ?

MarketInfo() vous aidera ;

Je me souviens avoir creusé cette question ici sur l'EA multidevises.

>> 'Question sur le conseiller expert multi-devises'.

 
dmmikl86 >> :

Veuillez me conseiller sur la manière de mettre en œuvre cette idée :

pour signaler si les niveaux 1,300...1,3100....1,3200 - en général ce sont des multiples de "00" (deux zéros) ?

Utiliser MathMod(Close, 100)==0

 
Kostyan >> :
Savez-vous s'il est possible d'écrire un EA qui prendrait les données de deux graphiques en même temps ? Comme si vous le mettiez sur un graphique et qu'il prenait en compte les données d'un autre symbole.

lorsqu'on se réfère à un indicateur, il est toujours possible de prendre les données de n'importe quel instrument ou cadre temporel.

Par exemple iRSI("EURGBP", PERIOD_H1, ...)

si vous avez besoin de données de prix, il existe des fonctions correspondantes, par exemple iHigh("GBPUSD", PERIOD_M15, 2).

 

Pouvez-vous me dire quelle est l'erreur ?

Le terminal est déconnecté d'Internet, c'est-à-dire que je ne mets pas à jour le graphique, CountedBars==0 ; Bars==512 ; (du moins c'est ce qu'écrit le programme dans le rapport "experts" en exécution).

Mais la sortie, pour une raison quelconque, ne commence pas par 512 mesures, mais par 105 avec les dates correspondantes, etc. A quoi cela peut-il être dû ?

#property indicator_separate_window


extern string StartDate="2006.04.01";
datetime SDate;


int start()
  {
   int   i=Bars-1, counted_bars=IndicatorCounted();   

   while( i>=0)

   {
   SDate=StrToTime( StartDate);
   if ( SDate<=Time[ i]) Print( i,"   OK"); 
   if ( SDate > Time[ i]) Print( i,"    Early");
   Print("i= ", i,"   CB:  ", counted_bars, "  Bars:   ",Bars);
   i--;
   }
   return(0);
  }
 

Veuillez me conseiller).

Que dois-je entrer ici pour fermer l'ordre d'achat ou de vente ouvert CountTrades ne veut pas écrire une erreur, que dois-je entrer pour fermer l'ordre le reste, ou de ne pas mettre et vice versa supprimer ?

   if (( Close_ord)&& CountTrades ))>=AccountEquity()/ Limit){ // что надо вписать вместо CountTrades?????
   int slippage=3;
   for (int i=OrdersTotal()-1; i>=0; i--)
   {
    if (!OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) break;
    if (OrderType()==OP_BUY ) OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID), slippage);
    if (OrderType()==OP_SELL) OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK), slippage);
    }
    }
 

Vous avez là - CountTrades est une certaine condition (ou somme de conditions) par laquelle les positions sont fermées.

Tout comme Close_ord.

Chacune de ces conditions peut être (très probablement) seulement zéro ou seulement une. C'est-à-dire que ce sont des variables définies par l'opérateur bool.

Comment(Close_ord)&&CountTrades ) peut être >= mystérieux AccountEquity ()/Limit) n'est pas clair pour moi.

En d'autres termes, vous avez écrit toute cette ligne de manière incorrecte.

 
rid >> :

Vous avez là - CountTrades est une certaine condition (ou somme de conditions) par laquelle les positions sont fermées.

Tout comme Close_ord.

Chacune de ces conditions peut être (très probablement) seulement zéro ou seulement une. C'est-à-dire que ce sont des variables définies par l'opérateur bool.

Comment (Close_ord)&&CountTrades ) peut être >= mystérieux AccountEquity()/Limit) n'est pas clair pour moi.

En d'autres termes, vous avez écrit toute cette ligne de manière incorrecte.

((Close_ord)-inclure à travers une variable extern bool Close_ord =true ;

((Close_ord)&& alors il faut entrer que je ne sais pas lequel ferme tous les ordres immédiatement lors de l'activation de Close_ord

Je dois spécifier une condition séparée ou cela peut être fait d'une manière plus simple. Si vous avez une variante plus simple, veuillez partager un morceau de code où je dois fermer tous les ordres lorsque j'active une fonction utilisant des variables externes (


Je n'ai rien mis, j'aurais juste dû enlever le code supplémentaire ( Close_ord) { )))))))))))))))))))