FORTS: Para ajudar iniciantes - página 10

 
Dmi3:

Como de costume, você não tem nada a dizer sobre o conteúdo da pergunta?

E ninguém viu a pergunta - eles só viram suas acusações infundadas. Deixe-me lembrá-lo - este é principalmente um fórum técnico e todo airshake deve ser apoiado por detalhes técnicos. Considere isto como seu primeiro e último aviso.

 

O indicador de tempo_de_fecho_e_difusão da vela calculou o tempo de expiração. Eu continuo esquecendo isso. Pode ser útil para alguém:

Arquivos anexados:
 

Existe uma maneira simples de obter o nome do ativo subjacente nos futuros? No momento, estou escrevendo uma longa tabela de correspondência, mas certamente há uma maneira mais fácil. Talvez eu possa usar o moex para solicitá-lo, mas não está claro como fazê-lo, não sei o que diabos estou fazendo 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 uma maneira simples de obter o nome do ativo subjacente nos futuros? No momento, estou escrevendo uma longa tabela de correspondência, mas certamente há uma maneira mais fácil. Talvez eu possa usar o moex para enviar um pedido, mas não está claro como fazer isso.

Não há maneira de ocupar um lugar, você mesmo pode escrever um:

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");
} 
O óleo não tem mancha no MICEX
 
vponed:

O indicador de tempo_de_fecho_e_difusão da vela calculou o tempo de expiração. Eu continuo esquecendo isso. Pode ser útil para alguém:

Eu dei a função GetExpiration() não para você publicá-la em seu nome, mas para uso PESSOAL!

 
prostotrader:

Eu não dei a função GetExpiration() para você afixá-la em seu nome, mas para uso PESSOAL!

Lamento muito, escrevi imediatamente que assumi a função daqui, e que o indicador é também um indicador de terceiros. Ou exclua-o, já que você protesta contra modificações.
Eu não pretendia roubar nada, apenas pensei que poderia ser útil para alguém.
Eu nem mencionei no código que ele era meu (não me importo)

Sim, e muito obrigado por esta característica.

 
prostotrader:

Não há maneira de ocupar um lugar, você pode escrever o seu próprio:

O óleo não tem mancha no MICEX
Eu sei, a tarefa é obter volumes mensais do ativo subjacente, então eu devolvo BR Splice, os volumes definitivamente estarão lá
E por que você está usando USDRUB_TOM e não TOD, há mais liquidez?
 
vponed:
Eu sei, o objetivo é obter volumes mensais do ativo subjacente, então eu devolvo BR Splice, os volumes estarão definitivamente lá
E por que você está usando USDRUB_TOM e não TOD, há mais liquidez?

Não, o TOM está disponível por mais tempo

 
prostotrader:

Não, o TOM leva mais tempo para chegar

Então você tem que adicionar uma anulação de tempo

 
prostotrader:

Não há maneira de ocupar um lugar, você mesmo pode escrever um:

O óleo não tem uma mancha no MICEX

As mesmas informações são frequentemente retornadas deSymbolInfoString(_Symbol,SYMBOL_BASIS)

Portanto, parece que a função pode ser muito reduzida. Retornar somente o que é diferente:

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;

  }

e emendas funcionarão

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