Dans le testeur il n'y a pas d'erreurs, c'est clair, il faut regarder le log du réel (mieux vaut la démo d'abord, car le robot perd son sang froid, ne vous pressez pas avec le réel).
Mais il ne ferme pas mes commandes précédemment ouvertes !
Et votre conseiller expert ne ferme pas les ordres - il n'a pas de mécanisme de fermeture. Vos ordres sont fermés par TP ou SL. Si la condition OrdersTotal()=0, l'ouverture aura lieu s'il n'y a pas d'ordres, c'est-à-dire si leur nombre est égal à 0. Si la condition OrdersTotal ()<2, l'ouverture sera, si le nombre d'ordres est inférieur à 2.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
mais alors comment répéter la demande d'ouverture d'un ordre, par exemple, s'il n'y a pas de barre 8 34 et ce qui s'ouvrirait à 8 35.... ? !
((Minute()>=33) && (Minute()<=35))
Simplifié à l'extrême. Réglez votre temps d'une minute de plus que celui du serveur. Et exécutez-la :
Ce code ouvre-t-il vos commandes ?
Ça marche pour moi.
L'ensemble du code
int start()
{
//----
si ((OrdersTotal()==0 && Hour()==21) && (Minute()>=13))
OrderSend(Symbol(),OP_SELL,0.01,Bid,0,Ask+100*Point,Ask-100*Point,"DLSexp",123,0) ;
Print(GetLastError();
//----
retour(0) ;
}
Il donne toujours
2012.06.27 22:17:00 wesfsdf EURUSD,M1 : 0
PS wesfsdf le nom de l'EA)
tous les codes
int start()
{
//----
si ((OrdersTotal()==0 && Hour()==21) && (Minute()>=13))
OrderSend(Symbol(),OP_SELL,0.1,Bid,0,Ask+100*Point,Ask-100*Point,"DLSexp",123,0) ;
Print(GetLastError() ;
//----
retour(0) ;
}
Je l'ai tout le temps
2012.06.27 22:17:00 wesfsdf EURUSD,M1 : 0
PS wesfsdf le nom du conseiller expert)
Je pense qu'il y a vraiment un problème avec le levier dans les lots, nous devons trouver quel levier est sur le testeur... comment faire ? !
Essayez d'exécuter celui-ci. Vous avez peut-être des arrêts à faire après.
Où, dans la ligne OrderSend
, se trouvent le code de retour et l'analyse des erreurs ???
J'ai compris mon erreur,
if(OrdersTotal()==0) J'avais 4 transactions ouvertes, donc il ne s'est pas ouvert :) merci beaucoup pour votre aide !
Une dernière question
Comment puis-je ouvrir une seule transaction avec cet EA ?
Exemple : ouvrir une transaction soit Acheter ou Vendre après avoir clôturé au TP ou au Sl puis ouvrir une autre transaction sous la condition,
c.-à-d. si la condition 1 : alors Acheter
si la condition 2 : alors Vendez et fermez-les exactement...
Mais que se passerait-il si mes transactions ouvertes plus tôt ne se clôturaient pas ?
Mais il ne ferme pas mes commandes précédemment ouvertes !
Et votre conseiller expert ne ferme pas les ordres - il n'a pas de mécanisme de fermeture. Vos ordres sont fermés par TP ou SL.
Si la condition OrdersTotal()=0, l'ouverture aura lieu s'il n'y a pas d'ordres, c'est-à-dire si leur nombre est égal à 0.
Si la condition OrdersTotal ()<2, l'ouverture sera, si le nombre d'ordres est inférieur à 2.