Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 352
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
Merci, mais elle est
iCustom pour aider
iCustom est une bonne solution pour iCustom mais iCustom exécute toujours l'ensemble du code de l'indicateur, et si j'ai besoin de beaucoup de paramètres d'indicateur dans un EA (et c'est le cas) alors au lieu d'un calcul d'indicateur nous en aurons plusieurs, ce qui peut ralentir considérablement le processus jusqu'à ce que le tick actuel soit manqué, j'ai oublié les variables prédéfinies......
int rates_Bars ;
variable globale définie
int prev_calculated=0 ;
se bloque sur le nombre d'éléments du tableau
Je suis désolé, mais je ne comprends pas pourquoi oncalculate devrait transmettre les valeurs des variables prédéfinies si elles sont globales et également disponibles.
Regardez un exemple
Les paramètres d'une fonction peuvent être des entrées - que nous lui passons - et des sorties - qu'elle nous renvoie.
Ces variables sont nécessaires pour calculer l'ensemble de la ligne d'indicateur, mais vous avez besoin d'une seule valeur. Tout est beaucoup plus simple. Analyser le programme d'indicateurs et déterminer la formule utilisée pour le calcul. Et utiliser cette formule dans le conseiller expert
Les gars, dites-moi comment mettre en œuvre cet algorithme :
Il existe une série temporelle avec le volume Volume
Je veux comparer le Volume[1] pour qu'il soit plus grand que chacune des barres précédentes du Volume[1] et spécifier une fenêtre (nombre) de barres précédentes avec une variable externe (extern int).
Écrire un échantillon de code, si ce n'est pas difficile
Les gars, dites-moi comment mettre en œuvre cet algorithme :
Il existe une série temporelle avec le volume Volume
Je veux comparer le Volume[1] pour qu'il soit plus grand que chacune des barres précédentes du Volume[1] et spécifier une fenêtre (nombre) de barres précédentes avec une variable externe (extern int).
Écrire un échantillon de code, si ce n'est pas difficile
Est-ce que ça a marché ? Comment cela fonctionnait-il avant ?
Il a fonctionné sans erreur, il me semble l'avoir supprimé moi-même, par auto-remplacement via ctrl+h, et je ne l'ai pas remarqué >_<. De toute façon, c'est probablement les Illuminati qui ont fait ça. Merci encore !
Les gars, dites-moi comment mettre en œuvre cet algorithme :
Il existe une série temporelle avec le volume Volume
Je veux comparer le Volume[1] pour qu'il soit plus grand que chacune des barres précédentes du Volume[1] et spécifier une fenêtre (nombre) de barres précédentes avec une variable externe (extern int).
Écrire un échantillon de code, si ce n'est pas difficile
Ce n'est pas difficile. Je l'ai écrit sur mes genoux de mémoire (j'ai peut-être oublié quelque chose)...
Bonjour. Je ne peux pas partager le fichier. La tâche - J'ai besoin que le fichier de l'ancienne période (par exemple M20) soit généré sur М1 pendant le test manuel dans МТ4 (MQL4) testeur. Dans ce but, j'ai écrit un indicateur basé sur le script PeriodConverter. Étant donné qu'en mode test, il est impossible d'enregistrer le fichier (EURUSD20.csv) directement dans le dossier Historique, le fichier est enregistré dans le dossier partagé par tous les terminaux - \\MetaQuotes\Terminal\Common. Ensuite, le script bouclé, travaillant sur un graphique M1 standard, copie les données du fichier EURUSD20.csv vers le fichier EURUSD20.hst, situé dans le dossier History. Le fichier EURUSD20.csv ne peut pas être ouvert dans le script, si en même temps il est ouvert dans l'indicateur dans le testeur (5004 ERR_FILE_CANNOT_OPEN File open error). Si vous retirez l'indicateur du testeur, le fichier du script est ouvert et copié sans problème. Le fichier est ouvert dans l'indicateur comme suit : ExtHandle=FileOpen(c_symbol+(string)20+".csv",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ|FILE_SHARE_READ|FILE_COMMON) ;
Le fichier du script est ouvert comme suit : ExtHandleR=FileOpen("EURUSD20.csv",FILE_BIN|FILE_READ|FILE_SHARE_READ) ;
Veuillez indiquer mon erreur.
Bonjour. Je ne peux pas partager le fichier. La tâche - J'ai besoin que le fichier de l'ancienne période (par exemple M20) soit généré sur М1 pendant le test manuel dans МТ4 (MQL4) testeur. Dans ce but, j'ai écrit un indicateur basé sur le script PeriodConverter. Étant donné qu'en mode test, il est impossible d'enregistrer le fichier (EURUSD20.csv) directement dans le dossier Historique, le fichier est enregistré dans le dossier partagé par tous les terminaux - \\MetaQuotes\Terminal\Common. Ensuite, le script bouclé, travaillant sur un graphique M1 standard, copie les données du fichier EURUSD20.csv vers le fichier EURUSD20.hst, situé dans le dossier History. Le fichier EURUSD20.csv ne peut pas être ouvert dans le script, si en même temps il est ouvert dans l'indicateur dans le testeur (5004 ERR_FILE_CANNOT_OPEN File open error). Si vous retirez l'indicateur du testeur, le fichier du script est ouvert et copié sans problème. Le fichier est ouvert dans l'indicateur comme suit : ExtHandle=FileOpen(c_symbol+(string)20+".csv",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ|FILE_SHARE_READ|FILE_COMMON) ;
Le fichier est ouvert dans le script comme suit : ExtHandleR=FileOpen("EURUSD20.csv",FILE_BIN|FILE_READ|FILE_SHARE_READ|FILE_COMMON) ;
Veuillez me signaler mon erreur.
L'avez-vous fait remarquer ?
L'avez-vous précisé ?
Je ne comprends pas. Cette option indique l'emplacement du fichier - \MetaQuotes\Terminal\Common. Sans cette option, je ne pourrai pas récupérer le fichier qui a été généré dans le testeur. Sans cette option, le fichier sera recherché dans MQL4\Files - et je ne peux pas y placer le fichier du testeur.