Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1887

 
Vitaly Muzichenko #:

Il le retourne, mais ça ne sert à rien.

Il doit être rempli d'une autre manière

ne fonctionne pas


 
Alexey Viktorov #:

Oui, il y en a un régulier... Ajouter au tableau et enlever du tableau. Le tableau doit être dynamique. Regardez dans la documentation pour plus de détails, je ne me rappelle pas comment ils sont écrits...

(Quelqu'un peut-il se souvenir ?))

 
Andrey Sokolov #:

(Qui s'en souvient ?))

Quelque chose à propos des tableaux

 
Vitaly Muzichenko #:

Quelque chose sur les tableaux

👍

 

J'ai regardé le profilage sur l'historique de la vitesse.

void Shift()
{
        for(int i=Bars(NULL, 0)-bars; i>0; i--)
        {
                ArrayInsert(arr, arr_sourse, 0);
        }
}

и

bool Shift()
{
        if(ArrayResize(arr, Bars(NULL, 0), Bars(NULL, 0)-bars+1000)<0) return false;
        for(int i=ArraySize(arr)-1; i>0; i--)
        {
                arr[i]=arr[i-1];
        }
        ArrayFill(arr, 0, Bars(NULL, 0)-bars, 0);
        return true;
}

Les frais de fonctionnement sont exactement les mêmes.

Si je comprends bien, c'est ce qui se passe sous le capot d'ArrayInsert.

 
Après-midi
Pouvez-vous me conseiller, existe-t-il des bibliothèques pour travailler avec des bases de données dans mt4 ?
 

Salutations. Pouvez-vous me conseiller s'il vous plaît. mt5

J'essaie de mettre l'indicateur dans l'EA, pendant le test/débogage il fonctionne sur tous les ticks, les données correspondent. Lorsque l'on teste sur des prix ouverts, les données divergent souvent et lorsque l'on essaie de trouver la raison dans le débogueur, un problème survient - pour l'EA OnTick() est appelé une fois par bougie et pour l'indicateur OnCalculate() est appelé plusieurs fois, une fois au début et plusieurs fois à la fin de la bougie, donc les données dans les variables changent. En général, j'ai besoin d'aide.


indicateur ozymandias_03

Dossiers :
ozy_00.mq5  13 kb
 
Andrey Sokolov #:

Salutations. Pouvez-vous me conseiller s'il vous plaît. mt5

J'essaie de mettre l'indicateur dans l'EA, pendant le test/débogage il fonctionne sur tous les ticks, les données correspondent. Lorsque l'on teste sur des prix ouverts, les données divergent souvent et lorsque l'on essaie de trouver la raison dans le débogueur, un problème survient - pour l'EA OnTick() est appelé une fois par bougie et pour l'indicateur OnCalculate() est appelé plusieurs fois, une fois au début et plusieurs fois à la fin de la bougie, donc les données dans les variables changent. En général, j'ai besoin d'aide.


indicateur ozymandias_03

Ajouter le calcul des données à l'indicateur à l'ouverture de la bougie.
 

Bon après-midi à tous. J'ai un indicateur qui dessine des niveaux de Fibonacci. J'ai besoin que l'EA place un autre EA avec certains paramètres sur ce graphique lorsque le prix atteint le niveau 61.8 sur cette grille de Fibo et appuie sur le bouton pour ouvrir un ordre.

Vous trouverez ci-dessous une capture d'écran de l'indicateur et de l'EA avec ses boutons.

Indicateur de tirage Fibonacci

Fibonacci dessiné par l'indicateur.


Boutons EA

Les boutons Expert Advisor doivent être cliqués sur la gauche Ouvrir


Est-ce que cette chose est vraiment faite ? Si c'est le cas, comment l'implémenter en mots, puis en code ? Veuillez expliquer de la manière la plus détaillée et la plus claire possible.

 
DanilaMactep #:

Bon après-midi à tous. J'ai un indicateur qui dessine des niveaux de Fibonacci. J'ai besoin que l'EA place un autre EA avec certains paramètres sur ce graphique lorsque le prix atteint le niveau 61.8 sur cette grille de Fibo et appuie sur le bouton pour ouvrir un ordre.

Vous trouverez ci-dessous une capture d'écran de l'indicateur et de l'EA avec ses boutons.

Fibonacci dessiné par l'indicateur.


Les boutons Expert Advisor doivent être cliqués sur la gauche Ouvrir


Est-ce que cette chose est vraiment faite ? Si oui, comment l'implémenter en mots, puis en code ? Veuillez expliquer en détail et de manière compréhensible.

L'autre EA doit être placée dans la première. Dans la première, on calcule le niveau et le code de la seconde EA commence à fonctionner quand il est atteint. Au début de la seconde, vous devez prescrire l'état du bouton sur lequel vous voulez appuyer.

Raison: