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

 
Roman.:


Erreur d'écriture de fichier. Corrigez le code.

Merci.
 
ilunga:
le nombre de parenthèses "(" et de parenthèses ")" est différent.
Merci, c'est réparé !
 

Salut,

Comment faire pour qu'un conseiller expert en moyenne mobile ouvre une position non pas lorsque le graphique a franchi la moyenne mobile, mais lorsqu'il a franchi la moyenne mobile + 10 pips plus haut. Pour éliminer les faux positifs

Merci.

 
kostikk:

Salut,

Comment faire une moyenne mobile Expert Advisor ouvre une position non pas lorsque le graphique a franchi la moyenne mobile, mais lorsqu'il a franchi la moyenne mobile + 10 pips plus haut. Pour éliminer les faux positifs

Merci.


Vous ajoutez une variable à la condition :

extern int point = 10;
 

----------------------------



if(Ask  > Ma0 +point*Point  && Ask  < Ma1+point*Point )//для Бая


--------------------------

if(Bid  < Ma0 -point*Point  && Bid > Ma1-point*Point )//для Сэлла 
 

Pouvez-vous me dire comment mettre à jour correctement le graphique hors ligne ? Vous n'avez pas besoin de mettre à jour l'ensemble du graphique, mais seulement la dernière barre.

Par exemple, voici comment le graphique est mis à jour lorsque vous utilisez le script "HistoryBarsEditor" https://www.mql5.com/ru/code/10488.

D'après ce que je comprends, après l'édition, le graphique est mis à jour en raison de ces barres :

  int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
  PostMessageA(hChart,MT4InternalMsg, 2, 1);  //эмуляция тика
  
  UpdateWindow(hTerminal);

Mais lorsque j'insère les mêmes lignes dans l'indicateur "synbar" que je veux éditer https://www.mql5.com/ru/articles/1353 au lieu de

PostMessageA(hwnd,WM_COMMAND,33324,0);
la mise à jour n'a pas lieu.
 
fenik:

Pouvez-vous me dire comment mettre à jour correctement le graphique hors ligne ? Lors de la mise à jour, vous ne souhaitez pas que l'ensemble du graphique soit mis à jour, mais uniquement la dernière barre.

Regardez le script PeriodConverter dans le terminal
 
sergeev:
voir le script PeriodConverter fourni avec le terminal


Malheureusement, il est lui aussi mis à jour par PostMessageA(hwnd,WM_COMMAND,33324,0) ; l'ensemble du graphique est redessiné avec un tick.
 

mais le graphique ne peut pas dessiner une seule barre (une tranche de l'écran) lors de la mise à jour.

il met à jour toute la fenêtre en une seule fois.

 
paladin80:
Si personne ne répond, cela signifie que les gens ne savent pas quoi répondre. Vous n'avez pas besoin de poster autant de fois et de copier autant de texte.
Je n'arrive pas à croire qu'il s'agisse d'une question si difficile à laquelle personne ne peut répondre !!!!! ... Je poste de nombreuses fois parce que la question "passe à travers" souvent à cause d'autres questions et des réponses à ces autres questions.
 
7777877:

Question: est-ce que je comprends bien :

a ) la définition d'un pointeur de fichier ;

b) la signification de la phrase"si le contrôle spécifié (les 2 dernières lignes du bloc 5-6) est supprimé, un objet supplémentaire sera créé pendant l'exécution du programme. Et seulement après cela, la condition de fin de la boucle while se déclenchera et le contrôle sera transmis aux blocs 8-9".

a) même s'il est mal compris, cela vous empêche-t-il de faire des programmes corrects ?

b) avez-vous vérifié ? et comment, un objet supplémentaire a-t-il été créé ?

Raison: