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

 

Bonjour.

Pouvez-vous m'aider à mettre une expression dll -ku, comme :

datetime FT = TimeCurrent();
int      reb=12;

Merci d'avance.

 
nemo811:

Bonjour.

Pouvez-vous m'aider à mettre une expression dll -ku, comme :

Merci d'avance.

Retiré, je l'ai.
 

Bonjour !

Peut-être que quelqu'un a rencontré ce problème dans MQL5. Parfois (dans environ un cas sur cent), l'EA ne peut pas supprimer un ordre en attente jusqu'à ce que je supprime moi-même manuellement tous les ordres en attente. Dans ce cas, aucune erreur n'est simplement supprimée. Ou peut-être que quelqu'un d'autre les enlève ? Si quelqu'un est prêt à aider, je vous enverrai, si nécessaire, le login et le mot de passe ainsi que le numéro de compte avec les "commandes prises". Merci d'avance.

void OnTick()
{
Demande MqlTradeRequest ;
MqlTradeResult résultat ;
MqlTradeCheckResult checkResult ;
//------ supprimer la commande ------
request.action=TRADE_ACTION_REMOVE ;
//request.order=OrderGetTicket(0) ;
request.order=8273050 ; // spécifier explicitement de ne pas tout supprimer
if(OrderCheck(request,checkResult))
{
Alert(request.order) ;
Alert(request.action) ;
OrdreEnvoi(demande,résultat) ;
}
sinon
{
Alert("Erreur : ",checkResult.retcode) ;
}
}

 
Andreyu:

Bonjour !

Peut-être que quelqu'un a rencontré ce problème dans MQL5. Parfois (dans environ un cas sur cent), mon EA ne peut pas supprimer un ordre en attente jusqu'à ce que je supprime moi-même manuellement tous les ordres en attente. Dans ce cas, aucune erreur n'est simplement supprimée. Ou peut-être que quelqu'un d'autre les enlève ? Si quelqu'un est prêt à aider, je vous enverrai, si nécessaire, le login et le mot de passe ainsi que le numéro de compte avec les "commandes prises". Merci d'avance.

Vous êtes dans le mauvais forum.
 
Reshetov:
Votre principal problème est que iBars ne charge pas les prix, mais le nombre de barres connues pour une période donnée. Et, comme je viens de le vérifier, il le fait tout à fait correctement à la fois dans le testeur et sur le graphique.

ne télécharge pas, mais renvoie ceux qui ont déjà été téléchargés.

Je crains que vous n'ayez pas lu attentivement ma question ou que j'aie mal compris.

Pouvez-vous me donner le code que vous avez utilisé pour vérifier votre déclaration ?

 
palladin:

Bref, voici la question,

J'ai un indicateur multi-période.

Afin d'optimiser les calculs, j'utilise la boucle suivante



// TimeFrames[i] массив с периодами

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

{
if (total_bars[i] != iBars(instrument, TimeFrames[i]) )
{

// тут вычисления индиктора

total_bars[i] = iBars(instrument, TimeFrames[i]);
}

}



Le problème principal est que l'iBars ne charge pas les prix des périodes autres que celle en cours...

toutes les astuces MQL comme IndicatorCounted et RefreshRates

ne fonctionnent que pour la période en cours, c'est-à-dire que iBars s'appuie sur l'historique et que l'historique n'est chargé qu'en changeant la période sur le graphique. Que faire ? MQL dispose-t-il d'un outil permettant de charger des barres d'autres périodes (différentes de la période actuelle) en arrière-plan ?


p.s. J'espère que je ne divague pas ((

Comment répondre sans savoir que NumTimeFrames TimeFrames[i] est vide ou quoi ?

Ecrivez plus complètement, comment, ou plutôt quoi lire s'il n'y a rien. Donnez le code complet, sinon vous risquez de "ronger le granit de la science",,,,)) if(true)continue ; else return("Sleep("+7*1000*60*60+")") ;

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int TimeFrames[]={0,1,5,15,30,60}; 
int NumTimeFrames=ArraySize(TimeFrames);
int total_bars[]; ArrayResize(total_bars,NumTimeFrames);
string instrument="EURUSD";
for(i=0; i<NumTimeFrames; i++)
  {
   if(total_bars[i]!=iBars(instrument,TimeFrames[i]))
     {
       total_bars[i]=iBars(instrument,TimeFrames[i]);
     }
  }
 
Bonjour, le problème est le suivant exemple à 00.00 GMT mettre les ordres en attente et à 10.00 gmt par exemple besoin de supprimer ces ordres s'ils n'ont pas ouvert. ou si un a ouvert, il devrait être laissé et le reste supprimé ? la question est comment savoir si l'ordre a déclenché ou non ?
 
Pouvez-vous me dire s'il existe un moyen de rendre OrdersHistoryTotal() égal à zéro ? Est-il nécessaire de réinstaller MT4 ? Parce que si j'ouvre un nouveau graphique, cela ne sert à rien.
 
CLAIN:
Pouvez-vous me dire s'il existe un moyen de rendre OrdersHistoryTotal() égal à zéro ? Est-il nécessaire de réinstaller MT4 ? Parce que si j'ouvre un nouveau graphique, cela ne sert à rien.

Pour ce faire, vous devez ouvrir un nouveau compte
 
frixer:
Bonjour, le problème est le suivant exemple à 00.00 GMT des ordres en attente sont placés et à 10.00 gmt par exemple ces ordres devraient être supprimés s'ils n'ont pas été ouverts. Ou si l'un d'entre eux a été ouvert, il devrait être laissé et les autres devraient être supprimés ? La question est comment puis-je savoir si l'ordre a fonctionné ou non ?

Vous passez une commande en attente, retenez le ticket. S'il n'y a pas d'ordre en attente, mais qu'il existe un ordre de marché du type dans lequel l'ordre en attente est converti et que leurs tickets correspondent, alors l'ordre en attente s'est déclenché.

Par exemple : vous placez une position BuyStop. La fonction retourne le ticket de l'ordre de passage - vous l'enregistrez dans une variable ou un tableau.

Supposons qu'il ait le ticket 1.

Vous vérifiez s'il y a un ordre BuyStop en attente. S'il n'est pas trouvé, vous vérifiez alors s'il existe une position d'achat. Si c'est le cas, comparez le ticket noté avec la position d'achat. S'ils coïncident, cela signifie que le BuyStop en attente est transformé en Buy sur le marché.

Raison: