[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 311

 
splxgf >> :

l'ordre en attente est placé sur une ligne, la question est à quelle distance ?

limite de vente 30 pips vers le haut par rapport au prix actuel

limite d'achat 30 pips en dessous du prix actuel

 

LIM. ORDRE

extern int     Magic = 20011;
extern double  Lot=0.1;
extern int     sl    =50;     // Размер фиксированного стопа
extern int     tp  =40;    // Размер фиксированного тэйка
extern int     Шаг =30;   //расстояние от текущ. цены
double ld_Stop=0, ld_Take=0;
//-- Подключаемые модули --
#include <stderror.mqh>
#include <stdlib.mqh>
//-----------------------------
int start()
{
//-------------------------------------------------
if( NumberOfOrders(NULL,OP_SELLLIMIT, Magic)<1 )  {//ЕСЛИ НЕТ СЕЛЛЛИМИТА
    if ( sl!=0) ld_Stop=Ask+ sl*Point;
    if ( tp!=0) ld_Take=Ask- tp*Point;    
    OrderSend(Symbol(),OP_SELLLIMIT, Lot,Bid+ Шаг*Point,3, ld_Stop,
                                              ld_Take_"", Magic,0,Red);  
    if( ticket<0){Print("Ошибка установки ордера SELLLIMIT ",
                                          GetLastError());return(0);} 
                                                }
//----------------------------------------------------
if( NumberOfOrders(NULL,OP_BUYLIMIT, Magic)<1 )  {//ЕСЛИ НЕТ БАЙЛИМИТА 
    if ( sl!=0) ld_Stop=Bid- sl*Point;
    if ( tp!=0) ld_Take=Ask+ tp*Point;
    OrderSend(Symbol(),OP_BUYLIMIT, Lot,Ask- Шаг*Point,3, ld_Stop,
                                                ld_Take,"", Magic,0,Blue);
    if( ticket<0){Print("Ошибка установки ордера BUYLIMIT ",
                                              GetLastError());return(0);} 
                                                }
  return(0);//конец ф-и СТАРТ
}
//========================================================
//------- ф-я Возвращает количество ордеров---
int NumberOfOrders(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal(), ko=0, ot; if ( sy=="0") sy=Symbol();
  for ( i=0; i< k; i++) {
    if (OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) {
      ot=OrderType();
      if ( ot>1 && ot<6) {
        if ((OrderSymbol()== sy || sy=="") && ( op<0 || ot== op)) {
          if ( mn<0 || OrderMagicNumber()== mn) ko++;
        }}}}  return( ko);}                        
 
 
rid писал(а) >>

Que Dieu vous garde d'utiliser cette astuce pour ouvrir des postes ! Il ne fonctionne correctement que dans le testeur !

Et en ligne, plus de la moitié des signaux d'entrée seront ignorés...

Merci, je vais en tenir compte.

Au fait, une question à un pro. Je voulais vérifier quelque chose, et en échantillonnant à partir de l'historique (à 1 heure) j'ai remarqué que les valeurs au-dessus de mille barres ne donnent pas : jusqu'à 1000 j'obtiens des valeurs, et à partir de 1001 - 0. L'archive des citations est très chargée. A quoi peut-il être lié ?

 
Odin_Takoy писал(а) >>

Merci, je vais garder ça en tête.

Au fait, une question pour les pros. Je voulais vérifier quelque chose et en échantillonnant l'historique (sur l'aiguille des heures), j'ai remarqué que la valeur n'est pas supérieure à 1 000 barres : j'obtiens des valeurs jusqu'à 1000, alors qu'à partir de 1001, elle renvoie 0. L'archive des citations est très chargée. Quelle peut en être la raison ?

Lorsque vous travaillez avec le testeur ou l'optimiseur, seules 1000 barres sont disponibles. Il s'agit d'une restriction imposée par les développeurs.

 
Vinin писал(а) >>

Seuls 1000 bars sont disponibles lorsque l'on travaille avec le testeur ou l'optimiseur. Il s'agit d'une restriction imposée par les développeurs.

Comment puis-je contourner cette restriction, si je ne veux pas être en ligne pendant des semaines ?

 
Odin_Takoy писал(а) >>

Pour éviter d'être en ligne pendant des semaines, existe-t-il un moyen de contourner cette restriction ?

En fait, l'idée est de placer les citations dans un fichier et de les récupérer à partir de là.

 
Odin_Takoy писал(а) >>

Pour éviter d'être en ligne pendant des semaines, existe-t-il un moyen de contourner cette restriction ?

La restriction ne s'applique qu'au testeur et à l'optimiseur. Lorsque vous travaillez dans les paramètres du terminal, vous spécifiez le nombre de barres à afficher.

Pour contourner les restrictions du testeur de stratégie, vous devez prévoir un indicateur dans le conseiller expert permettant de réaliser des transactions lorsque la profondeur d'historique spécifiée est atteinte. Dans ce cas, il sera nécessaire de démarrer le conseiller expert à une date antérieure.

 
Vinin писал(а) >>

La restriction s'applique uniquement au testeur et à l'optimiseur. Lorsque vous travaillez dans les paramètres du terminal, vous spécifiez le nombre de barres à afficher.

Pour contourner la limitation dans le testeur, nous devons fournir dans le conseiller expert le drapeau permettant de négocier lorsque la profondeur spécifiée de l'historique est atteinte. Vous devrez alors exécuter le conseiller expert à partir d'une date antérieure.

Ma compréhension est la suivante. Nous lançons le conseiller expert avec une grande profondeur d'histoire. Les citations sont enregistrées dans des tableaux. Et au bon moment, nous adressons les tableaux formés pour l'analyse.

Merci, Victor.

Je regarde votre heure - vous êtes une vraie chouette (je plaisante).

 
Odin_Takoy писал(а) >>

Je vois qu'à l'heure qu'il est, vous êtes un sacré hibou (je plaisante).

Je suis une alouette. Je suis un +2 de Moscou.

 

Bonjour comment mettre en œuvre : besoin à un certain moment sur le prix de clôture de dessiner deux lignes à partir du prix, un plus élevé et un plus bas, disons que le prix de 1,4784 ligne a été dessiné à 1,4800, et le second 1,4750 pour terminer à 50 et 00 et à la rupture de la ligne, mettre un ordre en attente avec un profit ? ???????????????

Raison: