[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 719

 
Infinity:


Mais pour une raison quelconque, je me retrouve avec une erreur EURUSD, : zero divide - cette erreur semble dire qu'il y a un 0 dans la variable quelque part, probablement pendant une opération de type division. Est-ce que j'essaie de l'appliquer correctement ?


Dans le testeur ou sur la démo ?

Dans le testeur, le point sur les autres symboles sera de 0.

 
Bonjour, pourriez-vous me dire si MQL4 permet de sélectionner tous les tickets d'un compte (ouvert, fermé, en attente) pour une période de temps donnée ?
 

Messieurs, aidez-moi à résoudre ce problème, s'il peut être résolu dans ces conditions !

Il existe, par exemple, un tel Expert Advisor (son PATTERN, pour être exact), car le principe lui-même est intéressant.

Alors, voilà :

extern double Lot = 0.1 ;

extern int TP = 100 ;

extern int SL = 100 ;

extern int ХХХ = 100 ; //comme différentesvariables

extern int ХХХ = 100; //comme différentesvariables

extern int ХХХ = 100 ; //comme des variables différentes.

// quelles commandes sont autorisées ? :

extern int LET = 3 ; // 1 - uniquement vente, 2 - uniquement achat, 3 - les deux types d'ordre

int start()

//calculer les indicateurs:

int KUDA ;

L'INDICATEUR ET SES CONDITIONS DE TRAVAIL SONT INSÉRÉS

// Vérifier les conditions de détermination de la direction de l'ordre en fonction des données de l'indicateur :

if ( ХХХХХХХХХХХХХХХХХ ) // condition d'indicateur pour sal

KUDA = 1 ; // cela signifie que nous allons vendre.

if ( ХХХХХХХХХХХХХХХХХХХ) // indicateur de condition d'achat

KUDA = 2 ; // cela signifie que nous allons acheter.

// passer des commandes :

if(OrdersTotal()>0) return (0) ; // permet à l'EA de fonctionner avec un seul ordre passé.

QUEL CODE INSÉRER ICI, POUR QUE LORSQU'UN DEALER FERME UNE VENTE, SOIT AUTORISÉ À PLACER UNIQUEMENT UN ORDRE D'ACHAT,

et quand un perdant ferme un achat, il est seulement autorisé à placer une vente?

ET AINSI DE SUITE ET AINSI DE SUITE ! !!

{

if (LET == 1 || LET == 3) // selon la variable ne fonctionne que pour la vente (ignore l'achat) ou les deux.

if (KUDA == 1 && ticketsell < 1) // set sell

{

VOICI LE CODE POUR PLACER DES ORDRES DE VENTE

}

if (LET == 2 || LET == 3) // selon la variable ne fonctionne que pour l'achat (la vente ne tient pas compte) ou les deux types d'ordre

if (KUDA == 2 && ticketbuy < 1) // exposer acheter

{

VOICI LE CODE POUR PASSER DES ORDRES D'ACHAT

}

}

retour(0) ;

}

Merci !

 
ToLik_SRGV:

Donc, dans l'ordre.

Si vous ne voulez que les dernières données, alors pourquoi sauvegarder les données précédentes ? ("préécriture" se produit avec une combinaison des modes FILE_READ|FILE_WRITE).
Il est donc plus logique d'utiliser le mode FILE_CSV|FILE_WRITE, où les enregistrements précédents sont supprimés avant l'écriture de nouvelles données.

Commencez à écrire les 4 variables dans le fichier.

L'essentiel est de se souvenir de l'ordre dans lequel les variables sont écrites, car c'est dans cet ordre que nous les lirons.

Commencez à lire les données dans les variables à partir du fichier.

En utilisant la fonction FileReadNumber(), nous lisons en séquence, numéro par numéro, dans l'ordre où nous l'avons écrit.
C'est tout ce qu'il y a à faire, rien de compliqué :)

Je l'ai compris et appliqué - j'en suis très satisfait.
 

Aidez-moi à résoudre ce problème par voie programmatique :

1. d'abord, nous trouvons la première fractale vers le haut - c'est simple et clair ;

2. il faut ensuite trouver une fractale plus élevée que la première - ce qui est déjà un problème :(

Ok, si c'est la fractale précédente. Mais si c'est celui d'avant ? Ou il y a trois ou quatre fractales ?

Comment créer une fonction permettant de rechercher de telles fractales ?

Je joins une photo, au cas où.

 
non attaché :(
réessayer
 
Shuba:

Aidez-moi à résoudre ce problème par voie programmatique :

1. d'abord, nous trouvons la première fractale vers le haut - c'est simple et clair ;

2. il faut ensuite trouver une fractale plus élevée que la première - ce qui est déjà un problème :(

Ok, si c'est la fractale précédente. Mais si c'est celui d'avant ? Ou il y a trois ou quatre fractales ?

Comment créer une fonction permettant de rechercher de telles fractales ?

Je joins une photo, au cas où.



Et s'il n'y a pas de telle fractale du tout...
 
Vinin:

Et s'il n'y a pas de telle fractale du tout...
Si, par exemple, une telle fractale n'existe pas pour les 300 barres précédentes, nous attendons qu'une nouvelle fractale apparaisse avant de reprendre la recherche.
 
Shuba:

Aidez-moi à résoudre ce problème par voie programmatique :

1. d'abord, nous trouvons la première fractale vers le haut - c'est simple et clair ;

2. il faut ensuite trouver une fractale plus élevée que la première trouvée - c'est déjà un problème :(

Ok, si c'est la fractale précédente. Mais si c'est celui d'avant ? Ou trois ou quatre fractales auparavant ?

Comment formuler la recherche de telles fractales comme une fonction ?

Juste au cas où, je joins une photo...

Mémorisez la valeur de la première fractale, puis recherchez dans la boucle une fractale dont la valeur est supérieure ou inférieure à la valeur mémorisée. Si une telle fractale est trouvée dans la boucle, stockez-la dans une variable. Vous avez maintenant deux fractales - la première initialement stockée et la seconde trouvée dans la boucle. Il n'est pas nécessaire qu'elle soit antérieure ou préexistante, mais elle doit correspondre au critère de recherche.
Si elle ne peut pas être trouvée dans la boucle - alors vous devez attendre qu'une nouvelle fractale apparaisse (au lieu de la première fractale mémorisée). Dès que la nouvelle fractale apparaît, nous recherchons à nouveau la deuxième fractale nécessaire dans la boucle (il s'agira très probablement de la première fractale mémorisée au tout début). Nous trouvons ainsi deux fractales nécessaires et évitons la situation évoquée à juste titre par Victor dans le message ci-dessus. Bien qu'il soit théoriquement possible que la deuxième fractale ne soit jamais formée... Une apocalypse par exemple... :)
 
Shuba:
Ainsi, si, par exemple, il n'y a pas de fractale à 300 barres, nous attendons qu'une nouvelle fractale apparaisse avant de reprendre la recherche
Je vois - vous êtes déjà en train de prendre la décision vous-même.