[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 477
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
demlin:
Еще вопрос: какой функцией можно вытащить стоимость одного пункта инструмента?
https://docs.mql4.com/ru/constants/marketinfo
MarketInfo(Symbol(), MODE_TICKVALUE);
S'il vous plaît, dites-moi quel code doit être écrit dans l'EA pour que l'EA ne fasse des transactions qu'une fois par heure.
Par exemple, l'EA s'est déclenché, un ordre est ouvert (pas intéressé par la suite), je voudrais que l'ordre ne s'ouvre pas sur la barre actuelle sur une échelle de temps horaire.
tout se ressemble :
int hh ;
int CurrentHour ;
CurrentHour=TimeHour(TimeCurrent()) ;
si (CurrentHour!=hh)
{
OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-3*Point,Bid+3*Point) ;
hh=TimeHour(TimeCurrent()) ;
}
mais j'ai d'innombrables commandes ouvertes
Bonjour à tous !
S'il vous plaît, dites-moi ce que cela signifie :
L'ordre d'achat ...... a échoué [Délai d'exécution].
Je suis spécifiquement intéressé par le type de délai d'attente.
https://www.mql5.com/ru/forum/112612
Il s'agit d'une réponse du serveur expirée --- que la transaction soit ouverte ou non. Et il n'y a aucune garantie que le commerce ne s'est pas ouvert.
Je dois donc vérifier si l'ordre est ouvert dans une minute, puis continuer à négocier.
rlx:
doit être défini avant start() et init()
int hh = 0 ;
int init()
{
return(0) ;
}
int start()
{
//-------------------------------------------------
int countorder ;
countorder=OrdersTotal() ;
if (countorder==0)
{
Alert ("no open orders") ;
}else
{
Alert ("have open orders") ;
}
int hh ;
int CurrentHour ;
CurrentHour=TimeHour(TimeCurrent()) ;
if ((CurrentHour!=h)&&(countorder==0))
{
OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-3*Point,Bid+3*Point) ;
hh=TimeHour(TimeCurrent()) ;
}
//-------------------------------------------------
return(0) ;
}
int deinit()
{
return(0) ;
}
J'ai fait comme vous l'avez dit, aucun effet, j'ai ajouté le nombre d'ordres ouverts, maintenant les ordres sont ouverts juste après la fermeture.
J'ai contourné le problème en utilisant OrderCloseTime() - cela semble fonctionner maintenant.
int countorder ;
countorder=OrdersTotal() ;
if (countorder==0)
{
Alert ("no open orders") ;
}else
{
Alert ("have open orders") ;
}
int hh ;
int CurrentHour ;
int LastOrderCloseTime ;
CurrentHour=TimeHour(TimeCurrent()) ;
OrderSelect(HistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY) ;
hh=TimeHour(OrderCloseTime()) ;
si ((CurrentHour!=hh)&&(countorder==0))
{
OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-3*Point,Bid+3*Point) ;
}
https://www.mql5.com/ru/forum/112612
Il s'agit de la période d'attente pour que le serveur réponde --- si une transaction a été ouverte ou non. Et il n'y a aucune garantie que le marché ne soit pas ouvert.
Par conséquent, comme le recommandent les développeurs, vérifiez au bout d'une minute si un ordre a été ouvert et ne procédez qu'ensuite.
Je ne veux pas être un emmerdeur, cependant.
Expliquez-moi comment un ordre s'ouvre si OrderTotal() est égal à zéro.
Merci.
Voici la figure avec les parenthèses qui limitent le bloc de code qui est exécuté sous la condition
Les opérations OrderSend() ne sont pas affectées par cette condition.
comment obtenir un numéro de barre, dans le "futur" :)
iBarShift() fonctionne bien pour obtenir le numéro de barre de l'historique, mais comment obtenir le numéro de barre pour ce code si vous déplacez la ligne vers la droite - au-delà de la barre zéro ?
comment obtenir un numéro de barre, dans le "futur" :)
iBarShift() fonctionne bien pour obtenir le numéro de barre de l'historique, mais comment puis-je obtenir le numéro de barre pour ce code si je déplace la ligne vers la droite - au-delà de la barre zéro ?
Vous pouvez obtenir un décalage par rapport au temps [0].
Vous pouvez obtenir un décalage par rapport au temps [0].
Merci ! Tout va bien maintenant !