Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 782
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
J'ai l'idée d'écrire une fonction qui prend et déplace un tableau. La question est de savoir comment faire pour que cette fonction détermine elle-même quel type de tableau est unidimensionnel ou bidimensionnel, de sorte que je ne doive pas spécifier dans les arguments à chaque fois que le tableau est bidimensionnel ou régulier. En même temps, je veux appliquer un modèle, de sorte que je n'ai pas à spécifier le type du tableau.
Comment puis-je faire en sorte de ne pas avoir à spécifier le type de tableau ?
Ne pas surcharger :
Une surcharge de travail :
La deuxième dimension peut-elle être dynamique ?
Ce n'est pas dynamique, c'est juste écrit comme un argument reçu, il suffit de mettre des crochets.
Comment puis-je implémenter dans une boucle (ou d'une autre manière) l'énumération des variantes de conditions possibles ?
Par exemple, il existe 2 indicateurs MA et MACD, c'est-à-dire qu'ils représentent 3 variantes de conditions possibles :
1 option - if(iMA ...) {...} ;
2ème scénario - if(iMACD ...) {...} ;
variante 3 - if(iMA ... iMACD ...) {...} ;
Il est facile de combiner des paramètres d'entrée, mais comment combiner des conditions ? Ceci est particulièrement utile s'il y a plus de deux indicateurs ou formules.
Donnez des liens vers des exemples si possible
Comment implémenter dans une boucle (ou d'une autre manière) l'énumération des variantes de conditions possibles ?
Si je comprends bien, la réponse se trouve dans le sujet.
Bonjour, encore une fois, je ne comprends pas quelque chose d'évident.
Alors comment passer un tableau à une fonction après tout ?
Erreurs :
']' - expression attendue
b' - la conversion des paramètres n'est pas autorisée
Supposons que je sache comment éliminer la première erreur :
Func(b[3]);
Mais alors quoi, seul le troisième élément sera passé ? Cela n'a aucun sens.
Comment puis-je transmettre le tableau dans son ensemble ?
Merci.
Bonjour, encore une fois, je ne comprends pas quelque chose d'évident.
Alors comment passer un tableau à une fonction après tout ?
Erreurs :
']' - expression attendue
b' - la conversion des paramètres n'est pas autorisée
Supposons que je sache comment éliminer la première erreur :
Mais alors quoi, seul le troisième élément sera passé ? Cela n'a aucun sens.
Comment puis-je transmettre le tableau dans son ensemble ?
Merci.
Veuillez expliquer le mécanisme du début variable
Ce lien semble contenir des informationshttps://www.mql5.com/ru/docs/basis/function/events, mais soit je ne les comprends pas, soit je ne les ai pas trouvées. Je n'arrive pas à comprendre quelle est la valeur par défaut au départ et comment elle change au fur et à mesure des cycles des indicateurs
Par exemple, je sais que return() dans la fonction OnCalculate() affecte la valeur de retour à la variable prev_calculated et qu'elle sera utilisée dans les calculs lors du prochain appel de OnCalculate(), c'est-à-dire au prochain tick.
Veuillez décrire avec les mêmes mots simples le mécanisme de la variable commencer à l'intérieur de la fonction OnCalculate()
Bon après-midi.
Pouvez-vous me dire pourquoi la fonction OnTick n'écrit pas de données dans le fichier en utilisant ce code :
//=== écrire les données dans le fichier ===
h1=FileOpen("test_bar.csv",FILE_CSV|FILE_WRITE|FILE_READ,",") ;
FileSeek(h1, 0, SEEK_END) ;
FileWrite(h1, TimeToStr(Time[1],TIME_DATE|TIME_MINUTES),i,Open[1],High[1],Low[1],Close[1], Parabola57Up, ") ;
FileClose(h1) ;
Et ça, c'est pendant les tests d'histoire. Lorsque le conseiller expert fonctionne en ligne, il continue à enregistrer.
Merci.
Comment puis-je implémenter dans une boucle (ou d'une autre manière) l'énumération des variantes de conditions possibles ?
Par exemple, il existe 2 indicateurs MA et MACD, c'est-à-dire qu'ils représentent 3 variantes de conditions possibles :
1 option - if(iMA ...) {...} ;
2ème scénario - if(iMACD ...) {...} ;
variante 3 - if(iMA ... iMACD ...) {...} ;
Il est facile de combiner des paramètres d'entrée, mais comment combiner des conditions ? Ceci est particulièrement utile s'il y a plus de deux indicateurs ou formules.
Donnez-moi des liens vers des exemples si vous en avez.
Je veux faire une auto-optimisation, mais pas seulement par les paramètres d'entrée des indicateurs. Je le comprends
Mais comment faire unbouclagedes conditions ? Par exemple, il y a 3 indicateurs (nous ne considérons pas la sélection des paramètres d'entrée dans la boucle pour des raisons de simplicité) et il y a 7 combinaisons possibles de conditions/combinaisons
. Par exemple, les trois premières conditions ont un indicateur
1) if(indicateur #1 ...) {...} ;
2) if(indicateur #2 ...) {...} ;
3) if(indicateur #3...) {...}..) {...} ;
Les trois secondes conditions sur deux indicateurs sont
4) if(#1 ... && #2 ...) {...} ;
5) if(#1 ... && #3 ...) {...} ;
6) if(#2 ... && #3 ...) {...} ;
Et dans la dernière septième condition, les trois indicateurs disponibles
7) if(#1 ... && #2 ... && #3 ...) { ...} ;
Et s'il est également possible, il serait bon de boucler l'énumération des conditions logiques. Par exemple, n'écrivez pas && || > < == et ainsi de suite, mais bouclez
. Ce serait bien si nous pouvions écrire chaque variante possible manuellement et que l'EA combine et vérifie toutes les variantes possibles des paramètres d'entrée, des indicateurs combinés ou individuels et des conditions logiques.