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

 
evillive:

La question est, comme on dit, la réponse. Qui sait comment le prix est calculé, et il n'y a pas de niveau préétabli...


Mais si le prix = l'offre, alors.


Oui, dans l'exemple, le prix = l'offre. C'est ce que je compare. Au lieu d'un "niveau", il faut quelque chose. Je vais essayer cette variante.


Seuls 1 et 2 au lieu de 0, donneront le premier ou les deux chiffres après les jetons, ce ne sera plus XXX.00. Avec zéro, nous devons essayer.

? Si le niveau n'est pas 00, par exemple, il faut XXX.15 ou XXX.35, comment peut-on le comparer ?

La fonction

NormalizeDouble(Bid,0))

coupe la valeur en une valeur numérique ou en chiffres, alors qu'il doit sélectionner le nombre après la virgule et travailler avec lui, quelle que soit la partie entière.

Merci.

 
Shum_sp:

Oui, dans l'exemple, le prix = l'offre. C'est ce que je compare. Au lieu d'un "niveau", il faut quelque chose. Je vais essayer cette variante.


Seuls 1 et 2 au lieu de 0, donneront le premier ou les deux chiffres après tochiki, ce ne sera plus XXX.00. Avec zéro, nous devons essayer.

? Si le niveau n'est pas 00, par exemple, il faut XXX.15 ou XXX.35, comment peut-on le comparer ?

La fonction

coupe la valeur en une valeur numérique ou en chiffres, alors qu'il doit sélectionner le nombre après la virgule et travailler avec lui, quelle que soit la partie entière.

Merci.


Bonne nuit à vous aussi.
 
Shum_sp:

Bonne journée !


Cela signifie beaucoup de prescrire tous les niveaux.

Le conseiller expert doit déterminer que le niveau est XXX.00, l'utilisateur ne doit pas y participer et spécifier les niveaux sur lesquels travailler.

Je ne comprends pas comment expliquer que le prix actuel est XXX.00

Merci à tous.

//+------------------------------------------------------------------+
//|                                                       Ровное.mq4 |
//|                               Copyright 2013, Artyom A. Trishkin |
//|                       https://www.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, Artyom A. Trishkin"
#property link      "https://www.mql5.com/ru/users/artmedia70"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   double a=140.20;
   double b=-123.32;
//----
   if(MathMod(a,1.0)==0) b=a; 
   Alert("140 = "+b);
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
artmedia70:



Bonne journée à vous tous !

Merci. Il n'y a pas de bouton "merci" dans le coin, alors j'ai dû faire une bourde.

J'étais en train d'analyser les messages d'Evillive. Merci.


Sincèrement,

 
Shum_sp:

Bonne journée à tous !

J'ai parcouru toutes les pages sur les EA, j'ai regardé les codes des EA basés sur les ordres en attente,

Je n'ai pas trouvé de réponse, j'ai donc cherché sur toutes les pages du forum, lu le tutoriel MQL et la documentation à nouveau.

Peut-être que je n'ai pas bien regardé. J'ai décidé de demander ici.

J'écris un EA basé sur les ordres en attente. Auparavant, il n'y avait aucun problème avec le critère d'ouverture d'une position basé sur les données de l'indicateur (<, >, =, etc.).

Mais, pour l'instant, le système n'est pas syndiqué. Le critère d'ouverture d'une position est le PRIX.

En d'autres termes, pour une offre égale au niveau du PRIX, disons ХХХ.00 ou ХХХ.50 (pour les paires de yens), le bloc de critères stipule que

il y a un critère d'achat (ou de vente) et cela nous envoie au bloc d'ouverture de l'ordre.

Un exemple approximatif est illustré à la figure 1, lorsque le niveau est fixe et réglé, par exemple, par l'utilisateur.

La question est de savoir comment spécifier la condition qui permettrait de comparer la DIS actuelle avec des niveaux prédéfinis mais égaux,

Par exemple, 140.00, 141.00, 142.00 .... à savoir à partir de XXX.00

La première partie de la condition est claire, par ex.

Dans la deuxième partie avec Level, ce qu'il faut faire.

Je vous remercie tous d'avance,

Sincèrement,


P.S. Si ce sujet a déjà été abordé et que je l'ai manqué, dites-le moi s'il vous plaît.


Si je comprends bien la question, le prix évolue autour des niveaux circulaires.

pour eur/usd

//+------------------------------------------------------------------+
//|                                                        level.mq4 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   double level=NormalizeDouble(Bid,2);
   if(Bid == level)
   {
    Alert(" ну вот  Bid равен level ");
   }
   
   
   Alert("level   " ,level);
   Alert("bid   ",Bid);
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

J'essaie de comprendre comment définir les flèches dans les indicateurs. S'il vous plaît dites-moi ce qui est faux dans ce code. Les flèches d'achat sont activées, mais pas les flèches de vente.

#property indicator_chart_window
#property  indicator_color1 Aqua
#property  indicator_width1 1
#property  indicator_color2 Red
#property  indicator_width2 1

int otstup = 50;//отступ стрелки от свечи pips
double buy[],sell[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators

   IndicatorBuffers(2);
   SetIndexBuffer(0,buy);
   SetIndexBuffer(1,sell);
   
   SetIndexArrow(0,233);//buy
   SetIndexArrow(1,234);//sell
   
   SetIndexStyle(0,DRAW_ARROW,EMPTY,1,Aqua);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW,EMPTY,1,Red);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {

//----
        sell[1]= High[1]+otstup*Point;
    
        buy[1] = Low[1]-otstup*Point;
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
khorosh:

J'essaie de comprendre comment définir les flèches dans les indicateurs. S'il vous plaît dites-moi ce qui est faux dans ce code. Les flèches d'achat sont activées, mais pas les flèches de vente.

Essayez
#property indicator_buffers 2
а не 
 IndicatorBuffers(2);
 хотя у меня рисует обе стрелки и так, и эдак
 
pako:


Si je comprends bien la question, le prix évolue en niveaux ronds.

pour l'eur/usd.

D'après ce que j'ai compris, il a besoin de l'EA pour voir le "prix rond" lui-même. Par exemple :

140.42 - faux.

139.54 - faux

140.00 - prix requis

139,00 - prix cible.

C'est-à-dire faire en sorte que la partie fractionnaire du prix contienne des zéros. Je lui ai donné un exemple de scénario, mais, si je comprends bien, la pensée n'est pas inhérente à certaines personnes...

Alors ça se passe comme ça :

if(MathMod(Bid,1.0)==0) Alert("Нашли круглую цену : "+DoubleToStr(Bid,Digits));
 
artmedia70:

D'après ce que je comprends, il a besoin du conseiller pour voir lui-même le "prix rond". Par exemple :

140.42 - faux.

139,54 - faux.

140,00 - prix cible

139,00 - prix cible.

C'est-à-dire faire en sorte que la partie fractionnaire du prix contienne des zéros. Je lui ai donné un exemple de scénario, mais, si je comprends bien, la pensée n'est pas inhérente à certaines personnes...

Alors ça se passe comme ça :



Nan, il a ensuite réfléchi et décidé que 140,15 ou 140,35 est également un prix élevé et pourrait être nécessaire. Le client n'a pas encore décidé de ce dont il a besoin ;)))
 
evillive:
Nan, il a ensuite réfléchi et décidé que 140,15 ou 140,35 est également un prix élevé et pourrait être nécessaire. Le client n'a pas encore décidé de ce dont il a besoin ;)))

Eh bien... quand il décidera enfin de ce qu'il veut, qu'il commence à réfléchir...