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

 

rigonich

Pouvez-vous me dire dans quel fichier les variables glob. sont écrites ? Pour qu'il puisse être rapidement transféré vers un autre terminal.

 
rigonich:

Encore une fois 45, dans cette formeOrderSelect(LastClosetPoz (),SELECT_BY_TICKET) par défaut sélectionne parmi les ordres en attente et ouverts, et cet ordre n'est pas là. MettezOrderSelect(LastClosetPoz (),SELECT_BY_TICKET, MODE_HISTORY).


naa....nii...les MODEs...ne fonctionnent qu'avecSELECT_BY_POS. Et le billet lui-même ! Il est absolument individuel, vous n'avez donc même pas besoin de préciser où il se trouve.

(terminez la réponse ici...j'étais en train de finaliser la solution)

-------Paramètres:

indice - Indice de commande ou ticket de commande en fonction du deuxième paramètre.
sélectionnez - Sélection des drapeaux. Il peut s'agir de l'une des valeurs suivantes :
SELECT_BY_POS - indice dans le pool d'ordres,
SELECT_BY_TICKET - l'index est le ticket de commande.
piscine - Indice facultatif du groupement de commandes. Utilisé lorsque le paramètre sélectionné est SELECT_BY_POS. Il peut s'agir de l'une des valeurs suivantes :
MODE_TRADES (par défaut) - ordre sélectionné dans le pool de négociation (ordres ouverts et en attente),
MODE_HISTORY - ordre sélectionné dans le pool d'historique ( ordres fermés et annulés).
 
lottamer:


naa....niiiii...mods...ne fonctionnent qu'avecSELECT_BY_POS. Et le billet lui-même ! Il est entièrement individuel, vous n'avez donc pas besoin de préciser où il se trouve.

-------Paramètres:

indice - Indice de commande ou ticket de commande en fonction du deuxième paramètre.
sélectionnez - Sélection des drapeaux. Il peut s'agir de l'une des valeurs suivantes :
SELECT_BY_POS - indice dans le pool de commandes,
SELECT_BY_TICKET - l'indice est le ticket de commande.
piscine - Indice facultatif du groupement de commandes. Utilisé lorsque le paramètre sélectionné est SELECT_BY_POS. Il peut s'agir de l'une des valeurs suivantes :
MODE_TRADES (par défaut) - ordre sélectionné dans le pool de négociation (ordres ouverts et en attente),
MODE_HISTORY - ordre sélectionné dans le pool d'historique (ordres fermés et annulés).


Désolé, je me suis trompé, vous avez raison, c'est juste dans votre ligne if (Print("Stop loss", OrderStopLoss()) ;) Print("Stop loss", OrderStopLoss()); ; il n'y a pas de condition, un opérateur est inséré à la place.
 
Desead:

Je ne suis pas un programmeur, mais il m'arrive d'écrire moi-même les choses les plus simples. Vous pouvez écrire un robot simple dans n'importe quel langage et ce n'est pas un problème du tout. Je ne veux pas exécuter une partie des fonctions comme une dll et les appeler depuis le μl, mais écrire le robot entier avec sa propre interface sans appeler Metatrader. J'ai inventé beaucoup de langages visuels différents où je peux le faire sans trop d'efforts.


Je vois. Dans le paquet MT, il y a des exemples d'écriture de dlls en C2C++.

Catalogue : Catalogue_dans lequel se trouvent les échantillons de MT-Mexperts. Prenez-le et modifiez-le en fonction de vos besoins. Vous n'avez pas besoin d'une connaissance approfondie du C++ pour travailler avec lui. La connaissance des bases et de la syntaxe du langage C est suffisante.

Attention : le projet doit avoir un fichier .def, sinon vous ne pourrez pas connecter la dll. Dans l'exemple, il s'agit d'un projet tel qu'il devrait être.
 
xant:

rigonich

подскажите пожалуйста, в какой файл записываются глоб. переменные? Чтобы можно было быстро перебрасывать на другой терминал. 

Je ne sais pas, je ne l'ai pas trouvé, mais vous pouvez probablement ouvrir service-->variables globales dans le terminal et les copier à partir de là, essayez.

Et en général c'est lié à la synchronisation de plusieurs terminaux, essayez de chercher dans cette direction, je pense avoir trouvé quelque chose comme ça sur ce site ou dans des articles, ou dans kodobase.

 
rigonich:


terminal\profiles\gvariables.dat
 
r772ra:


terminal\profiles\gvariables.dat

Merci, c'est vrai, j'ai regardé dans presque tous les dossiers mais je n'ai pas pensé à regarder dans les profils.
 
rigonich:

Désolé, j'ai fait une erreur, vous avez raison, c'est juste votre ligne si (Print("Stop loss", OrderStopLoss() ;) Print("Stop loss", OrderStopLoss() ;); il n'y a pas de condition, un opérateur est inséré à la place.


Je suis encore coincé... à la toute dernière étape...

Les tickets ont été retirés - ils fonctionnent. J'essaie maintenant de les utiliser - pour extraire leOrderProfit de la position correspondante..... il imprime des zéros...(mais le ticket s'imprime correctement)

si vous enlevez==true- même chose....

Existe-t-il un moyen d'utiliserOrderSelect sans if ?

QUAND cela fonctionne :

si (OrderSelect( Ticket1,SELECT_BY_TICKET)) Print("Stop loss", OrderStopLoss()) ;

imprime le niveau stop loss.

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

Je vais devoir prendre votre version avec une boucle commune.OrderProfit yest clairement reconnu ! Merde ! Quelle est la différence ? Tout est pareil !?

 LastClosetPoz();SecLastClosetPoz();   Print ( LastClosetPoz(),"___",SecLastClosetPoz()); 

 

if  (OrderSelect( LastClosetPoz(),SELECT_BY_TICKET)==true) X=OrderProfit();



if  (OrderSelect( SecLastClosetPoz(),SELECT_BY_TICKET)==true) Y=OrderProfit(); Print (X,"+",);

 
 
lottamer:


Je suis encore coincé... à la toute dernière étape...

Les tickets ont été retirés - ils fonctionnent. J'essaie maintenant de les utiliser - pour tirerOrderProfit de la position correspondante..... il imprime des zéros...(mais les tickets s'impriment correctement)

si vous enlevez==true- même chose....

Existe-t-il un moyen d'utiliserOrderSelect sans if ?

QUAND cela fonctionne :

si (OrderSelect( Ticket1,SELECT_BY_TICKET)) Print("Stop loss", OrderStopLoss()) ;

imprime le niveau stop loss.

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

Je vais devoir prendre votre version avec une boucle commune.OrderProfit yest clairement reconnu ! Merde ! Quelle est la différence ? Tout est pareil !?

OrderSelect( SecLastClosetPoz(),SELECT_BY_TICKET);
Vous pouvez également l'utiliser de cette façon : si la commande avec le ticket requis existe, la fonction la sélectionnera.
 

r772ra

Merci pour le conseil