FORTS : Pour aider les débutants - page 10

 
Dmi3:

Comme d'habitude, vous n'avez rien à dire sur le fond de la question ?

Et personne n'a vu la question - ils ont seulement vu vos accusations non fondées. Permettez-moi de vous rappeler qu'il s'agit avant tout d'un forum technique et que chaque tour de piste doit être étayé par des détails techniques. Considérez ceci comme votre premier et dernier avertissement.

 

L'indicateur candle_time_end_and_spread a calculé l'heure d'expiration. Je continue à l'oublier. Cela peut être utile pour quelqu'un :

Dossiers :
 

Existe-t-il un moyen simple d'obtenir le nom de l'actif sous-jacent sur les contrats à terme ? Pour l'instant, j'écris un long tableau de correspondance, mais il existe sûrement un moyen plus simple. Je peux peut-être utiliser moex pour le demander, mais la façon de procéder n'est pas claire, je ne sais pas ce que je fais là.

   if(future_basis == "Si") return "USDRUB_TOD";
   if(future_basis == "RVI") return future_basis;
   if(future_basis == "GAZR") return "GAZP";
   if(future_basis == "VTBR") return future_basis;
   if(future_basis == "Eu") return "EURRUB_TOD";
   if(future_basis == "SBRF") return "SBER";
   if(future_basis == "BR") return "BR Splice";
 
vponed:

Existe-t-il un moyen simple d'obtenir le nom de l'actif sous-jacent sur les contrats à terme ? Pour l'instant, j'écris un long tableau de correspondance, mais il existe sûrement un moyen plus simple. Je peux peut-être utiliser moex pour envoyer une requête, mais la façon de procéder n'est pas claire.

Il n'y a pas moyen de prendre une place, vous pouvez en écrire une vous-même :

string GetSpot(const string a_symbol)
{
  if(StringFind(a_symbol, "AFLT-") > -1) return("AFLT"); else
  if(StringFind(a_symbol, "AFKS-") > -1) return("AFKS"); else
  if(StringFind(a_symbol, "ALRS-")> -1) return("ALRS"); else
  if(StringFind(a_symbol, "CHMF-")> -1) return("CHMF"); else
  if(StringFind(a_symbol, "Eu-")> -1) return("EURRUB_TOM"); else
  if(StringFind(a_symbol, "FEES-")> -1) return("FEES"); else
  if(StringFind(a_symbol, "GMKR-")> -1) return("GMKN"); else
  if(StringFind(a_symbol, "GMKN-")> -1) return("GMKN"); else
  if(StringFind(a_symbol, "GAZR-")> -1) return("GAZP"); else
  if(StringFind(a_symbol, "HYDR-")> -1) return("HYDR"); else
  if(StringFind(a_symbol, "LKOH-")> -1) return("LKOH"); else
  if(StringFind(a_symbol, "MAGN-")> -1) return("MAGN"); else
  if(StringFind(a_symbol, "MOEX-")> -1) return("MOEX"); else
  if(StringFind(a_symbol, "MGNT-")> -1) return("MGNT"); else
  if(StringFind(a_symbol, "MTSI-")> -1) return("MTSS"); else
  if(StringFind(a_symbol, "NOTK-")> -1) return("NVTK"); else
  if(StringFind(a_symbol, "NLMK-")> -1) return("NLMK"); else
  if(StringFind(a_symbol, "PLZL-")> -1) return("PLZL"); else
  if(StringFind(a_symbol, "ROSN-")> -1) return("ROSN"); else
  if(StringFind(a_symbol, "RTKM-")> -1) return("RTKM"); else
  if(StringFind(a_symbol, "SNGP-")> -1) return("SNGSP"); else
  if(StringFind(a_symbol, "SNGR-")> -1) return("SNGS"); else
  if(StringFind(a_symbol, "SBPR-")> -1) return("SBERP"); else
  if(StringFind(a_symbol, "SBRF-")> -1) return("SBER"); else
  if(StringFind(a_symbol, "Si-")> -1) return("USDRUB_TOM"); else
  if(StringFind(a_symbol, "TRNF-")> -1) return("TRNFP"); else
  if(StringFind(a_symbol, "TATN-")> -1) return("TATN"); else
  if(StringFind(a_symbol, "VTBR-")> -1) return("VTBR"); else
  if(StringFind(a_symbol, "FIVE-")> -1) return("FIVE"); else
  if(StringFind(a_symbol, "TCSI-")> -1) return("TCSG"); else
  if(StringFind(a_symbol, "YNDF-")> -1) return("YNDX"); else
  if(StringFind(a_symbol, "POLY-")> -1) return("POLY"); else
  if(StringFind(a_symbol, "IRAO-")> -1) return("IRAO"); else
  if(StringFind(a_symbol, "MAIL-")> -1) return("MAIL");
  return("NONE");
} 
Le pétrole n'a pas sa place au MICEX
 
vponed:

L'indicateur candle_time_end_and_spread a calculé l'heure d'expiration. Je continue à l'oublier. Cela peut être utile pour quelqu'un :

J'ai donné la fonction GetExpiration() non pas pour que vous l' affichiez en votre nom, mais pour un usage PERSONNEL !

 
prostotrader:

Je n'ai pas donné la fonction GetExpiration() pour que vous l' affichiez en votre nom, mais pour un usage PERSONNEL !

Je suis vraiment désolé, j'ai écrit tout de suite que j'ai pris la fonction d'ici, et que l'indicateur est aussi un indicateur tiers. Ou le supprimer, puisque vous protestez contre les modifications.
Je n'avais pas l'intention de voler quoi que ce soit, j'ai juste pensé que cela pourrait être utile à quelqu'un.
Je n'ai même pas mentionné dans le code que c'était le mien (je m'en fiche)

Oui, et merci beaucoup pour l'article.

 
prostotrader:

Il n'y a pas moyen de prendre une place, vous pouvez écrire la vôtre :

Le pétrole n'a pas sa place au MICEX
Je sais, la tâche est d'obtenir les volumes mensuels de l'actif sous-jacent, donc je retourne BR Splice, les volumes seront certainement là
Et pourquoi utilisez-vous USDRUB_TOM et non TOD, il y a plus de liquidité ?
 
vponed:
Je sais, le but est d'obtenir les volumes mensuels de l'actif sous-jacent, donc je retourne BR Splice, les volumes seront certainement là
Et pourquoi utilisez-vous USDRUB_TOM et non TOD, il y a plus de liquidité ?

Non, TOM est disponible plus longtemps

 
prostotrader:

Non, TOM est plus long à atteindre

Ensuite, vous devez ajouter une dérogation au timing

 
prostotrader:

Il n'y a aucun moyen de prendre une place, vous pouvez en écrire une vous-même :

Le pétrole n'a pas sa place au MICEX

La même information est souvent renvoyée parSymbolInfoString(_Symbol,SYMBOL_BASIS).

Il semble donc que la fonction puisse être considérablement réduite. Ne rendez que ce qui est différent :

string basis_from_future(string future)
  {
  string future_basis = SymbolInfoString(_Symbol,SYMBOL_BASIS);

   if(future_basis == "Si")
      return "USDRUB_TOM";
   if(future_basis == "GAZR")
      return "GAZP";
   if(future_basis == "Eu")
      return "EURRUB_TOD";
   if(future_basis == "SBRF")
      return "SBER";
   if(future_basis == "BR")
      return "BR Splice";
   if(future_basis == "GMKR")
      return "GMKN"; 
        if(future_basis == "MTSI")
      return "MTSS"; 
if(future_basis == "NOTK")
      return "NVTK"; 
if(future_basis == "SNGP")
      return "SNGSP"; 
if(future_basis == "SNGR")
      return "SNGS"; 
if(future_basis == "SBPR")
      return "SBERP"; 
if(future_basis == "TRNF")
      return "TRNFP";
if(future_basis == "TCSI")
      return "TCSG";
if(future_basis == "TCSI")
      return "TCSG";
if(future_basis == "YNDF")
      return "YNDX";

   return future_basis;

  }

et l'épissure fonctionnera

Документация по MQL5: Получение рыночной информации / SymbolInfoString
Документация по MQL5: Получение рыночной информации / SymbolInfoString
  • www.mql5.com
SymbolInfoString - Получение рыночной информации - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Raison: