FORTS:帮助初学者 - 页 10

 
Dmi3:

像往常一样,你对问题的实质无话可说?

而且没有人看到这个问题--他们只看到你毫无根据的指责。让我提醒你--这主要是一个技术论坛,每一次的空中摇摆都必须有技术细节的支持。将此视为你的第一次和最后一次警告。

 

candle_time_end_and_spread指标已经计算出到期时间。我一直忘了这件事。它可能对某人有用。

附加的文件:
 

有没有一种简单的方法来获取期货上的相关资产的名称?目前,我正在写一个长的匹配表,但肯定有一个更简单的方法。也许我可以用moex来请求,但不清楚怎么做,我不知道我在那里做什么。

   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:

有没有一种简单的方法来获取期货上的相关资产的名称?目前,我正在写一个长的匹配表,但肯定有一个更简单的方法。也许我可以用moex来发送请求,但不清楚怎么做。

没有办法,你可以自己写一个位置。

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");
} 
石油在MICEX上没有位置
 
vponed:

candle_time_end_and_spread指标已经计算出到期时间。我一直忘了这件事。它可能对某人有用。

我给GetExpiration()函数不是为了让你代为 发布,而是为了个人使用。

 
prostotrader:

我给GetExpiration()函数不是为了让你代为 发布,而是为了个人使用!

我非常抱歉,我马上就写了,我从这里拿了这个函数,而且这个指标也是一个第三方指标。或者删除它,因为你抗议修改。
我没有打算偷任何东西,只是觉得它可能对某人有用。
我甚至没有在代码中提到它是我的(我不在乎)。

是的,非常感谢你提供的专题。

 
prostotrader:

没有办法占用一个位置,你可以自己写。

石油在MICEX上没有位置
我知道,任务是从相关资产中获取月度交易量,所以我返回BR Splice,交易量肯定会有
,而且你为什么使用USDRUB_TOM而不是TOD,那里的流动性更强?
 
vponed:
我知道,目标是获得相关资产的月度交易量,所以我返回BR Splice,交易量肯定会有 ,而且你为什么使用USDRUB_TOM而不是TOD,那里的流动性更强?

不,TOM的使用时间更长

 
prostotrader:

不,TOM需要更长的时间才能达到

然后你必须添加一个定时覆盖

 
prostotrader:

没有办法拿下一个名额,你可以自己写。

石油在MICEX上没有一席之地

同样的信息经常从SymbolInfoString(_Symbol,SYMBOL_BASIS)返回。

这样看来,功能可以大大减少。只归还不同的东西。

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;

  }

和拼接就可以了

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