Questions d'un "mannequin - page 28

 

Pour le moment, le modèle (.tpl) ne peut pas être défini dans le mode de visualisation dans le testeur. Peut-on le faire de manière programmatique en se référant aux fonctions ChartSetInteger(), ChartSetDouble(), ChartsetString()?

Lorsque vous essayez de définir l'apparence du graphique en mode visualisation, une erreur apparaît dans le journal :

Est-ce une limitation ou est-ce que je fais quelque chose de mal ? Il n'y a pas d'erreur si je vérifie l'opération sur le graphique en mode temps réel.

 
tol64:

Lorsque vous essayez d'ajuster l'apparence du graphique en mode visualisation, il y a une erreur dans le journal de bord :

Est-ce une limitation ou est-ce que je fais quelque chose de mal ? Il n'y a pas d'erreur si je vérifie l'opération sur le graphique en mode direct.

on vous a donné une erreur spécifique dans un code spécifique, voire une ligne spécifique. cherchez-la.
 
tol64:
Si vous le voulez bien, pouvez-vous donner un exemple simple ? Parce que ce n'est pas très clair pour moi "le lot peut être exécuté sur la quantité disponible"...

Par exemple, vous voulez acheter 1 000 actions de Cheburashka & Co à, disons, 6 livres par action.

Vous passez un ordre en attente pour 1 000 actions à ce prix et vous attendez (dans l'ordre, à l'aide de ENUM_ORDER_TYPE_FILLING, vous spécifiez la politique souhaitée).

Supposons qu'au moment où l'ordre doit être exécuté, il n'y ait que 600 actions disponibles, alors selon les paramètres de l'ordre, les options suivantes sont possibles :

1) L'ordre prendra les 600 actions disponibles sur le marché, et le serveur commercial exécutera automatiquement l'ordre pour le volume manquant (les 400 actions manquantes peuvent être définies en utilisant ORDER_VOLUME_CURRENT) ;

2. l'ordre prendra les 600 actions restantes du marché, et le serveur signalera brutalement que 400 actions n'ont pas pu être prises (dans ce cas, le trader/MTS décidera du sort du volume restant).

3 L'ordre est soit annulé, soit le serveur attend qu'il y ait un volume de 1000 actions (je suppose que c'est la deuxième option, mais il faudra la clarifier).

 
Interesting:

...

Merci, très clair. C'est la situation/action qui était nécessaire à la compréhension.

sergeev :

on vous a donné une erreur spécifique dans un code spécifique, voire dans une ligne spécifique. cherchez-la.

C'est comme ça que ça se passe en premier lieu, c'est pourquoi je m'en occupe. J'ai bien précisé qu'il n'y a pas d'erreur en mode temps réel. En mode visualisation, la largeur du graphique en pixels n'est pas détectée et il y a donc une erreur de division par zéro dans le journal. Alors je vais essayer de poser la question différemment...

Pourquoi n'y a-t-il pas d'erreur en mode temps réel, mais une erreur dans le testeur en mode visualisation ?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - Документация по MQL5
 

tol64:

Pourquoi n'y a-t-il pas d'erreur en temps réel, mais une erreur dans le testeur en mode visualisation ?

Et personne ne garantit que la visualisation fonctionne comme il se doit, il s'agit de la version de la batterie (qui est activement en cours de finalisation) ......

Si vous voulez, vous pouvez bien sûr écrire sur la SD, mais s'il s'agit vraiment d'un défaut de courant dans le visualiseur, il n'est pas sûr qu'il soit réparé rapidement (il y a probablement d'autres problèmes là aussi).

 
Interesting:

Et personne ne garantit que la visualisation fonctionne comme il se doit, il s'agit de la version de la batterie (qui est activement en cours de finalisation) ......

Vous pouvez bien sûr écrire sur la carte SD si vous le souhaitez, mais s'il s'agit vraiment d'un défaut actuel du visualiseur, il n'est pas certain qu'il sera corrigé rapidement (il y a probablement d'autres problèmes là aussi).

Je pense que sur cette question, il n'est pas encore utile d'écrire à SD, puisque les développeurs vont probablement implémenter cette fonctionnalité. Ils font tout par priorité de tâche. Oui, je sais que la bêta n'est pas seulement le visualiseur, mais aussi la plateforme elle-même. Par manque d'expérience, j'ai décidé de demander aux personnes les plus expérimentées de la communauté.
 
Le visualiseur, comme l'ensemble de la plateforme, est en version depuis longtemps. Ne confondez pas le processus constant de publication de nouvelles versions avec le statut de bêta.

Notre méthode de travail consiste en une amélioration constante avec des constructions fréquentes.
 
Renat:
Notre méthode de travail consiste à nous améliorer en permanence grâce à des constructions fréquentes.
Quand aura lieu la prochaine ?
 
Renat:
Visualisotor, comme l'ensemble de la plate-forme, est en cours de libération depuis longtemps. Ne confondez pas le processus continu de publication de nouvelles versions avec le statut de bêta.

Notre méthode de travail est l'amélioration continue avec des constructions fréquentes.

Oh, j'avais tort. De nombreuses personnes ont déjà la possibilité de négocier sur un compte réel via MT5. Pas toutes (c'est pourquoi je me suis trompé), mais il y a déjà des options parmi lesquelles choisir. )) Vous pouvez donc écrire au service desk à propos de l'erreur susmentionnée. Mais je ne suis pas sûr que ce ne soit pas mon erreur. Et vous devriez écrire à SD je le pense, lorsque vous êtes sûr que le problème se situe à un niveau global (côté terminal).

Exemple :

void Set_Shift_Chart()
{
   handle = ChartID();
   width  = (ENUM_CHART_PROPERTY_INTEGER)ChartGetInteger(handle,CHART_WIDTH_IN_PIXELS);

   dbl_x = x;
   dbl_width = width;

   shift = ((dbl_x/dbl_width)*100)+3;     // Вот в этой строке возникает ошибка во время тестирования ТОЛЬКО в режиме визуализации
   
   switch(Color_Scheme)
     {
      case gray:
         Set_Template(handle,true,true,shift,CHART_CANDLES,false,true,true,
                      clrBlack,clrSilver,clrRed,clrWhiteSmoke,C'34,41,45',clrChartreuse,clrGray,clrGreenYellow,clrWhiteSmoke,clrDarkSlateGray); break;
      case red:
         Set_Template(handle,true,true,shift,CHART_CANDLES,false,false,true,
                      clrBlack,clrSilver,clrRed,clrWhiteSmoke,C'37,37,37',clrLemonChiffon,clrOrangeRed,clrGreenYellow,clrKhaki,C'132,0,3'); break;
     }
}

Sur quoi est-ce que je me trompe ?

 
tol64:

Oh, j'avais tort. De nombreuses personnes ont déjà la possibilité de négocier sur un compte réel via MT5. Pas toutes (c'est pourquoi je me suis trompé), mais il y a déjà des options parmi lesquelles choisir. )) Vous pouvez donc écrire au service desk à propos de l'erreur susmentionnée. Mais je ne suis pas sûr que ce ne soit pas mon erreur. Et vous devriez écrire à SD je le pense, lorsque vous êtes sûr que le problème se situe à un niveau global (côté terminal).

Exemple :

Sur quoi est-ce que je me trompe ?

Il est logique de supposer que 0 est renvoyé au lieu du nombre de pixels :)

idth  = (ENUM_CHART_PROPERTY_INTEGER)ChartGetInteger(handle,CHART_WIDTH_IN_PIXELS);

Mettez un contrôle sur le résultat de cette ligne et gérez la division par 0.

Et pour ce qui est de renvoyer 0 au lieu des pixels, c'est direct à SD...