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

 
l'indice de la barre et je le prends pour déterminer le moment de la barre. Apparemment, nous devons creuser plus profondément ici, en allant aux secondes dans le temps de formation des barres.
 
Evgeniy Butakov:
Je prends l'indice de la barre pour déterminer l'heure de la barre. Apparemment, nous devons creuser plus profondément ici, pour passer aux secondes en temps de formation de barre.

Lisez attentivement la documentation. Faites attention aux surcharges de fonctions.

Pourquoi prenez-vous le nombre de barres de temps en temps ? Je vous écris de temps en temps.

int  CopyRates( 
   string           symbol_name,       // имя символа 
   ENUM_TIMEFRAMES  timeframe,         // период 
   datetime         start_time,        // с какой даты 
   datetime         stop_time,         // по какую дату 
   MqlRates         rates_array[]      // массив, куда будут скопированы данные 
   );

De quelle date à quelle date, pas seulement une date, mais une date_heure. Donc, prenez l'heure d'ouverture de la barre moins 2*PeriodSeconds(PERIOD_M15) jusqu'à l'heure de la prochaine barre H4.

 
Alexey Viktorov:

Lisez attentivement la documentation. Faites attention aux surcharges de fonctions.

Pourquoi prenez-vous le nombre de barres de temps en temps ? Je vous écris de temps en temps.

De quelle date à quelle date, pas seulement une date, mais une date_heure. Vous devez prendre l'heure d'ouverture de la barre moins 2*PeriodSeconds(PERIOD_M15) jusqu'à l'heure de la prochaine barre H4.

J'ai pris le coup de main... J'ai converti le temps nécessaire "de quelle date" et "à quelle date" en secondes et je le suis... Et pourquoi exactement 2*PeriodSeconds(PERIOD_M15) ? 900 secondes me suffisent, c'est-à-dire une barre sur M15. Merci beaucoup ! !!

 
Evgeniy Butakov:

J'ai compris... J'ai converti le temps requis "de quelle date" et "à quelle date" en secondes et je danse à partir de celles-ci... Et pourquoi exactement 2*PeriodSeconds(PERIOD_M15) ? 900 secondes me suffisent, c'est-à-dire une barre sur M15. Merci beaucoup ! !!

Sur la base de ce souhait

Evgeniy Butakov:

Bonjour !

Pour la deuxième fois avec ma tâche de calculer à l'intérieur de la barre du cadre supérieur (H4) au détriment des barres du cadre inférieur. J'ai compris comment obtenir les données en M15 sur la barre de H4. Mais je suis resté bloqué à ce stade. Par exemple, je collecte les données de la M15 TF sur la 3ème bougie H4 et, par conséquent, je traite les 16 bougies de la 3ème barre. Mais comment puis-je obtenir d 'autres barres sur M15 en plus de ces 16, car elles seront déjà issues de la 4ème bougie sur H4 ? Veuillez me guider, me donner un indice.

Pour récupérer les données de M15, on utilise le code suivant :

Si vous avez besoin d'une barre, ne la multipliez pas et c'est tout.

Et un autre conseil gratuit : abandonnez les secondes. Ce qui est plus clair en lisant le code de quelqu'un d'autre ou le vôtre après un certain temps 1800 ou 2*PeriodSeconds(PERIOD_M15) qui signifie 2 barres de période M15 exprimées en secondes. Et que sera une semaine ou un mois en quelques secondes ? Dois-je recalculer à chaque fois ou encombrer mes cellules de mémoire d'informations inutiles ?

 
Alexey Viktorov:

Sur la base de ce souhait.

Si vous avez besoin d'une barre, ne la multipliez pas et c'est tout.

Et un autre conseil gratuit : supprimez les secondes. Ce qui est plus clair en lisant le code de quelqu'un d'autre ou le vôtre après un certain temps 1800 ou 2*PeriodSeconds(PERIOD_M15) qui signifie 2 barres de période M15 exprimées en secondes. Et que sera une semaine ou un mois en quelques secondes ? Dois-je recalculer à chaque fois ou encombrer mes cellules de mémoire d'informations inutiles ?

Oui, Alexey, merci pour les conseils et l'orientation. J'ai complètement oublié la fonction PeriodSeconds ;).
 
int file = FileOpen("expert_file", FILE_WRITE | FILE_BIN);
   if (file != INVALID_HANDLE){
      uint file_bytes = FileWriteArray(file, file_data);
      FileClose(file);
      Print("Bytes count: ", file_bytes);
      Print("Error: ", GetLastError());
   } else{
      return false;  
   }    

Essayer d'écrire un tableau d'octets dans un fichier.

Journal de bord

Le fichier lui-même.

Autrement dit, le programme indique qu'il a écrit 186368 octets dans le fichier, mais le fichier lui-même est complètement vide. Et il n'y a pas d'erreur.

 

Salut.

Il y a un problème. Un dépôt de, disons, 1k a été effectué sur un compte de courtage. Puis ce dépôt a été reconstitué avec 5k de plus. Le résultat dans le rapport "historique" de MT5 est que le 1k initial est montré comme un dépôt et le réapprovisionnement est montré comme un profit, et naturellement tous les résultats de transaction vont au-dessus.


Question : Puis-je définir manuellement la taille du solde initial de négociation, à partir duquel il doit calculer le bénéfice ?


Merci d'avance ^^

 
MQL_User:

Existe-t-il un moyen de déterminer, à partir de l'événement OnChartEvent, si un bouton a été pressé sur le clavier lorsque la souris a cliqué sur le graphique ?

Il existe une fonction appelée GetAsyncKeyState. Peut-on l'utiliser dans le code ?

J'ai essayé une telle construction :

#import "user32.dll"
int GetAsyncKeyState(int a0) ;
#import

printf("--"+(GetAsyncKeyState(88))) ;

Mais le chargement de la DLL n'est pas autorisé.

J'ai coché la case "Autoriser les importations de DLL" au début. Ça n'a pas aidé.
 
Je suis peut-être dans le mauvais fil. Que les dieux me pardonnent Mcl !!! J'ai besoin d'écrire un indicateur, qui donnerait un signal à partir d'une combinaison de quatre ou cinq indicateurs.Set dans le sous-sol.Peut-être il ya un modèle. Ou un conseiller prêt à l'emploi. Un conseil éventuel s'il vous plaît !!!!!!!!!!
 
Comment puis-je ajouter un conseiller expert à un dossier mql5 et le faire apparaître dans la section des conseillers ?
Raison: