Questions des débutants MQL5 MT5 MetaTrader 5 - page 924

 
Nauris Zukas:

Sans cette modification, l'aide MQl5 ne s'ouvre pas.

Disposez-vous d'une connexion Internet rapide ? Si l'aide ne s'ouvre pas, cela signifie qu'elle est en cours de téléchargement. Il y avait auparavant des messages dans le journal de bord concernant le processus de téléchargement, mais ces messages ont été supprimés.

 

Pouvez-vous me le dire s'il vous plaît ! !!

Que faut-il écrire dans iCustom après le nom de l'indicateur ?

 
TaywinLannister:

Pouvez-vous me le dire s'il vous plaît ! !!

Que dois-je écrire dans iCustom après le nom de l'indicateur ?

Recherchez des exemples avec le code : iCustom

 
TaywinLannister:

Pouvez-vous me le dire s'il vous plaît ! !!

Que faut-il écrire dans iCustom après le nom de l'indicateur ?

Aide sur le site web.
Документация по MQL5: Технические индикаторы / iCustom
Документация по MQL5: Технические индикаторы / iCustom
  • www.mql5.com
[in] input-параметры пользовательского индикатора, разделенные запятыми. Тип и порядок следования параметров должен соответствовать. Если параметры не указаны, то будут использованы значения по умолчанию. INVALID_HANDLE. Для освобождения памяти компьютера от неиспользуемого больше индикатора служит функция IndicatorRelease(), которой...
 
foreXteller:

Cher Vladimir Karputov!

Merci pour le lien !

J'ai parcouru l'article que vous recommandez "ALGORITHME DE GENERATION DE TICK DANS LE TEST DE METATRADER 5 TERMINAUX".

C'est un peu différent - je ne veux pas analyser les valeurs de tick sur un intervalle de minutes, et les dernières valeurs de marché provenant de SymbolInfoTick() ne sont pas si importantes maintenant.

Afin depouvoir jouer avec MetaTrader 5 dans lefutur , je veux tester ma stratégie (mon robot) avec mes programmes sur les cotations d 'une minute de plusieurs devises simultanément, en considérant leurASK, BID, VOLUME et SPREAD, mais pas les chandeliers.

Comme les programmes sont écrits en VISUAL C, je ne peux pas utiliser MT pour les tests.

Les programmes sont assez complexes et peuvent difficilement être traduits en MQL (je prévois d'utiliser des fichiers DLL à l'avenir ).

Merci de votre attention !

CherVladimir Karputov!



L'article que vous avez recommandé est le suivant :

"Algorithme de génération de tic-tac

"Le testeur de stratégie du terminal MetaTrader 5 n'utilise qu'un seul mode de simulation de prix lors des tests - la génération de ticks sur la base des données historiques existantes sur les échelles de temps minutes par les symboles utilisés".

Veuillez indiquer où obtenir les"données historiques existantes sur des échelles de temps de minutes".

Merci d'avance ! !!


 

Pouvez-vous me dire comment attraper un événement de fermeture de position?

void OnTradeTransaction(const MqlTradeTransaction&    trans,
                        const MqlTradeRequest&        request,
                        const MqlTradeResult&         result
                        )
  {
   if(trans.type!=TRADE_TRANSACTION_DEAL_ADD)
      return;
   ...
  }
 
void OnTradeTransaction(const MqlTradeTransaction&    trans,
                        const MqlTradeRequest&        request,
                        const MqlTradeResult&         result
                        )
  {
   if(trans.type!=TRADE_TRANSACTION_DEAL_ADD)
      return;
   if(trans.deal_type!=DEAL_TYPE_BUY && trans.deal_type!=DEAL_TYPE_SELL)
      return;
   ENUM_DEAL_ENTRY entry_type=(ENUM_DEAL_ENTRY)HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
   if(entry_type==DEAL_ENTRY_IN)
      return;
  }

Est-ce correct ? Je pense qu'un contrôle du volume devrait également être ajouté.

 
foreXteller:

CherVladimir Karputov!



Dans l'article que vous recommandez, on peut lire ce qui suit :

"Algorithme de génération de tic-tac

Le testeur de stratégie du terminal MetaTrader 5 n'utilise qu'un seul mode de simulation de prix lors des tests - la génération de ticks sur la base des données historiques existantes sur les délais d'une minute sur les symboles utilisés".

Veuillez indiquer où obtenir les"données historiques existantes sur des échelles de temps de minutes".

Merci d'avance ! !!


Tout est déjà présent dans MetaTrader 5. Depuis le début. Tout de suite. Dès que vous vous connectez au serveur de trading, vous avez immédiatement accès à tout l'historique des tics.

Lorsque vous travaillez en ligne, vous travaillez bien sûr avec de vraies tiques. Lorsque vous travaillez dans le testeur de stratégie, vous pouvez choisir le mode : "Every tick based on real ticks" - la méthode la plus précise, les ticks de l'historique réel, ou l'un des modes de génération de tick : "All ticks", "OHLC".

 

Dites-moi s'il existe un code universel qui permet d'obtenir le bénéfice des positions dans l'historique ? Au moins par pos_id. Ce qui fonctionnerait sur tous les marchés.

 
Juer:

Pouvez-vous me dire comment attraper un événement de fermeture de position?

Pour le forex, j'utilise cette option.

/*********************TradeTransaction function**********************/
void OnTradeTransaction(const MqlTradeTransaction& trans,
                        const MqlTradeRequest& request,
                        const MqlTradeResult& result)
{
  if(trans.type == TRADE_TRANSACTION_DEAL_ADD && trans.symbol == _Symbol)
   {
    /******************** Если открылась позиция********************/
    if(PositionSelectByTicket(trans.position) && PositionGetInteger(POSITION_MAGIC) == magick)
      ifOpenedPosition(trans);
    /******************** Если закрылась позиция********************/
    if(!PositionSelectByTicket(trans.position))
     ifClosedPosition(trans);
   }
}/*******************************************************************/

C'est-à-dire que la position existe ou non.

Juer:

Dites-moi, existe-t-il un code universel qui permet d'obtenir le bénéfice des positions dans l'historique ? Au moins par pos_id. Cela fonctionnerait sur tous les marchés.

En écrire un est "un jeu d'enfant". Il suffit de sélectionner les transactions qui appartiennent à la position et de les parcourir en boucle pour additionner le profit, le swap et la commission.
Raison: