Erreur numéro 6 - page 15

 
Hmm.... Il s'avère que mon EA n'a pas vérifié la négociabilité.
  si (!IsTradeAllowed()) {Print(TimeToStr(CurTime())," no trade available");return;}


Apparemment, je voulais le faire, mais j'ai oublié de le mettre.
Je n'en ai eu qu'un, je dois donc tout revérifier.

 
Les experts sont incapables de négocier, mais manuellement tout est OK ? <br / translate="no">nous avons actuellement plusieurs terminaux en fonctionnement. 50 millions de comptes ouverts. les scripts négocient sans arrêt. aucun problème. et notre serveur d'origine est sur un autre continent, pas dans la pièce d'à côté.

Oui, c'est ça.
J'ai un compte d'un million de dollars, 8 experts.
Pour hier - 78 essais, dont 73 erreurs (2 #4108, 1 #128, le reste #6).
Pour aujourd'hui - 112 tentatives, dont 100 erreurs, toutes №6.

Je peux vous envoyer Trade_log si vous en avez besoin...
 
Nous avons plusieurs terminaux en fonctionnement en ce moment. 50 millions de comptes ouverts. скрипты торгуют в режиме нон-стоп. aucun problème. et notre serveur d'origine est sur un autre continent, pas dans la pièce d'à côté.

Essayez d'effectuer des transactions avec de longues interruptions (une fois par heure ou plus) et le reste du temps, l'EA ne devrait rien faire.
 
ce qui est remarquable, c'est que la connexion est bien là :
+--------------------Expert-Information----------------------------+<br / translate="no"> + ExpertName = *****
+ ChartSymbol = USDCHF
+ ChartPeriod = M15
+------------------------------------------------------------------+

+--------------------Error-Information-----------------------------+
+ LocalTime = 2005.09.23 11:58:40
+ Fonction = TrailingStop
+ GetLastError = 6
+ ErrorDescription = pas de connexion avec le serveur commercial.
+ Action = Pas de transaction pendant 5 min...
+------------------------------------------------------------------+

+--------------------Market-Information----------------------------+
+ Bid = 1,2828
+ Demande = 1,2833
+ Ecart = 0,0005
+ Niveau d'arrêt = 0,0006
+------------------------------------------------------------------+

+-------------------LastBar-Information----------------------------+
+ Temps [0] = 2005.09.23 10:45
+ Open [0] = 1.2815
+ High [0] = 1.2828
+ Low [0] = 1.2815
+ Close [0] = 1.2828
+------------------------------------------------------------------+

+--------------------Server-Information----------------------------+
+ ServerAddress = Alpari-Demo
+ ServerTime = 2005.09.23 10:58:44
+------------------------------------------------------------------+

+--------------------Account-Information---------------------------+
+ Numéro de compte = 63310
+ AccountName = komposter
+ AccountEquity = 976116.89
+ Marge libre du compte = 974215.13
+ Marge du compte = 1901.76
+
+ AccountBalance = 974896.11
+ AccountProfit = 1220.78
+ Crédit du compte = 0,00
+ AccountCurrency = USD
+ AccountLeverage = 100
+------------------------------------------------------------------+
 
Hmmm.... Il s'avère que mes conseils n'ont pas vérifié la négociabilité<br / translate="no">
 if (!IsTradeAllowed()) {Print(TimeToStr(CurTime())," no trade is available");return;}


Apparemment, je voulais le faire, mais j'ai oublié de le mettre.
Il n'y en avait qu'un seul, donc il faut tout revérifier.



À propos, je ne dispose pas non plus d'une telle fonctionnalité. Peut-être que c'est ça le mystère ?
 
Ah, ouf... il suffit de cocher la case "autoriser le commerce" ! !!! :)))))))))
 
Au fait, je n'ai pas non plus cette fonctionnalité. C'est peut-être ça le mystère.

Non, ce n'est certainement pas le secret =)

Je l'ai avant chaque opération :
- vérifier IsConnected
- vérifier IsTradeAllowed
- si un autre conseiller expert négocie, attendre (sémaphore)
- pause obligatoire de 60 secondes (si nécessaire, c'est-à-dire si personne n'a négocié pendant une longue période, il n'y a pas de pause).
- Mettre à jour tous les prix (qui ont pu changer pendant la pause)
- et seulement ensuite essayer de faire du commerce.

Si l'erreur n° 6 se produit, la pause suivante est de 300 secondes, c'est-à-dire 5 minutes.


RIEN N'AIDE.
 
Ah, ouf... il suffit de cocher la case "autoriser le commerce" ! !!! :)))))))))

non, pas seulement - c'est aussi une vérification pour voir si un autre expert est en train de négocier ;)
 
А кстати, у меня такой фичи тоже нету. Может в этом и кроется тайна?

non, ce n'est certainement pas le mystère =)

Je l'ai fait avant chaque opération :
- Contrôle IsConnected
- vérifier IsTradeAllowed
- si un autre conseiller expert négocie, attendre (sémaphore)
- pause obligatoire de 60 secondes (si nécessaire, c'est-à-dire si personne n'a négocié pendant une longue période, il n'y a pas de pause).
- Mettre à jour tous les prix (qui ont pu changer pendant la pause)
- et seulement ensuite essayer de faire du commerce.

Si l'erreur n° 6 se produit, la pause suivante est de 300 secondes, c'est-à-dire 5 minutes.

Je vois... :( C'est dommage, le travail est si lent à cause de ça...


RIEN N'AIDE.
 
Il est très probable qu'un PROCESSUS s'endorme ou qu'une brève perte de communication déclenche un drapeau qui ne sera plus effacé, car plus aucune commande n'est passée après l'erreur. Seul le redémarrage du terminal est utile.