Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 420
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Existe-t-il une fonction qui renvoie le type de variable ?
Par exemple, vous écrivez.
int a=10 ;
puis vous écrivez :
functia(a) ;
et il est dit : INT !
:)
string functia(double a) { return "DABLE !"; } // aussi de manière inattendue
Existe-t-il une fonction qui renvoie un type de variable ?
Par exemple, vous écrivez.
int a=10 ;
puis vous écrivez :
functia(a) ;
et il est dit : INT !
:)
De l'aide :
C'est beaucoup plus simple. Créez un bouton d'affichage (ou utilisez l'un des boutons existants). Plus loin dans la pression - tous les objets nécessaires sont mis drapeau de visibilité sur toutes les TF. Lorsque le bouton est relâché, tous les objets sont configurés pour afficher la propriété sur toutes les TF (ou nécessaire si nécessaire). Il n'est pas nécessaire de supprimer/réorganiser quoi que ce soit. La seule chose à faire est de redessiner le graphique après cette opération.
Propriété d'objet OBJPROP_TIMEFRAMES.
Pouvez-vous me dire comment récupérer les données de l'indicateur dans un tableau ? C'est-à-dire qu'il est clair que je dois déclarer un tableau
double num_array[] ;
Je ne sais pas trop quoi faire ensuite...
num_array[0] = iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i) ; // le tableau avec l'indice [0] est égal à MA, mais si nous changeons l'indice en [1], alors il s'avère que num_array[1] est égal
les mêmes données de l'indicateur que num_array[0]. Cela ne devrait pas être le cas. Le tableau doit être rempli de manière séquentielle. Tout ce que je peux faire, c'est de diviser la journée en 24.
heures, déclarez un tableau à deux dimensions et attribuez un index à chaque heure avec sa propre chaîne etc.....
Peut-être existe-t-il un moyen plus simple ou moins salissant ?
Pouvez-vous me dire comment récupérer les données de l'indicateur dans un tableau ? C'est-à-dire qu'il est clair que je dois déclarer un tableau
double num_array[] ;
Je ne sais pas trop quoi faire ensuite...
num_array[0] = iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i) ; // le tableau avec l'index [0] est égal à MA, mais si nous changeons l'index en [1], alors il s'avère que num_array[1] est égal
les mêmes données de l'indicateur que num_array[0]. Cela ne devrait pas être le cas. Le tableau doit être rempli de manière séquentielle. Tout ce à quoi je pense, c'est de diviser la journée en 24.
heures, déclarez un tableau à deux dimensions et attribuez un index à chaque heure avec sa propre chaîne etc.....
Peut-être existe-t-il un moyen plus simple ou moins salissant ?
Je vois ça comme ça :
Je le vois de cette façon :
Oh, je peux définir le nombre maximum d'index dans le tableau viaArrayResize et les faire passer dans la boucle. Merci beaucoup, mais alors il y a une question, quand tous les index sont remplis avec les données de l'indicateur, dois-je les effacer parArrayFree, ou est-ce qu'il va se réécrire lui-même ? ou après le 24, tout va s'arrêter ? Désolé pour la question directe, mais les tableaux sont une sorte de cheval noir aux fonctions inconnues.
Oh, je peux utiliserArrayResize pour définir le nombre maximum d'index dans le tableau et les faire passer dans la boucle. Merci beaucoup, mais alors il y a une question, quand tous les index sont remplis avec les données de l'indicateur, dois-je les effacer parArrayFree, ou est-ce qu'il va se réécrire lui-même ? ou après le 24, tout va s'arrêter ? Désolé pour la question directe, mais les tableaux sont une sorte de cheval noir aux fonctions inconnues.
Tableau = un ensemble de variables simples alignées sur une rangée pour une référence facile à leur index. L'index est une variable entière permettant d'accéder aux éléments du tableau par numéro afin d'organiser une boucle. Index = compteur de numéros. ArrayFree = destruction de tableaux - comme un bulldozer sur des maisons délabrées. Mais il peut être restauré à nouveau avec ArrayResize. Eh bien ,ArrayResize est une clôture autour d'un tableau résidentiel. Le nôtre est ici, mais les étrangers sont derrière la clôture, et il est interdit d'y entrer. Vous pouvez saisir chaque maison plusieurs fois (attribuer une nouvelle valeur à un élément du tableau). Un tableau est très simple et pratique pour de nombreux usages. Et ceux qui ont peur des tableaux - ceux ... Il est donc préférable de s'y attaquer.
//+------------------------------------------------------------------+ //| Проверка массива | //+------------------------------------------------------------------+ #property strict int m[10]; int n; void OnStart() { ArrayInitialize(m,7); Вывод(); // Заполнить семерками ArrayResize(m,7); Вывод(); // Удалить 3 последних элемента ArrayResize(m,9); Вывод(); // Увеличить размер m[1]=1; m[7]=1; Вывод(); // Изменить 2 элемента for(n=0; n<9; n++) m[n]=n*n; Вывод(); // Заполнить квадратами номеров ArrayCopy(m,m,0,2,7); Вывод(); // Копирование со сдвигом ArrayResize(m,ArraySize(m)-2); Вывод(); // Удалить 2 последних элемента } void Вывод() { string s=""; for(n=0; n<ArraySize(m); n++) s+=" " + string(m[n]); Alert(ArraySize(m), ":", s); }
Essayez d'exécuter un script comme celui-ci - et entraînez-vousDe la référence :