Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1056
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Aidez-moi, je n'arrive pas à trouver la réponse à une question simple.
intTimeSeconds(,,,,,)Renvoie le nombre de secondes écoulées depuis le début de la minute de l'heure spécifiée.
Si j'insère l'heure d'ouverture de la barre dans la fonction
TimeSeconds(iTime(NULL,PERIOD_M5,0))
comment puis-je savoir qu'il reste 10 secondes avant la fermeture de la barre ?
Eh bien, soustrayez le temps écoulé du nombre de secondes de la période...
Parce que vous devez lire la documentation dans son intégralité. Et il y a un exemple
Dans la documentation, je pense que ces crochets "array[]" sont inutiles car vous pouvez comprendre à partir du mot lui-même qu'il s'agit d'un tableau. :)
Donc, soustrayez le temps écoulé du nombre de secondes dans une période...
Merci beaucoup, j'utilise mql4 depuis cinq ans et je ne savais pas qu'il existait une telle fonction, merci encore ;))
Hélas, cela n'a pas aidé, sur le cinquième ce contrôle ne fonctionne pas...((
Je ne sais pas non plus à quoi sert la variable que j'ai appelée Huin?
Merci beaucoup, j'utilise mql4 depuis cinq ans et je ne savais pas qu'il existait une telle fonction, merci encore ;))
Hélas, cela n'a pas aidé, sur le cinquième ce contrôle ne fonctionne pas...((
Vous auriez donc dû préciser... Le principe est le même.
Vous pouvez aussi utiliser CopyTime()...
Non... Ce n'est pas comme ça.
GURUS TELL ME !!!! Pourquoi un ordre de vente ne s'ouvre pas ????
//+------------------------------------------------------------------+
//| Nom du projet |
//| Copyright 2012, Nom de la société |
//| http://www.companyname.net |
//+------------------------------------------------------------------+
#propriété stricte
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'expert |
//+------------------------------------------------------------------+
entrée double L=0.01 ;
entrée int TakeProfit = 150 ;
entrée int StopLoss = 150 ;
entrée int Magie = 0 ;
//+------------------------------------------------------------------+
int b=0 ;
int s=0 ;
//+------------------------------------------------------------------+
int OnInit()
{
retour(0) ;
}
//+------------------------------------------------------------------+
//| Fonction tick expert |
//+------------------------------------------------------------------+
void OnTick()
{
//+------------------------------------------------------------------+
//| Ouvrir un ordre d'achat ||
//+------------------------------------------------------------------+
si(b==0)
{
b=Mon_Fun_b() ;
}
//+------------------------------------------------------------------+
//| Ouvrir un ordre de vente |
//+------------------------------------------------------------------+
si(s==0)
{
double priceb=My_Fun_p() ;
Comment("Le prix de l'ordre d'achat",priceb) ;
if(priceb==Bid) /*NOT EXECUTED WHY*/.
{
s=My_Fun_s(priceb);/*NOT EXECUTED, WHY///
}
}
}
//+------------------------------------------------------------------+
//| fonction de désinitialisation des experts |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Fonction personnalisée pour l'ouverture du premier ordre (achat) |
//+------------------------------------------------------------------+
int Mon_Fun_b()
{
b=OrderSend(_Symbol,0,0.01,Ask,0,0,",414,0,clrBlue) ;
retour(b) ;
}
//+------------------------------------------------------------------+
//| Fonction définie par l'utilisateur pour déterminer le prix du premier ordre (achat) |
//+------------------------------------------------------------------+
double My_Fun_p()
{
double pb=0 ;
si(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true)
si(OrderMagicNumber()==414)
{
pb=OrderOpenPrice() ;
}
retour(pb) ;
}
//+------------------------------------------------------------------+
//| Fonction personnalisée pour ouvrir le premier ordre (vente) |
//+------------------------------------------------------------------+
int My_Fun_s(double priceb)
{
s=OrderSend(_Symbol,1,0.01,priceb,0,0,",0,0,clrRed) ;
retour(b) ;
}
//+------------------------------------------------------------------+
Eh bien, vous auriez dû préciser... Le principe est le même
Vous pouvez aussi utiliser CopyTime()...
Non... C'est un peu différent.
Merci, ça a marché. Variante correcte :
(TimeCurrent() - (datetime) SeriesInfoInteger (NULL , PERIOD_M5 , SERIES_LASTBAR_DATE))>290
Merci encore, maintenant nous pouvons supprimer des montagnes de code et utiliser cette ligne ! !! ))
Merci, ça a marché. Variante correcte :
(TimeCurrent() - (datetime) SeriesInfoInteger (NULL , PERIOD_M5 , SERIES_LASTBAR_DATE))>290
Merci encore, maintenant nous pouvons supprimer des montagnes de code et utiliser cette ligne ! !! ))
Apparemment, cela n'avait pas d'importance si c'était le temps écoulé depuis l'ouverture du bar ou le temps jusqu'à la fin du bar. Cette variante donnera exactement le temps écoulé depuis le début de la mesure et non le temps jusqu'à la fin de la mesure.
Et quel est le numéro 290 ? Pourquoi devons-nous vérifier plus de 290 ?
Apparemment, le fait qu'il s'agisse du temps écoulé depuis le début de la barre ou du temps jusqu'à la fin de la barre n'avait aucune importance. Cette option donnerait exactement le temps écoulé depuis le début de la mesure, et non le temps jusqu'à la fin de la mesure.
Quel est le numéro 290 ? Pourquoi devons-nous vérifier plus de 290 ?
Erreur de compilation (2) : Magic - identifiant non déclaré
Veuillez m'aider à corriger
bool CheckExists(int Type)
{
bool Result = True ;
for(int i = 0 ; i < OrdersTotal() ; i++)
if(OrderSelect(i, SELECT_BY_POS))
if(OrderType() == Type && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
if(OrderOpenTime() >= Time[0])
Result = False ;
for(i = 0 ; i < OrdersHistoryTotal() ; i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
if(OrderType() == Type &&& OrderOpenTime() >= Time[0]
&& OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
Result = False ;
}
return(Result) ;
}