Pas vraiment, même si cela sera utile pour le test. Je veux que l'indicateur soit attaché au graphique en ligne après que l'EA y soit attaché. Est-ce possible ?
Je ne l'ai pas essayé. En théorie, il est peu probable que cela fonctionne. C'est peut-être la raison pour laquelle je ne l'ai pas encore essayé. Cela se présente comme suit : à chaque fois que l'EA est chargé, le modèle est appliqué, puis l'EA est lancé à nouveau. Et tout se répète, le modèle est appliqué, une nouvelle copie de l'EA est lancée et ainsi de suite.
Il serait peut-être préférable, si vous le voulez tellement que vous avez mal aux dents, de créer un script qui applique le modèle avec l'EA et les indicateurs.
Merci à tous pour votre participation. Je vais essayer d'appeler ChartApplyTemplate() dans le terminal global et d'attribuer une valeur à une variable, mais avant d'appeler ChartApplyTemplate(), je vais vérifier sa valeur.
Bonjour, aidez-moi à résoudre un problème, j'ai des difficultés. J'ai besoin de prescrire dans le code de l'EA, travaillant sur le graphique actif du symbole 1, de dessiner des lignes horizontales dans un autre graphique, NON actif, du symbole 2. Cela signifie que le graphique du symbole 2 est ouvert à l'écran. Par exemple, pour le deuxième symbole SUI30, j'ai fait ceci :
novichok2018: Bonjour, aidez-moi à résoudre un problème, je n'y arrive pas. Dans le code du conseiller expert, qui fonctionne sur le graphique actif du symbole 1, je dois prescrire le dessin de lignes horizontales dans un autre graphique, NON actif, du symbole 2. Cela signifie que le graphique du symbole 2 est ouvert à l'écran. Par exemple, pour le deuxième symbole SUI30, j'ai fait ceci : mais le méta-éditeur donne un message de conversion implicite de 'string' en 'number'. Qu'est-ce que je fais de mal, et comment le résoudre ? Merci.
Nous devons utiliser une autre surcharge de fonction
boolObjectCreate(
long chart_id, // идентификатор графика string object_name, // имя объекта ENUM_OBJECT object_type, // тип объекта int sub_window, // индекс окна datetime time1, // время первой точки привязки double price1, // цена первой точки привязки
...
datetime timeN=0, // время N-точки привязки double priceN=0// цена N-точки привязки
);
Et cet identifiant de graphique devrait être trouvé en essayant d'énumérer les graphiques à partir de ChartFirst() ;
longChartNext(
long chart_id // идентификатор графика
);
Exemple tiré de la documentation
//--- переменные для идентификаторов графиков long currChart,prevChart=ChartFirst();
int i=0,limit=100;
Print("ChartFirst = ",ChartSymbol(prevChart)," ID = ",prevChart);
while(i<limit)// у нас наверняка не больше 100 открытых графиков
{
currChart=ChartNext(prevChart); // на основании предыдущего получим новый график if(currChart<0) break; // достигли конца списка графиков Print(i,ChartSymbol(currChart)," ID =",currChart);
prevChart=currChart;// запомним идентификатор текущего графика для ChartNext()
i++;// не забудем увеличить счетчик
}
Nous devons utiliser une autre surcharge de fonction
Et cet identifiant de graphique devrait être trouvé en essayant d'énumérer les graphiques à partir de ChartFirst() ;
Un exemple tiré de la documentation
Malheureusement, mes tentatives de sortie n'ont rien donné. J'ai simplement ajouté les erreurs liées àChartNext() aux messages existants. Je ne comprends pas le but.
Malheureusement pour moi, essayer de comprendre n'a mené à rien. J'ai juste ajouté les erreurs liées à l'application ChartNext() aux messages existants. Je ne comprends pas le but.
Vous pouvez utiliser un ID de graphique constant pour faciliter les choses. Écrire un script
Print(ChartID());
Exécutez-le sur le graphique sur lequel vous voulez dessiner ces lignes. Ensuite, écrivez cette valeur dans la fonction comme l'ID du graphique.
Et du côté positif, l'exemple de la documentation, ce n'est pas une fonction toute faite, comme si on la prenait et qu'on l'utilisait. Il est nécessaire de vérifier le symbole et la période dans la boucle. Si le bon est trouvé, alors on sort de la boucle et on utilise l'identifiant obtenu.
il existe une constante dans l'inline OPENCL cl_ et elle est égale à #define CL_DBL_MAX 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0 en revérifiant le degré de deux dans 1024 obtenu. 2^1024 = 179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216 Et en dessous, il y a le nombre de pi
Vous pouvez utiliser un identifiant de graphique constant pour vous faciliter la tâche. Écrire un script
Exécutez-le sur le graphique sur lequel vous voulez dessiner ces lignes. Ensuite, écrivez cette valeur dans la fonction comme ID du graphique.
Et du côté positif, l'exemple de la documentation n'est pas une fonction toute faite, il suffit de la prendre et de l'utiliser. Il est nécessaire dans la boucle de vérifier le symbole et la période. Si le bon est trouvé, alors on sort de la boucle et on utilise l'identifiant obtenu.
Merci. Tout a fonctionné avec le scénario, il dessine les lignes.
Pas vraiment, même si cela sera utile pour le test. Je veux que l'indicateur soit attaché au graphique en ligne après que l'EA y soit attaché. Est-ce possible ?
Je ne l'ai pas essayé. En théorie, il est peu probable que cela fonctionne. C'est peut-être la raison pour laquelle je ne l'ai pas encore essayé. Cela se présente comme suit : à chaque fois que l'EA est chargé, le modèle est appliqué, puis l'EA est lancé à nouveau. Et tout se répète, le modèle est appliqué, une nouvelle copie de l'EA est lancée et ainsi de suite.
Il serait peut-être préférable, si vous le voulez tellement que vous avez mal aux dents, de créer un script qui applique le modèle avec l'EA et les indicateurs.
Salut,
Comment puis-je créer des barres en utilisant 30 ticks de chaque PERIOD_M1?
Je veux créer un nouveau personnage pour mon analyse.
Bonjour, aidez-moi à résoudre un problème, je n'y arrive pas. Dans le code du conseiller expert, qui fonctionne sur le graphique actif du symbole 1, je dois prescrire le dessin de lignes horizontales dans un autre graphique, NON actif, du symbole 2. Cela signifie que le graphique du symbole 2 est ouvert à l'écran. Par exemple, pour le deuxième symbole SUI30, j'ai fait ceci : mais le méta-éditeur donne un message de conversion implicite de 'string' en 'number'. Qu'est-ce que je fais de mal, et comment le résoudre ? Merci.
Nous devons utiliser une autre surcharge de fonction
Et cet identifiant de graphique devrait être trouvé en essayant d'énumérer les graphiques à partir de ChartFirst() ;
Exemple tiré de la documentation
Nous devons utiliser une surcharge de fonction différente
Merci, j'essaie de comprendre.
Nous devons utiliser une autre surcharge de fonction
Et cet identifiant de graphique devrait être trouvé en essayant d'énumérer les graphiques à partir de ChartFirst() ;
Un exemple tiré de la documentation
Malheureusement, mes tentatives de sortie n'ont rien donné. J'ai simplement ajouté les erreurs liées àChartNext() aux messages existants. Je ne comprends pas le but.
Malheureusement pour moi, essayer de comprendre n'a mené à rien. J'ai juste ajouté les erreurs liées à l'application ChartNext() aux messages existants. Je ne comprends pas le but.
Vous pouvez utiliser un ID de graphique constant pour faciliter les choses. Écrire un script
Exécutez-le sur le graphique sur lequel vous voulez dessiner ces lignes. Ensuite, écrivez cette valeur dans la fonction comme l'ID du graphique.
Et du côté positif, l'exemple de la documentation, ce n'est pas une fonction toute faite, comme si on la prenait et qu'on l'utilisait. Il est nécessaire de vérifier le symbole et la période dans la boucle. Si le bon est trouvé, alors on sort de la boucle et on utilise l'identifiant obtenu.
il existe une constante dans l'inline OPENCL cl_ et elle est égale à #define CL_DBL_MAX 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0 en revérifiant le degré de deux dans 1024 obtenu. 2^1024 = 179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216 Et en dessous, il y a le nombre de pi
après
#define CL_M_PI 3.141592653589893115998
3.141592653589793238462643383279502884197169
expliquer pourquoi ? ???
Vous pouvez utiliser un identifiant de graphique constant pour vous faciliter la tâche. Écrire un script
Exécutez-le sur le graphique sur lequel vous voulez dessiner ces lignes. Ensuite, écrivez cette valeur dans la fonction comme ID du graphique.
Et du côté positif, l'exemple de la documentation n'est pas une fonction toute faite, il suffit de la prendre et de l'utiliser. Il est nécessaire dans la boucle de vérifier le symbole et la période. Si le bon est trouvé, alors on sort de la boucle et on utilise l'identifiant obtenu.
Merci. Tout a fonctionné avec le scénario, il dessine les lignes.