[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 224

 
solnce600:

Il y a 100 valeurs avec une virgule après le premier caractère (c'est-à-dire le prix).

Mise en évidence d'une ligne

Accueil - trouver et remplacer

Changer toutes les virgules en points - réussi.

Maintenant je dois mettre des virgules entre les valeurs

Maintenant, faites ce qui suit : Fichier - Enregistrer sous - sélectionnez le type de fichier CSV (délimiteurs - virgules). Économisez. Comme sortie, nous avons un fichier texte du format nécessaire...

 
solnce600:

Pourquoi les commandes ne s'ouvrent-elles pas ?

Dites-moi pourquoi ce code ne fonctionne pas.

J'ai spécifiquement choisi une période du graphique en 2000 (quand le cinquième signe était 0 partout) dans laquelle il y a une bougie ouverte à un prix qui se trouve parmi les valeurs du tableau.

Dans mon esprit - à leur ordre d'ouverture devrait fonctionner - mais cela ne se produit pas ......P O M U ????



int S = ArrayBsearch(  massiv,  value, WHOLE_ARRAY,  0, MODE_ASCEND); //функция ищет самое близкое к текущей цене значение

Massiv[4] signifie le 4ème élément du tableau massiv, j'ai besoin de passer un tableau dans la fonction, pour faire une recherche...

 
alsu:

Maintenant : Fichier - Enregistrer sous - sélectionnez le type de fichier CSV (délimiteurs de virgule). Économisez. Nous avons sur une sortie un fichier texte du format nécessaire...



Je l'ai eu. Merci beaucoup. Pourriez-vous me dire pourquoi ma fonction ne fonctionne pas (post ci-dessus).

Merci beaucoup. Si j'apprends à programmer...... ce sera grâce à vous..... !

 
solnce600:

Pourquoi les commandes ne s'ouvrent-elles pas ?

Dites-moi pourquoi ce code ne fonctionne pas.

J'ai spécifiquement choisi une période du graphique en 2000 (quand le cinquième signe était 0 partout) dans laquelle il y a une bougie ouverte à un prix qui se trouve parmi les valeurs du tableau.

Dans mon idée - à leur ordre d'ouverture devrait fonctionner - mais cela ne se produit pas ......P O M U ? ???


Ce serait également bien si, pour comparer des nombres doubles, on pouvait écrire

 if (Bid == massiv[S])

comme ça :

 if (NormalizeDouble (Bid-massiv[S],Digits)==0)
 
alsu:

massiv[4] fait référence au 4ème élément du tableau massiv, et vous devez passer le tableau lui-même dans la fonction pour faire une recherche...

Je l'ai. Merci beaucoup.
 
solnce600:

Pourquoi les commandes ne s'ouvrent-elles pas ?

Dites-moi pourquoi ce code ne fonctionne pas.

J'ai spécifiquement choisi une période du graphique en 2000 (quand le cinquième signe était 0 partout) dans laquelle il y a une bougie ouverte à un prix qui se trouve parmi les valeurs du tableau.

Dans mon esprit - à leur ordre d'ouverture devrait fonctionner - mais cela ne se produit pas ......P O M U ? ???

Il est déjà temps de passer à la méthode "adulte" ! !! - Expérimentez avec votre code pour obtenir des résultats.

Conseil : habituez-vous à comparer des variables en normalisant leurs différences :

    double ld_Delta = 10. * Point;
    if (NormalizeDouble (MathAbs (Bid - Price), Digits) <= ld_Delta)// и данная цена есть цена открытия нового бара
    {OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL,TP,"jfh",123);}//открыть ордер       

et pour l'expérience que j'ai mentionnée, "jouez" avec ld_Delta.

 
solnce600:

Je l'ai eu. Merci beaucoup. Pourriez-vous me dire pourquoi ma fonction ne fonctionne pas (post ci-dessus) ?

Merci beaucoup. Si j'apprends à programmer...... ce sera grâce à vous..... !


Si vous apprenez, ce sera grâce à votre assiduité et à votre travail acharné. Mon rôle est très modeste, et les objectifs égoïstes (vous aider, entraîner leur propre capacité à trouver rapidement les bugs et les erreurs, ce qui réduit leur propre temps consacré à la programmation, et en même temps garde mon cerveau tonique. En outre, que se passe-t-il si une idée précieuse vous échappe ? Je vais le voler :)))
 
inclure
alsu:

Si vous apprenez, c'est grâce à votre assiduité et à votre travail. Mon rôle est très modeste, et mon but est de vous aider, d'entraîner votre propre capacité à trouver rapidement les bogues et les erreurs, ce qui réduit votre propre temps passé à programmer, et en même temps maintient mon cerveau tonique. En outre, que se passe-t-il si une idée précieuse vous échappe ? Je vais le voler :)))

Il peut être très long de trouver la réponse à une question par soi-même (parce qu'on ne sait pas où chercher).

D'autres conseils ?

Je veux déclarer et initialiser un tableau dans un fichier include.

J'ai appelé le magicien.

Fonctions de Chose - Bibliotek.

Attribué un nom.

J'ai tout nettoyé et déclaré et initialisé le tableau.

J'ai enregistré le fichier dans le dossier incluide avec l'extension mq4 au lieu de mqh.

J'ai inséré une ligne pour appeler le fichier et spécifié l'extension mqh dans le code.

Mais le compilateur donne une erreur

UYTR.mqh' - Impossible d'ouvrir le fichier programme C:\Program Files\Alpari NZ MT4(2)\experts\hhh.mq4 (12, 2)

int start()



{

 double Price=iOpen (Symbol (),0,0);        
 double SL=NormalizeDouble (Price-3000*Point, Digits);         
 double TP=NormalizeDouble (Price+100*Point, Digits);
 
 #include <UYTR.mqh> 


 double value =  Bid ;// параметру value функции ArrayBsearch присваивается значение текущей цены
 int S = ArrayBsearch(  massiv,  value, WHOLE_ARRAY,  0, MODE_ASCEND); //функция ищет самое близкое к текущей цене значение
 if (Bid == massiv[S])//если текущая цена равна значению возвращенному  функцией .
 if (Bid==Price  )// и данная цена есть цена открытия нового бара
 OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL,TP,"jfh",123 );//открыть ордер       
}

Il s'agit probablement d'une différence d'extension entre le fichier dans l'appel de code et le fichier dans le dossier incluide.

Veuillez me conseiller sur la marche à suivre dans cette situation.

Merci.

 
solnce600:
inclure

Il peut être très long de trouver la réponse à une question par soi-même (parce que l'on ne sait pas où chercher).

D'autres conseils ?

Je veux déclarer et initialiser un tableau dans un fichier include.

J'ai appelé le magicien.

Fonctions de Chose - Bibliotek.

Attribué un nom.

J'ai tout enlevé et déclaré et initialisé le tableau.

J'ai enregistré le fichier dans le dossier incluide avec l'extension mq4 au lieu de mqh.

J'ai inséré une ligne pour appeler le fichier et spécifié l'extension mqh dans le code.

Mais le compilateur continue de se planter.

UYTR.mqh' - Impossible d'ouvrir le fichier programme C:\Program Files\Alpari NZ MT4(2)\experts\hhh.mq4 (12, 2)

Probablement la différence d'extension entre le fichier dans l'appel de code et celui dans le dossier incluide.

Veuillez me conseiller sur la marche à suivre dans cette situation.

Merci.


Si vous utilisez l'assistant, vous pouvez créer directement un fichier include, qui sera enregistré avec l'extension mqh dans le dossier include. Après cela, vous pouvez l'ajouter dans n'importe quel programme par #include <>.


c'est-à-dire
ne pas sélectionner - bibliotek de fonctions,
un fichier d'en-tête MQH
 
alsu:
Si vous utilisez l'assistant, vous pouvez créer un fichier d'inclusion, qui sera enregistré avec l'extension mqh dans le dossier d'inclusion. Vous pouvez ensuite l'ajouter à n'importe quel programme par #include <>.

Je vois. Merci. Vous voulez probablement parler du fichier HEADER.

Au début, j'ai été confus par le mot ENTERED..... où je lis qu'il s'agit d'inclure.

Raison: