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

 
FAQ:

Vadim, personne ne doute de ta génialité, je voulais dire que tout cela peut être fait avec des outils API plus simples, ce qui est le point de départ de la question, mais au lieu d'expliquer et d'aider, tu as déplacé la conversation vers ton propre sujet, comme d'habitude. Et les conséquences ne se font pas attendre.

Quant à moi, tout ce qui commute, fonctionne, toujours, et comme il se doit :

Le plus cool - Dima :-))

Eh bien, j'ai tout fait par les moyens les plus simples de WinAPI. Tu n'as pas remarqué ? Je vous ai montré toutes mes variantes.

Quelles sont les conséquences ? Que je ne sais pas écrire en MQL4 ? Ça fait longtemps que je n'ai pas écrit dedans. J'ai oublié les particularités.

Vous avez tout faux.

 
Les interrupteurs, c'est ça. D'abord il commute et ensuite il indique. Il y a donc un délai.
 
Ce qui ne peut être écrit en assembleur peut être re-soudé.
 
Le fer à souder, lui aussi, est quelque part, autour de l'assembleur ;)))
 
Mais quel sujet de discussion pour vous, les nouveaux venus :) Assembleurs, api, trucs informatiques de base :)
 

Me voici, à nouveau novice, pour la énième fois...

Pouvez-vous me donner un indice ?

J'invente mon EA. J'ai commencé par créer un indicateur qui dessinerait des flèches là où je placerais des transactions.

Il dessine des flèches, mais pas vraiment là... Voici comment je fais :

#propriété indicator_color1 LimeGreen

#property indicator_color2 Red

....................

double ExtMapBuffer1[] ;

double ExtMapBuffer2[] ;

.................

SetIndexStyle(0,DRAW_ARROW) ;

SetIndexArrow(0,225) ;

SetIndexBuffer(0,ExtMapBuffer1) ;

SetIndexEmptyValue(0,0.0) ;

SetIndexStyle(1,DRAW_ARROW) ;

SetIndexArrow(1,226) ;

SetIndexBuffer(1,ExtMapBuffer2) ;

SetIndexEmptyValue(0,0.0) ; //par mon ici erreur

............................

int limit1 ;

si(counted_bars>0) counted_bars-- ;

limit1=Bars-counted_bars ;

for(int j=0 ; j<limit1 ; j++)

..........................

Si(mes conditions d'achat)

ExtMapBuffer1[j+1]=High[j+1] // flèche verte au-dessus de la dernière barre fermée - achat

else ExtMapBuffer1[j+1]=0.0 ; //rien n'est dessiné

Si(mes conditions de vente)

ExtMapBuffer2[j+1]=Low[j+1] // flèche rouge vers le bas sous la dernière barre fermée - vente

else ExtMapBuffer2[j+1]=0.0 ; // rien n'est dessiné

Je regarde la fermeture de la dernière barre par rapport à d'autres lignes et je veux obtenir une flèche au-dessus de la dernière barre fermée (pas la barre actuelle), donc si je garde un graphique ouvert par exemple 5 min, j'obtiens des flèches dessinées en continu jusqu'à ce que mes conditions soient remplies et restent ouvertes.

Ilme semble que j'ai fait une erreur avec j et j+1. Je ne comprends pas non plus pourquoi les flèches sont redessinées. Qu'est-ce qui, dans ce programme, les fait redessiner ?

Pouvez-vous me dire si ce n'est pas trop difficile. Merci.

 
sashaz:

Me voici, à nouveau novice, pour la énième fois...

Pouvez-vous me donner un indice ?

......................

Je regarde la fermeture de la dernière barre par rapport aux autres lignes et je veux obtenir une flèche au-dessus de la dernière barre fermée (pas la barre actuelle), donc si je garde un graphique ouvert par exemple 5 min, j'aurai des flèches dessinées en continu jusqu'à ce que mes conditions soient remplies et resteront jusqu'à ce que le graphique soit ouvert.

Ilme semble que j'ai fait une erreur avec j et j+1. Je ne comprends pas non plus pourquoi les flèches sont redessinées. Qu'est-ce qui, dans ce programme, les fait redessiner ?

Pouvez-vous me dire si ce n'est pas trop difficile. Merci.


Le code est très mauvais. Les blocs d'initialisation et de désinitialisation ainsi que la fonction de démarrage de l'indicateur sont manquants.
 
drknn:

Le code est très mauvais. Les blocs d'initialisation et de désinitialisation ainsi que la fonction de démarrage de l'indicateur sont manquants.
Je les ai juste enlevés et laissé la partie où je pense que le problème est.
 
Il est préférable de montrer le code complet, et de le coller en utilisant le bouton "SRC".
 

Mec, j'ai déjà eu une nuit d'essais torturés. Situation :

Nous écrivons un scénario.

if(OrderSend(Symbol(),0,0.1,NormalizeDouble(Ask,Digits),200,NormalizeDouble(Ask-150*Point,Digits),NormalizeDouble(Ask+150*Point,Digits),NULL,0,0,CLR_NONE)<0){
  Print("Ошибка - ",GetLastError());
}

On le lance sur les quatre chiffres et tout va bien. Sur un cinq chiffres, le diable donne l'erreur 130. Nous devons garder à l'esprit que la distance minimale autorisée pour placer un ordre stop est de 10 points. Quel est le problème ?

P.S.

Voici les détails du compte de démonstration :

Login : 91249894
Mot de passe : xv7igki

Serveur : DEM15METADC11.efxnow.com