FORTS. Questions relatives à l'application de la loi - page 120

 
Sur le serveur de démonstration MQ, les tickers de la section FORTS ont les trois devises - cotation/profit, marge, base - définies en RUR, mais un grand nombre de tickers (tels que BR-, GOLD-, etc.) sont évidemment cotés en USD. Question : s'agit-il d'un problème lié aux paramètres de la démo ? Sinon, comment puis-je connaître la devise réelle de ces tickers à partir de MQL ?
 
Stanislav Korotky:
Sur le serveur de démonstration MQ, les tickers de la section FORTS ont les trois devises - cotation/profit, marge, base - définies en RUR, mais un grand nombre de tickers (tels que BR-, GOLD-, etc.) sont clairement cotés en USD. Question : s'agit-il d'un problème lié aux paramètres de la démo ? Si ce n'est pas le cas, comment puis-je connaître la devise réelle de ces tickers à partir de MQL ?

Oui, ils sont cotés en USD et la compensation est recalculée et les différences de taux de change sont prises en compte.

 
Aleksey Vyazmikin:

Oui, ils sont indiqués en USD, et lors de la compensation, il y a un nouveau calcul et les différences de taux de change sont prises en compte.

"Oui", dans quel sens ? En réalité USD, mais dans le terminal RUR. Comment cela peut-il être géré à partir du programme ? Pour l'instant, je ne vois qu'une seule solution : multiplier les paramètres d'entrée pour pouvoir superposer les valeurs des fonctions API MQL.

 
Stanislav Korotky:

"Oui", dans quel sens ? En réalité USD, mais dans le terminal RUR. Comment le gérer à partir du programme ? Jusqu'à présent, je ne vois qu'une seule solution : multiplier les paramètres d'entrée afin de superposer les valeurs des fonctions API MQL.

Quel est le but de tout cela ? Pour calculer le GO ?

 
Stanislav Korotky:

"Oui", dans quel sens ? En réalité USD, mais dans le terminal RUR. Comment le gérer à partir du programme ? Pour l'instant, je ne vois qu'une seule solution : multiplier les paramètres d'entrée afin de superposer les valeurs des fonctions de l'API MQL.

Je convertis tout en points et je travaille avec eux.

Si je dois convertir des points en prix, j'utilise

cette fonction.

//+------------------------------------------------------------------+
//| Expert Points to price function                                  |
//+------------------------------------------------------------------+
double PointsToPrice(const long a_points)
{
  step_price = SymbolInfoDouble(Symbol(), SYMBOL_TRADE_TICK_SIZE);
  double a_price = (double(a_points) * Point() ) / step_price;
  if(a_points < 0)
  {
    a_price = MathFloor(a_price) * step_price;
  }
  else
  {
    a_price = MathCeil(a_price) * step_price;
  }
  return(NormalizeDouble(a_price, Digits()));
}

Si je veux convertir le CS, il est en roubles pour tous les tickers.

Ajouté

En conséquence, les paramètres d'entrée sont des points.

permet d'effectuer des calculs universels pour tous les symboles.

 

Compte réel dans Otkritie. J'essaie d'obtenir des données de compte (solde, fonds, marge et autres) en utilisant la fonction AccountInfoDouble.

J'obtiens presque tout ce qui est correct, mais lorsque j'essaie d'obtenir les niveaux d'appel de marge et de sortie avec des lignes :

double MarginCallValue = AccountInfoDouble(ACCOUNT_MARGIN_SO_CALL);
double MarginStopValue = AccountInfoDouble(ACCOUNT_MARGIN_SO_SO);


J'ai toujours des zéros. Même chose si c'est fait :

   CAccountInfo* info = new CAccountInfo();
   double val = info.MarginCall();
   double val1 = info.MarginStopOut();


A quoi cela se rapporte-t-il ? Pourquoi ai-je toujours des zéros ? Est-ce un problème de courtier ou un problème de MT5 ?

 
Zmeev:

Compte réel dans Otkritie. J'essaie d'obtenir des données de compte (solde, fonds, marge et autres) en utilisant la fonction AccountInfoDouble.

J'obtiens presque tout ce qui est correct, mais lorsque j'essaie d'obtenir les niveaux d'appel de marge et de sortie avec des lignes :

double MarginCallValue = AccountInfoDouble(ACCOUNT_MARGIN_SO_CALL);
double MarginStopValue = AccountInfoDouble(ACCOUNT_MARGIN_SO_SO);


J'ai toujours des zéros. Même chose si c'est fait :

   CAccountInfo* info = new CAccountInfo();
   double val = info.MarginCall();
   double val1 = info.MarginStopOut();


A quoi cela se rapporte-t-il, pourquoi ai-je toujours des zéros ? Est-ce un problème de courtier ou un problème de MT5 ?

FOREX ?

 

FORTS.

Le reste des données comptables reçues est conforme à la réalité.

J'ai demandé au courtier, mais il était complètement déconnecté et ne m'a pas aidé.
 
Zmeev:

FORTS.

Le reste des détails du compte reçus sont vrais.

J'ai demandé au courtier, mais il n'est pas du tout au courant et ne m'aide pas du tout.

Il semble donc qu'ils surveillent eux-mêmes la situation par d'autres moyens, ils envoient généralement un SMS, peuvent appeler et ensuite fermer.....

Cela dépend de la situation, il y a des gestionnaires de risques qui surveillent cela. Le serveur n'est peut-être pas entièrement configuré...

 
Aleksey Vyazmikin:

Quel est le but de tout cela ? Pour calculer le GO ?

L'objectif est simple : un indicateur de cluster correct. En fait, on ne comprend pas pourquoi le terminal renvoie des RUR si le prix est clairement en USD. Est-ce normal ?

prostotrader:

Je convertis tout en points et je travaille avec des points.

Si je dois convertir des points en prix, j'utilise

Dans quelle monnaie serait le prix ? Encore une fois, vous ne savez pas. Je dois convertir les prix de différents instruments en un prix commun.