long currChart=ChartFirst();
int i=0;
while(currChart>=0)
{
Print(i,ChartSymbol(currChart)," ID =",currChart);
currChart=ChartNext(currChart); // на основании предыдущего получим новый график
i++;// не забудем увеличить счетчик
}
Merci, c'est ce que j'ai lu (c'est par là que j'ai commencé).
Tout fonctionne dans mon code, mais il y a un problème dans MT4, les graphiques sont en 8, mais ils voient en 7.
Très mauvaise lecture. Probablement comme la lecture forcée à l'école. Je l'ai lu mais rien ne s'est imprimé dans mon cerveau.
Voici un exemple. L'objectif est différent dans ce cas, mais l'énumération des graphiques ouverts ne change pas en fonction de l'objectif de l'énumération.
Ou bien voici le code
/********************Script program start function*******************/voidOnStart()
{
long prevChart = 0;
int i = 0;
do
{
prevChart = ChartNext(prevChart);
ChartSetInteger(prevChart, CHART_BRING_TO_TOP, 0, true);
Sleep(200);
i++;
}
while(prevChart >= 0);
}/*******************************************************************/
Pourquoi l'impression est-elle différente ? Un code différent ?
Combien de graphiques sont ouverts, lesquels ? Symbole, point.
Dépliés/dépliés ?
Alexey Viktorov:
Très mauvaise lecture. Ça devait être comme la lecture forcée à l'école. Je veux dire, je l'ai lu, mais rien ne m'est resté en tête.
Voici un exemple. L'objectif est différent dans ce cas, mais l'énumération des cartes ouvertes ne change pas en fonction de l'objectif de cette énumération.
Ou bien voici le code
La question est supprimée, le problème est résolu en redémarrant le terminal
Aidez-moi à éviter les tableaux hors limites dans ce code.
double GetExtremumZigZagPriceHigh(string symbol="",ENUM_TIMEFRAMES timeframe=0,int extremum_number=0)//,int depth=12,int deviation=5,int backstep=3)
{
if(symbol=="") //Если symbol = "" , то..
symbol=Symbol(); //Присвоить переменной symbol значение текущего символа на графике.//Объявить необходимые переменные:double price[]; //Цена экстремума выбранная из массива таймсерии.//datetime time[];int count; //Счетчик цикла.int bars_quantity=1000; //Количество баров на графике.int extremum_count=0; //Счетчик экстремумов.ArraySetAsSeries(price,true); //Устанавить флаг, чтобы индексация массива производилась как в таймсериях.CopyBuffer(handle,1,0,bars_quantity,price); //Скопировать в динамический массив price[] цены указанного количества баров.for(count=1; count<bars_quantity; count++) //Запустить цикл, который будет бежать по каждому бару.
{
if(price[count]!=0) //Если Цена Зигзага есть, то есть не равна нулю, то..
{
extremum_count++; //Увеличить счетчик экстремумов на одну единицу.if(extremum_count>extremum_number) //Если счетчик экстремумов превысил значение указанного номера экстремума, то..return(price[count]); //Вернуть эту цену.
}
}
//Print("GetExtremumZigZagPrice(): Экстремум ЗигЗага ",extremum_number," не найден"); //А до тех пор, пока ЗигЗаг не показывает цену,return(0); //Печатать Print, и возвращать ноль.
}
Nombre d'éléments du tableau copiés ou -1 en cas d'erreur .
Note
Lors de la demande de données à partir d'un indicateur, si les séries chronologiques demandées n'ont pas encore été construites ou doivent être téléchargées à partir du serveur, la fonction renvoie immédiatement -1, mais le processus de chargement/construction lui-même est lancé.
Lorsque vous demandez des données à l'Expert Advisor ou à un script, le chargement depuis le serveur sera initié si le terminal ne dispose pas de ces données localement, ou la construction des séries temporelles requises commencera si les données peuvent être construites à partir de l'historique local, mais qu'elles ne sont pas encore prêtes. La fonction renvoie la quantité de données qui sera prête à l'expiration du délai.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Lisez attentivement la documentation et le code d'exemple. Votre boucle n'est pas organisée correctement.
Ne me dites pas que les boucles for et while fonctionnent de la même façon. Ce n'est pas le problème, ce sont les lignes en surbrillance.Merci, je l'ai lu (c'est par là que j'ai commencé).
Tout fonctionne dans mon code, mais il y a un problème dans MT4, les graphiques sont en 8, mais ils voient en 7.
Peu probable. Combien de fois ai-je blâmé la plate-forme, il s'avère toujours que j'avais tort moi-même.
Pourquoi n'essayez-vous pas ça ?
Pourquoi n'essayez-vous pas ça ?
C'est la même chose.
Pourquoi l'impression est-elle différente ? Un code différent ?
Combien de graphiques sont ouverts, lesquels ? Symbole, point.
Dépliés/dépliés ?Merci, c'est ce que j'ai lu (c'est par là que j'ai commencé).
Tout fonctionne dans mon code, mais il y a un problème dans MT4, les graphiques sont en 8, mais ils voient en 7.
Très mauvaise lecture. Probablement comme la lecture forcée à l'école. Je l'ai lu mais rien ne s'est imprimé dans mon cerveau.
Voici un exemple. L'objectif est différent dans ce cas, mais l'énumération des graphiques ouverts ne change pas en fonction de l'objectif de l'énumération.
Ou bien voici le code
Pourquoi l'impression est-elle différente ? Un code différent ?
Combien de graphiques sont ouverts, lesquels ? Symbole, point.
Dépliés/dépliés ?Très mauvaise lecture. Ça devait être comme la lecture forcée à l'école. Je veux dire, je l'ai lu, mais rien ne m'est resté en tête.
Voici un exemple. L'objectif est différent dans ce cas, mais l'énumération des cartes ouvertes ne change pas en fonction de l'objectif de cette énumération.
Ou bien voici le code
La question est supprimée, le problème est résolu en redémarrant le terminal
Aidez-moi à éviter les tableaux hors limites dans ce code.
C'est cet endroit qui est en train d'être jeté.
CopyBufferВозвращаемое значение
Nombre d'éléments du tableau copiés ou -1 en cas d'erreur .
Note
Lors de la demande de données à partir d'un indicateur, si les séries chronologiques demandées n'ont pas encore été construites ou doivent être téléchargées à partir du serveur, la fonction renvoie immédiatement -1, mais le processus de chargement/construction lui-même est lancé.
Lorsque vous demandez des données à l'Expert Advisor ou à un script, le chargement depuis le serveur sera initié si le terminal ne dispose pas de ces données localement, ou la construction des séries temporelles requises commencera si les données peuvent être construites à partir de l'historique local, mais qu'elles ne sont pas encore prêtes. La fonction renvoie la quantité de données qui sera prête à l'expiration du délai.
Vérifiez si vous avez bars_quantity ici