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

 
Fduch писал(а) >>

A propos, OrdersTotal() renvoie un nombre de type int. Et int peut prendre des valeurs :

C'est-à-dire que le nombre maximal théorique d'odeurs est de 2147483647.

Merci pour votre réponse impartiale ! !!

 

Aidez-moi, je ne comprends pas, il est écrit dans le livre que ce code fonctionne :

//--------------------------------------------------------------------
// Book_expert_33.mq4
// Destiné à servir d'exemple dans le tutoriel MQL4.
//--------------------------------------------------------------------
int Count=0 ; // Variable globale.
//--------------------------------------------------------------------
int init() // Special init()
{
Alert ("The init() function worked at start") ; // Message
return ; // Exit init()
}
} //--------------------------------------------------------------------
int start() // Special init()
{
double Price=Bid ; // Variable locale.
Count++ ; // Compteur de tick
Alert("New tick ",Count," Price = ",Price);// Message
return ; // Exit start()
}
//--------------------------------------------------------------------
int deinit() // Fonction spéciale deinit()
{
Alert ("Deinit() triggered during upload") ; // Message
return ; // Exit deinit()
}
//--------------------------------------------------------------------

Je n'écris pas de prix pour les nouveaux ticks, la fonction se déclenche au démarrage et au déchargement.



 
Veuillez indiquer au non-programmeur où et comment insérer Sleep(1200000) pour avoir un délai de 10 minutes après la clôture de l'ordre.
Dossiers :
1_1.rar  26 kb
 
v43 писал(а) >>
Veuillez indiquer à un non-programmeur où et comment insérer Sleep(1200000) pour avoir un délai de 10 minutes après la clôture de l'ordre, j'en ai vraiment besoin.

S'il vous plaît - mettez le code à travers le bouton SRC - c'est impossible à lire de cette façon.

Pour un intervalle aussi long, il est préférable de ne pas le faire via Sleep, mais d'attendre un tic-tac lorsque ce temps est écoulé - par exemple :

   static datetime DontCloseBefore = 0;
   //....
   
   OrderSend(....);
   DontCloseBefore = TimeCurrent() + 10*60; //10 minutes
   //....
   
   if( DontCloseBefore!=0)
   {
      if(TimeCurrent()> DontCloseBefore) && ( some other conditions - like existing order))
      {
         DontCloseBefore = 0; //important - reset the state engine
         OrderClose(...);
      }
   }
Si DontCloseBefore == 0 alors rien, s'il y a un retard, alors vous devez attendre jusqu'à ce que le temps actuel devienne plus long que ce qui est prescrit dans DontCloseBefore, mettez à zéro DontCloseBefore et fermez.
 

Quelqu'un sait-il s'il existe une commande permettant de savoir si un certain indicateur est ouvert dans la fenêtre, par exemple MA(20) ?

Merci !

 
chief2000 >> :

Quelqu'un sait-il s'il existe une commande permettant de savoir si un certain indicateur est ouvert dans la fenêtre, par exemple MA(20) ?

Merci !



int WindowFind( string name)
Renvoie le numéro de la sous-fenêtre du graphique contenant l'indicateur avec le nom spécifié, s'il est trouvé, sinon -1 est renvoyé.
WindowFind() renvoie -1 si l'indicateur personnalisé se cherche pendant init().
 
 
keekkenen >> :


int WindowFind( string name)
Renvoie le numéro de la sous-fenêtre du graphique contenant l'indicateur avec le nom spécifié, si trouvé, sinon renvoie -1.
WindowFind() renvoie -1 si l'indicateur personnalisé se cherche pendant init ().

Je vois qu'une clarification est nécessaire :

mon but est de vérifier si MA fonctionne, si oui, de trouver avec quelle période. En conséquence, je dois obtenir "20" s'il existe une MA(20).

Pour cela, nous pouvons utiliser WindowFind() avec un for-cycle, mais je ne veux pas gaspiller les ressources informatiques car

cette vérification ne devrait être faite qu'une seule fois au début (WindowFind() dans init() ne fonctionne pas ?).

 

S'il vous plaît. Quelqu'un a écrit un simple EA :

- Open Buy.

- Take=20, Stop Loss=20;

- lorsque la clôture est déclenchée, nous ouvrons à nouveau une position d'achat avec exactement les mêmes paramètres (take=20 ; stop=20).

-Si le Stop Loss se déclenche, nous ouvrons une vente avec exactement les mêmes paramètres (take=20 ; stop=20), et ainsi de suite.

On peut faire la même chose, mais on ouvre d'abord une position de vente au lieu d'une position d'achat.

Comme rémunération symbolique pour le travail, je peux passer un compte pour 5grn. (Si les opérateurs ukrainiens).

 

Pourquoi l'exécution de MA(20) dans la fenêtre principale

 WindowFind("MA(20)")

renvoie "-1" ?