Questions des débutants MQL4 MT4 MetaTrader 4 - page 258

 
OlgaKom #:

Bonjour à tous !

Quelqu'un peut-il me dire comment obtenir la valeur du prix et de la taille du tick correctement ?

En obtenant ceci pour le symbole

Parfois, les valeurs reçues diffèrent des valeurs réelles.

Quelqu'un sait-il ce que cela a à voir ?

Sur 4, il se peut que cela ne fonctionne pas correctement si la devise du dépôt n'est pas l'USD et qu'il n'y a pas de conversions requises dans l'aperçu du marché. Le prix du point en monnaie de dépôt et les volumes de dépôt ne peuvent tout simplement pas être calculés, il n'y a pas de données.

Pour être bon et correct - si le dépôt est par exemple en RUB, alors TOUTES les paires de roubles disponibles devraient être incluses. Et il est préférable de conserver les dépôts dans les principales devises, USD/EUR/JPY. Les mineurs sont juste pour le plaisir du désespoir.

PS/ Si le dépôt n'est pas en USD : L'instrument a les propriétés SYMBOL_CURRENCY_PROFIT,BASE,MARGIN - avant de le trader/analyser, ajoutez les paires appropriées avec ACCOUNT_CURRENCY, par SymbolSelect(). D'avance !

PPS/ J'ai connu une telle situation seulement en 4... Je n'avais pas encore de comptes exotiques en 5 :-) Je ne dirai rien à ce sujet.

 

Je ne comprends pas pourquoi les niveaux de négociation ne sont pas affichés sur certains symboles et qu'il n'y a pas de possibilité de définir une négociation en un clic.

 
Bonjour, j'ai une question sur le terminal MT4. Je travaille avec MT4 depuis plusieurs années maintenant, mais je n'ai jamais rencontré une telle chose. Je ne sais pas quoi faire lorsque je travaille sur mon PC et que je ne l'ai pas sur les terminaux qui sont sur un serveur distant.
 

Bonjour !!!!

Veuillez m'aider à modifier une fonction qui calcule uniquement les pertes des ordres non rentables dans une grille d'ordres.

//+----------------------------------------------------------------------------+
//| Калькуляция убыточных ордеров                                              |
//+----------------------------------------------------------------------------+
double Loss()
  {
   double oLoss = 0;
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
           {
            if(OrderType() == OP_BUY || OrderType() == OP_SELL)
              {
               if(OrderProfit()<0)
                 {
                  oLoss += OrderProfit();
                 }
              }
           }
        }
     }
   return(oLoss);
  }

Nous devons modifier la fonction qui calcule uniquement la taille minimale du lot à partir de chaque ordre dans le réseau d'ordres. Lot min=0.01

Merci !!!!

 

Bonjour, je viens de commencer à apprendre MQL4 et j'essaie de développer un Expert Advisor basé sur les données de l'indicateur renko bricks v2. Le problème est que l'EA avec des calculs simples semble être très lent dans le testeur. Il fonctionne mais très lentement. Je pense que je n'ai peut-être pas assez d'expérience pour écrire des bêtises et je demande donc l'aide des anciens).

En résumé. Expert Advisor scalper, trade sur m1, attend le changement de couleur de la brique et ouvre une transaction dans la direction d'un nouveau mouvement. Je joins ci-dessous le code source lui-même conseiller, et turndown. Merci d'avance !

Dossiers :
 
Dmitri73 #:
Bonjour, question sur le terminal MT4. Je travaille avec MT4 depuis quelques années maintenant, mais je n'ai jamais vu une telle chose. Je ne sais pas pourquoi je continue à recevoir ces signaux étranges de la part des robots de trading et je ne suis pas sûr de pouvoir les faire fonctionner sur mon PC ou non.

Bizarre, c'est quoi la construction ?

 

Bonjour. Question pour les experts en codage, car je ne trouve pas de réponse à ma question nulle part. J'utilise la fonction for pour rechercher des bougies, trouver la bonne bougie et obtenir les données de celle-ci, mais dans une énumération de bougies il y en a plusieurs, comment puis-je obtenir la plus proche d'entre elles ? Je n'arrive pas à le trouver.

int SvechaVniz()
  {
   for( a=2; a<55; a++)
     {
      if(iClose(Symbol(),TF_1,a)<iOpen(Symbol(),TF_1,a))
        {
         dn=a;
         dn_o=iOpen(Symbol(),TF_1,dn);
         dn_h=iHigh(Symbol(),TF_1,dn);
         dn_l=iLow(Symbol(),TF_1,dn);
         dn_c=iClose(Symbol(),TF_1,dn);
         Print(dn);
         в переменную dn приходит несколько индексов свечей, как их перебрать и выбрать ближайший?
        }
     }
   return(0);
  }
 
Александр Вараксин #:

Bonjour. Question pour les experts en codage, car je ne trouve pas de réponse à ma question nulle part. J'utilise la fonction for pour rechercher des bougies, trouver la bonne bougie et obtenir les données de celle-ci, mais dans une énumération de bougies il y en a plusieurs, comment puis-je obtenir la plus proche d'entre elles ? Je ne peux pas l'avoir.

Si vous démarrez le cycle à partir de la dernière bougie, la dernière "bougie nécessaire" aura l'indice le plus proche.

for( a=55; a>2; a--)
 
Александр Вараксин #:

Bonjour. Question pour les experts en codage, car je ne trouve pas de réponse à ma question nulle part. J'utilise la fonction for pour rechercher des bougies, trouver la bonne bougie et obtenir les données de celle-ci, mais dans une énumération de bougies il y en a plusieurs, comment puis-je obtenir la plus proche d'entre elles ? Je n'arrive pas à le trouver.

Vous pouvez le faire comme ça :

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   
Alert("индекс свечи = ",SvechaVniz(0)); 
   
  }
//+------------------------------------------------------------------+

int SvechaVniz( int n=0)
  {  
  int  k=0;
  
   for(int a=0; a<55; a++)
     {
      if(iClose(Symbol(),0,a)<iOpen(Symbol(),0,a))
        {
         k++;
         if (k>n) return(a);
        }
     }
   return(0);
  }

La fonction renvoie l'index de la bougie dont vous avez besoin,

0 est le plus proche, 1 est le suivant.

 
Alekseu Fedotov #:

Vous pouvez le faire comme ça :

La fonction renvoie l'indice de la bougie souhaitée,

0 est le plus proche, 1 le suivant.

Merci, je vais l'essayer.
Raison: