Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1002

 
Vinin:

iBarShift

Il s'agit du numéro de séquence, et non de la valeur de la barre.
 
001:
Il s'agit du numéro de séquence, et non de la valeur de la barre.
Ainsi, nous pouvons utiliser l'index pour trouver ce que nous voulons))Guide de référence MQL4 / Variables prédéfinies
 

Comment calculer par programme le profit/la perte pour un ordre SL/TP dans la devise de dépôt (roubles) ?

En d'autres termes, j'ai besoin d'obtenir exactement les chiffres de profit que MT4 affiche lorsqu'on passe le curseur sur la ligne SL/TP ou qu'on la fait glisser avec la souris.

Que diriez-vous d'obtenir MODE_TICKVALUE et de le multiplier par la distance en pips vers SL/TP ? J'ai essayé avec l'EURUSD et cela semble être la même chose, mais avec d'autres paires, au moins une légère divergence apparaît. Et dans MT4, il est toujours supérieur d'au moins quelques roubles. Par exemple sur le GBPNZD.

 

J'ai créé un simple EA qui envoie des informations au journal lorsqu'une nouvelle barre apparaît.

#property strict
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
   if(IsNewBar(_Symbol,PERIOD_CURRENT)==true) Print("New bar!");
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//=== Function
bool IsNewBar(string f_Symbol,      // symbol
              ENUM_TIMEFRAMES f_TF) // timeframe
  {
//---
   static datetime f_LastBar=0;
   datetime f_CurrentBar=iTime(f_Symbol,f_TF,0);
//---
   if(f_LastBar!=f_CurrentBar)
     {
      f_LastBar=f_CurrentBar; return(true);
     }
   else return(false);
  }

Il fonctionne correctement, dans le sens où un message apparaît au premier tick d'une nouvelle barre. Mais pour une raison quelconque, l'heure du message est liée à la barre précédente. Je voudrais joindre une photo. La première montre que l'heure actuelle est 21:50:57 et qu' il n'y a que 2 nouveaux messages. Sur la 2ème fig. le temps actuel 21:51:23, il y a un 3ème enregistrement d'une nouvelle barre ET vu que le message il est apparu après 21:51:00 MAIS le temps d'enregistrement dans le journal en quelque sorte que 20:50:47 (clairement, il ya une différence de 1 heure entre le serveur et mon ordinateur), que mon temps n'est pas correct. Pouvez-vous vérifier le vôtre ? C'est la même chose pour tout le monde ou c'est un problème ?



 

L'horloge de votre ordinateur a quelques secondes de retard ou l'horloge du serveur est un peu rapide, ou peut-être les deux. Imprimez() l'heure actuelle de la barre.

if(IsNewBar(_Symbol,PERIOD_CURRENT)!=true) Print("New bar! ", Time[0]);

ou l'heure du serveur et l'heure locale

 
Vadim_2015:
Eh bien, nous pouvons utiliser l'index pour trouver ce que nous voulons))Référence MQL4 / Variables prédéfinies

Non, ce n'est pas le cas. J'ai demandé : Comment connaître la valeur d'une barre dans un indicateur en fonction de son temps( par bar time) ? Si nous mettons simplement dans iBarShift une heure de la journée souhaitée (par exemple dans TF H1, alors nous obtenons un décalage sur le graphique D1, qui change toujours avec chaque nouveau jour, c'est-à-dire que chaque nouvelle barre aura la même chose.

 
001:

Non, c'est un peu différent. J'ai demandé : Comment connaître la valeur d'une barre(WANTED DAY) dans un indicateur par son temps (par le temps de la barre) ? Si nous mettons simplement dans iBarShift l'heure d'un jour désiré (par exemple, sur TF H1, nous obtenons le décalage sur le graphique D1, qui change toujours avec l'arrivée d'un nouveau jour, c'est-à-dire que chaque nouvelle barre aura la même valeur.


- Comment trouver la valeur dans un indicateur?

qu'est-ce qu'une "valeur" ?

- "Si nous sommes carrément en train de substituer."

Si vous ne comprenez pas la fonction, vous obtiendrez une "nouvelle" valeur, ce qui signifie que chaque nouvelle barre aura la même valeur.

 

Bon après-midi.

Je suis confronté à un problème lors du test des EA. Tout allait bien pendant quelques mois, j'ai écrit plusieurs EAs qui ouvraient et fermaient des ordres selon mes règles. Un jour, une autre EA a cessé de tester. Quelle que soit l'heure fixée dans le testeur un mois passe, c'était toujours septembre 2014 et le test s'est arrêté. Il m'a fallu beaucoup de temps pour le retrouver, télécharger des données historiques, etc. Puis j'ai décidé de réinstaller MetaTrader. J'ai ensuite décidé de réinstaller Meta Trader, je l'ai désinstallé et réinstallé. Maintenant, tous les conseillers experts disponibles en général ne fonctionnent plus. Mes commandes ne s'ouvrent pas. J'ai des données historiques. Lorsque l'imagerie est activée, le graphique passe la période de temps requise, mais aucune transaction n'est effectuée. S'il vous plaît, conseillez-moi au moins dans quelle direction creuser, toutes mes idées sont épuisées.

Merci d'avance.

 
sergeev:

- Comment trouver la valeur dans un indicateur?

qu'est-ce que la "valeur" ?

- "Si on le branche"

Montrez-moi ce code "débile" pour avoir quelque chose à dire. Jusqu'à présent, tout ce que nous pouvons voir est votre manque de compréhension du fonctionnement de la fonction.


Je ne vais même pas discuter. Je ne suis pas très bon en programmation. Je suis juste un gars occasionnel. Code plus tard. "Valeur" est ouvert.

 

Bonjour à tous, pouvez-vous me dire comment tracer un triangle et calculer l'angle obtus d'un triangle ?

Raison: