要塞:初心者を助けるために - ページ 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()関数は、あなたが代理で 投稿 するためではなく、PERSONALで使用するために用意しました

 
prostotrader:

GetExpiration()関数は、代理で 投稿する ためにあげたのではなく、PERSONALで使用するためにあげたのです

大変失礼しました、すぐにこちらから関数をパクったこと、インジケーターもサードパーティ製であることを書きました。あるいは、改造に抗議するので削除してください。
盗むつもりはなく、誰かの役に立つかもしれないと思っただけです。
私のものであることはコードにも書いていません(どうでもいいんです、なんとなく)。

ええ、そして特集を組んでいただき、本当にありがとうございます。

 
prostotrader:

スポットは取りようがない、自分で書けばいい。

MICEXに石油の居場所はない
私は知っている、タスクは、原資産から毎月のボリュームを取得することですので、私はBRスプライスを返し、ボリュームは間違いなくあるでしょう
そして、なぜあなたはTODではなくUSDRUB_TOMを使用している、より多くの流動性があるのでしょうか?
 
vponed:
私は知っている、目標は、原資産から毎月のボリュームを取得することですので、私はBRのスプライスを返す、ボリュームは間違いなくあるでしょう そして、なぜあなたはTODではなくUSDRUB_TOMを使っている、より多くの流動性があるのでしょうか?

いいえ、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;

  }

とspliceが動作します。

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