Erreurs, bugs, questions - page 143

 
pronych:

Tout d'abord, nous vérifions combien OrderCalcMargin(...) est nécessaire, puis nous le comparons avec ce que AccountInfoDouble( ACCOUNT_FREEMARGIN ) possède. D'après ce que j'ai compris.

Et l'environnement de marché, ce sont les propriétés de l'instrument telles que l'offre, la demande, le volume... et dans ce cas, la garantie requise. Corrigez-moi si je me trompe.

bool  OrderCalcMargin(
   ENUM_ORDER_TYPE       action,           // тип ордера
   string                symbol,           // имя символа
   double                volume,           // объем
   double                price,            // цена открытия
   double&               margin            // переменная для получения значения маржи
   );

Eh bien, il y a un prix dans les paramètres de la fonction, c'est-à-dire que lors de l'ouverture d'un ordre par le marché, nous spécifions le montant ou l'offre. Par conséquent, l'environnement du marché est autre chose.

Et, en fait, ce qui est intéressant n'est même pas ce qu'est ce mystérieux "environnement de marché" qui n'inclut pas les positions ouvertes et les ordres en attente (et ce devrait être l'environnement de marché...) .

Mais si un ordre en attente est placé au Championnat. Au moment où il a été réglé, selon cette fonction, nous vérifions que tout va bien. Mais le prix va à l'encontre de la position et atteint l'ordre en attente, mais il n'y a pas assez d'argent pour l'ouvrir, le serveur nous envoie un message... (il supprime l'ordre en attente) et, par conséquent, nous obtenons l'erreur "pas assez d'argent". Sera-t-elle considérée comme une erreur ?

 
Dmitriy2:

Eh bien, il y a un prix dans les paramètres de la fonction, c'est-à-dire que lorsqu'on ouvre un ordre sur le marché, on spécifie le montant ou l'offre. Par conséquent, l'environnement du marché est autre chose...

Et, en fait, ce qui est intéressant n'est même pas ce qu'est ce mystérieux "environnement de marché" qui n'inclut pas les positions ouvertes et les ordres en attente(et ce devrait être l'environnement de marché...) .

Mais si un ordre en attente est placé au Championnat. Au moment où il a été réglé, selon cette fonction, nous vérifions que tout va bien. Mais le prix va à l'encontre de la position et atteint l'ordre en attente, mais il n'y a pas assez d'argent pour l'ouvrir, le serveur nous envoie un message... (il supprime l'ordre en attente) et, par conséquent, nous obtenons l'erreur "pas assez d'argent". Cela sera-t-il considéré comme une erreur ?

L'environnement du marché est tout, pardonnez la tautologie, qui entoure, excusez-moi, votre outil de travail. Dans ce cas.

La deuxième question est un mystère. Je ne répondrai pas. Je comprends que le temps est compté, mais essayez de simuler sur votre compte démo sur m1 avec des stops fermés. ou attendez les commentaires.

Désolé, je ne peux pas vous aider ici, je ne travaille pas avec des ordres en attente dans le code.

 

Cependant, vous pouvez le vérifier dans le testeur. Oui, comme le dit le proverbe, "ne crains pas, mais fais ce qu'il faut".

Bonne chance avec ça.

 

Ce qui est là pour simuler, le test produit parfois une erreur qu'il n'y a pas d'argent dans cette situation particulière. Disons qu'il est possible de co-optimiser pour qu'une telle situation ne se produise pas... mais pourquoi cela serait-il nécessaire... Vous pouvez être disqualifié du championnat. Et calculer à chaque fois ce qu'il adviendra d'un score avec plusieurs positions et plusieurs retards est déraisonnable tant du point de vue des ressources que de la logique....

Je ne comprends pas ce qu'ils veulent dire par là, pourquoi ils l'ont écrit... Je ne comprends pas pourquoi ils ne l'ont pas écrit pour chaque fonction... Par exemple, sur la structure de la demande de transaction, vous pourriez écrire "fonctionne avec l'environnement de marché actuel"... :) un sens secret ici... :)

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5
 
2003.01.02 09:54:30 Network '680408' : l'autorisation sur MetaQuotes-Demo a échoué (serveur invalide ou faux)


après avoir enregistré un nouveau compte de démonstration, je ne peux pas me connecter avec cette erreur. qu'est-ce que cela signifie et que puis-je faire ?

 
Dmitriy2:

Ce qui est là pour simuler, le test produit parfois une erreur qu'il n'y a pas d'argent dans cette situation particulière. Supposons que vous puissiez l'optimiser pour que cette situation ne se produise pas... mais pourquoi cela serait-il nécessaire... Vous pouvez penser que ce sera un motif de disqualification du championnat. Et il n'est pas raisonnable du point de vue des ressources et de la logique de calculer à chaque fois ce qui va se passer sur le compte avec plusieurs positions et plusieurs reports....

Je ne comprends pas ce qu'ils veulent dire par là, pourquoi ils l'ont écrit... Je ne comprends pas pourquoi ils ne l'ont pas écrit pour chaque fonction... Par exemple, vous pourriez écrire "fonctionne avec l'environnement de marché actuel" sur la structure de demande de commerce... :) une sorte de signification secrète... :)

Il a toujours été difficile de gérer les pauses. dans mt4 aussi. peut-être que vous devriez essayer de vous en débarrasser, par exemple faire des pauses virtuelles (il suffit de les stocker dans des variables et de les ouvrir lorsque le prix a traversé le marché). Le temps est important maintenant.

Et l'environnement, tel que je l'ai déjà formulé dans mon cerveau, est approximativement le suivant : " des paramètres qui sont modifiés ou non en fonction de la situation du marché, applicables à un symbole spécifique ou à leur groupe ". Est-ce que ça a plus de sens ? Vous pourriez écrire simplement à partir du marché

 
nickbilak:
2003.01.02 09:54:30 Network '680408' : l'autorisation sur MetaQuotes-Demo a échoué (serveur invalide ou faux)


après avoir enregistré un nouveau compte de démonstration, je ne peux pas me connecter avec cette erreur. qu'est-ce que cela signifie et que puis-je faire ?


vérifiez l'heure sur votre ordinateur.
 
Lizar:
vérifier l'heure sur votre ordinateur

Merci, ça a marché :)

C'était sur mon portable, le bios a été réinitialisé récemment et je n'ai pas vu l'heure.

ils auraient pu l'imprimer dans le journal au lieu de "serveur invalide ou faux".

 
Dmitriy2:

Mais si, par contre, un report est prévu dans le championnat. Au moment où il a été réglé, selon cette fonction, nous vérifions que tout est normal. Mais le prix va à l'encontre de la position, atteint l'ordre en attente, mais il n'y a pas assez d'argent pour l'ouvrir, le serveur envoie ...(supprime l'ordre en attente), respectivement, une erreur "pas assez d'argent" se produit. Cela sera-t-il considéré comme une erreur ?
De telles erreurs isolées n'affecteront pas le sort de votre EA dans le championnat. Mais, s'il n'y a pas d'argent, il fera une nouvelle tentative stupide pour ouvrir une position générant des gigaoctets dans le journal, comme cela s'est produit lors des championnats précédents, puis il sera disqualifié.
 
nickbilak:

ils auraient pu imprimer ceci dans le journal au lieu de "serveur invalide ou faux".

C'est à l'heure du journal que je faisais attention. Le nom de l'erreur est hilarant.