Je ne te blâme pas, ce n'est pas mon puzzle. J'ai juste trouvé un algorithme similaire, dont j'ai besoin et j'essaie de le terminer, comme j'en ai besoin. https://www.mql5.com/ru/code/9927 Ce que j'ai enlevé, ce que j'ai laissé.
je le veux 0.01,0.01,0.01 ; 0.02,0.02,0.02 ; 0.04,0.04,0.04 ; 0.08,0.08,0.08......
Pouvez-vous me conseiller sur la façon de vérifier si une paire de devises est disponible lors du lancement d'un indicateur ?
Je suis malade et fatigué de me battre avec cet em-ku-el.
Voici le code :
[CODE]
externstring CurrencyPair = "";
string gsSymbol, gsIndiName;
bool bIndicatorError;
...
int start() {
if (StringLen(CurrencyPair) == 0)
gsSymbol = Symbol();
else
gsSymbol = CurrencyPair;
Comment(MarketInfo(gsSymbol, MODE_TRADEALLOWED)); // ЗАКОВЫКА ЗДЕСЬ, это чудо всегда возвращает 0.0000000 при старте терминала. Если же потом открыть свойства индикатора и даже ничего не поправлять в параметрах, то возвращает 1.000000if (!MarketInfo(gsSymbol, MODE_TRADEALLOWED)) {
Alert(gsIndiName, ": Trade is not allowed for symbol [", gsSymbol,"]");
bIndicatorError = true;
return(-1);
}
}
[CODE]
Il existe peut-être un moyen plus facile et plus fiable.
En général, je ne comprends pas comment on peut écrire des programmes dans un langage dont les fonctions de base fonctionnent, puis ne fonctionnent plus.
Pouvez-vous me dire s'il est possible de faire un script avec des paramètres personnalisables ? Je crois avoir vu quelque part un script qui vous demande d'entrer les paramètres lorsque vous le lancez.
sss2019: Pouvez-vous me dire s'il est possible de faire un script avec des paramètres personnalisables ? Je crois avoir vu quelque part un script qui vous demande d'entrer les paramètres lorsque vous le lancez.
Rendre les paramètres externes externes dans le script
double mas[3]={0,0,0};
int q=0;
int w=0;
int z=0;
for (z=OrdersHistoryTotal()-1;z>0; z--)
{
OrderSelect(z, SELECT_BY_POS, MODE_HISTORY);
if (OrderSymbol()==Symbol())
{
if (OrderProfit()>0 || q==3) break;
if (OrderProfit()<0)
{
mas[q]=OrderLots();
q++;
}
}
}
if (mas[0]==lot && mas[1]==lot && mas[2]==lot) w=1;
if (w==1) lot=OrderLots()*2;
En général, je ne comprends pas comment on peut écrire des programmes dans un langage dont les fonctions de base fonctionnent, puis ne fonctionnent plus.
Vous pouvez essayer de transférer une partie des contrôles d'init à start. Vous pouvez également vérifier l'état du terminal, etc.
Je ne te blâme pas, ce n'est pas mon puzzle. J'ai juste trouvé un algorithme similaire, dont j'ai besoin et j'essaie de le terminer, comme j'en ai besoin. https://www.mql5.com/ru/code/9927 Ce que j'ai enlevé, ce que j'ai laissé.
je le veux 0.01,0.01,0.01 ; 0.02,0.02,0.02 ; 0.04,0.04,0.04 ; 0.08,0.08,0.08......
certains le font par le biais d'un tableau
comme ça :
Salut !
Pouvez-vous me conseiller sur la façon de vérifier si une paire de devises est disponible lors du lancement d'un indicateur ?
Je suis malade et fatigué de me battre avec cet em-ku-el.
Voici le code :
Il existe peut-être un moyen plus facile et plus fiable.
En général, je ne comprends pas comment on peut écrire des programmes dans un langage dont les fonctions de base fonctionnent, puis ne fonctionnent plus.
Pouvez-vous me dire s'il est possible de faire un script avec des paramètres personnalisables ? Je crois avoir vu quelque part un script qui vous demande d'entrer les paramètres lorsque vous le lancez.
rendre les paramètres externes externes dans le script
J'ai fait les paramètres
mais pour une raison quelconque, le script n'affiche pas leurs paramètres avant l'exécution.
comme ça :
J'ai fait les paramètres
mais pour une raison quelconque, le script n'affiche pas leurs paramètres avant l'exécution.
0.01, 0.02, 0.04, 0.08, 0.16... J'en ai besoin 0.01,0.01,0.01 ; 0.02,0.02,0.02 ; 0.04,0.04,0.04 ; 0.08,0.08,0.08......
J'ai écrit EXEMPLE... ;)
voici une version plus précise :
En général, je ne comprends pas comment on peut écrire des programmes dans un langage dont les fonctions de base fonctionnent, puis ne fonctionnent plus.