Demandez ! - page 43

 

ok je demande...

comment utiliser les fonctions de fichier pour que les données soient ajoutées à la fin du fichier plutôt que de l'écraser.

https://www.mql5.com/en/forum/174700/page77

s'il vous plaît répondre sur le fil que ce lien va à où je lis normalement.

 

Comment récupérer un ordre fermé spécifique en utilisant HistoryTotal() ?

Bonjour à tous

Existe-t-il un moyen d'utiliser la fonction HistoryTotal pour retrouver un ordre particulier (achat ou vente) clôturé ?

J'ai essayé avec ce code mais cela ne semble pas fonctionner :

int hstTotal=HistoryTotal();

for(i=0;i<hstTotal;i++)

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

if (Debug==true) Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderType()==OP_BUY && OrderComment()=="LONG")

{

..take some action...

}

if (OrderType()==OP_SELL && OrderComment()=="SHORT")

{

..take some action...

}

}

[/code]

And when a buy order was in place using OrderSelect I identified this using "LONG" as comment (and "SHORT" if a sell order) :

[code]

Sell:

..

..

OrderSend(Symbol(),OP_SELL,Lots,Entry,Slippage,StopLoss,TakeProfit,"SHORT",0,0);

..

..

Buy:

..

..

OrderSend(Symbol(),OP_BUY,Lots,Entry,Slippage,StopLoss,TakeProfit,"LONG",0,0);

..

..

Peut-être que la fonction OrderComment n'est pas supportée en utilisant le mode MODE_HISTORY ? Et si oui, comment puis-je résoudre ce problème ?

Merci beaucoup

Skyline

 
skyline:
Bonjour à tous

Existe-t-il un moyen d'utiliser la fonction HistoryTotal pour retrouver un ordre particulier (achat ou vente) clôturé ?

J'ai essayé avec ce code mais cela ne semble pas fonctionner :

int hstTotal=HistoryTotal();

for(i=0;i<hstTotal;i++)

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

if (Debug==true) Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderType()==OP_BUY && OrderComment()=="LONG")

{

..take some action...

}

if (OrderType()==OP_SELL && OrderComment()=="SHORT")

{

..take some action...

}

}

[/code]

And when a buy order was in place using OrderSelect I identified this using "LONG" as comment (and "SHORT" if a sell order) :

[code]

Sell:

..

..

OrderSend(Symbol(),OP_SELL,Lots,Entry,Slippage,StopLoss,TakeProfit,"SHORT",0,0);

..

..

Buy:

..

..

OrderSend(Symbol(),OP_BUY,Lots,Entry,Slippage,StopLoss,TakeProfit,"LONG",0,0);

..

..

Peut-être que la fonction OrderComment n'est pas supportée en utilisant le mode MODE_HISTORY ? Et si oui, comment puis-je résoudre ce problème ?

Merci beaucoup

Skyline

Skyline,

Sachez que le courtier ajoutera au commentaire ses propres commentaires sur l'ordre pour différentes raisons, et toujours lorsque l'ordre est fermé par le SL ou le TP. Quels sont les critères pour rechercher les transactions ? Une fois que vous aurez défini cela, vous aurez votre solution.

 
Nicholishen:
Skyline, Sachez que le courtier ajoutera au commentaire ses propres commentaires sur l'ordre pour différentes raisons, et toujours lorsque l'ordre est fermé par le SL ou le TP. Quels sont les critères pour rechercher les transactions ? Une fois que vous aurez défini cela, vous aurez votre solution.

Oh ce n'est pas une bonne nouvelle :|

Quoi qu'il en soit, j'essaie d'expliquer mon problème : dans mon EA, j'ai différents types d'ordres d'achat (ou de vente), j'en ai un qui doit être ouvert chaque fois qu'une condition est remplie, même plusieurs fois par jour (quelque chose comme lorsque le prix pénètre une EMA, alors un ordre est placé), et un autre type qui doit être déclenché une seule fois par jour en fonction de différentes conditions basées sur différentes EMA. Donc, ce que je dois faire, c'est laisser le premier type d'ordre d'achat/de vente ouvrir/fermer plusieurs fois par jour, tandis que le second type d'ordre d'achat/de vente ne doit être ouvert qu'une fois par jour. Je pensais donc que si je pouvais localiser d'une certaine manière tout type d'ordre d'achat/de vente dans l'historique, je pourrais résoudre mon problème, mais il semble que ce ne soit pas possible.

 

Valeurs des graphiques quotidiens

codersguru:
Bonjour à tous,

J'ai reçu de nombreux messages privés me demandant de l'aide pour certains morceaux de code.

Ici vous pouvez poster vos questions relatives à MQL4, et je ferai de mon mieux pour y répondre.

Bonjour,

J'essaie d'obtenir le haut, le bas, l'ouverture et la fermeture de la journée précédente à 0 GMT pour mon EA. Cela fonctionne bien pour tous les jours sauf le dimanche dans MIG & IBFX où il obtient les valeurs pour le dimanche à partir du samedi et non du vendredi. FXDD l'obtient correctement à partir de la clôture du vendredi car il n'y a pas de nouvelle barre pour le samedi.

Il est codé comme :

High[1], Low[1], Close[1] etc. Comment puis-je corriger le code pour le dimanche afin qu'il obtienne les valeurs uniquement à partir de la clôture du vendredi et non du samedi. Merci de m'aider !

 
payal:
Bonjour,

J'essaie d'obtenir le haut, le bas, l'ouverture et la fermeture de la journée précédente à 0 GMT pour mon EA. Cela fonctionne bien pour tous les jours sauf le dimanche dans MIG & IBFX où il obtient les valeurs pour le dimanche à partir du samedi et non du vendredi. FXDD l'obtient correctement à partir de la clôture du vendredi car il n'y a pas de nouvelle barre pour le samedi.

C'est codé comme :

High[1], Low[1], Close[1] etc. Comment puis-je corriger le code pour le dimanche afin qu'il obtienne des valeurs uniquement à partir de la clôture du vendredi et non du samedi. Merci de m'aider !

D'après votre description, je suppose que vous l'utilisez sur le graphique journalier ???

Pour répondre à votre question, voici comment je résoudrais le problème.

if (DayOfWeek() == 0)

{

High[2], Low[2], Close[2], //etc

}

else

{

High[1], Low[1], Close[1],//etc

)

Bien sûr, vous devez organiser le haut, le bas et la clôture de la manière dont vous les utilisez.

 
payal:
Salut,

J'essaie d'obtenir le haut, le bas, l'ouverture et la fermeture de la journée précédente à 0 GMT pour mon EA. Cela fonctionne bien pour tous les jours sauf le dimanche dans MIG & IBFX où il obtient les valeurs pour le dimanche à partir du samedi et non du vendredi. FXDD l'obtient correctement à partir de la clôture du vendredi car il n'y a pas de nouvelle barre pour le samedi.

Il est codé comme :

High[1], Low[1], Close[1] etc. Comment puis-je corriger le code pour le dimanche afin qu'il obtienne des valeurs uniquement à partir de la clôture du vendredi et non du samedi. S'il vous plaît aider !

Vérifiez ce fichier https://c.mql5.com/forextsd/forum/4/fibopiv_v3.mq4

Vous y trouverez la réponse à votre question.

Salutations

Kale

 

Merci.

Eaglehawk:
D'après votre description, je suppose que vous l'utilisez sur le graphique journalier ???

Pour répondre à votre question, voici comment je résoudrais le problème.

if (DayOfWeek() == 0)

{

High[2], Low[2], Close[2], //etc

}

else

{

High[1], Low[1], Close[1],//etc

)
Bien sûr, vous devriez arranger le haut, le bas et la clôture de la manière dont vous les utilisez.

Merci beaucoup. Passez une bonne journée !

 

Merci.

Kalenzo:
Vérifiez ce fichier https://c.mql5.com/forextsd/forum/4/fibopiv_v3.mq4

Vous y trouverez la réponse à votre question.

Salutations

Kale

Merci, bonne journée !

 

Existe-t-il un indicateur qui peut nous montrer le high0low de chaque barre en valeur en haut ou en bas de chaque barre ?

Raison: