FOREXにおけるシンボル名の最大長 - ページ 3

 
Vitaly Muzichenko:

しかし、なぜそこで文字の長さに関係なく代入できないのか、その問題が理解できない

マジックはulong型(8バイト)なので、6バイトが基本マジックに、2バイトがそのバリエーションのマジックに使われる

 
Vitaly Muzichenko:

しかし、この問題がよくわからない、なぜ文字の長さに関係なく、すぐに置くことができないのだろう

以下はコードの一部です。見ていただけると思います。

string FindSymbol(const string str)
{
     
     string symbol = NULL, sym = str;
     if( !StringToUpper( sym ) ) return symbol;

     for(i=0; i<SymbolsTotal(false); i++)
     {
          string s = SymbolName(i, false);
          if( !StringToUpper( s ) ) continue;
          if(StringFind(sym, s, 0) < 0 &&
             StringFind(s, sym, 0) < 0) continue;
          symbol = SymbolName(i, false);
          break;
     }

     return symbol;
}
シチュエーションは様々です。特にクライアント向けに書く場合は、ダブルチェックをしたほうがいい。
 
prostotrader:

Magicはulong型(8バイト)なので、6バイトがメインマジシャン、2バイトがそのバリエーションマジシャンに使用されます。

これはどうでしょう?

string GetForexName(string Str)
  {
  string ch, res;
  string mass[26]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
  int Len=StringLen(Str);
  // цикл по буквам строки
   for(int i=0;i<Len;i++)
     {
      ch=StringSubstr(Str,i,1);
      for(int c=0;c<26;c++)
       {
        if(mass[c]==ch)
          res+=ch;
          break;
       }
     }
//---
   return(res);
  }

//Print( GetForexName(/*_Symbol*/".AUDCHFnosp") ); // получим чистый символ, без префиксов и суффиксов "AUDCHF"
 
Alexander Bereznyak:

通貨ペアのみ使用する場合。

ForSymbolInfoString()

enum_symbol_info_string

識別子

商品説明

物件タイプ

SYMBOL_BASIS

デリバティブの原資産名

シンボル_通貨ベース

商品の基準通貨

シンボル_カレンシー_プロフィット

利益通貨

シンボル_カレンシー_マージン

マージンを計算する通貨

SYMBOL_BANK

現在の引用元

シンボル_ディスクリプション

シンボルの文字列説明

SYMBOL_FORMULA

カスタムシンボルの価格構成式

SYMBOL_ISIN

ISIN(International Securities Identification Number)システムにおける取引記号の名称。国際証券識別番号とは、証券を一意に識別する12桁の英数字のコードです。この特性の有無は、トレードサーバー側で定義されます。

シンボルページ

シンボルに関する情報が掲載されているウェブページのアドレス。このアドレスは、ターミナルでシンボルのプロパティを表示する際に、リンクとして表示されます

SYMBOL_PATH

シンボルツリー内のパス

ありがとうございます。どなたか、SYMBOL_DESCRIPTIONと SYMBOL_ISINをecn___と.AUDCHFnospの 文字で照会した場合、何が返されるか確認できませんか?

 
prostotrader:

ありがとうございます。SYMBOL_DESCRIPTIONと SYMBOL_ISINをecn___と.AUDCHFnospの 文字で照会した場合、何が返されるか確認できる人はいますか?

これです。

Print( "SYMBOL_CURRENCY_BASE=",SymbolInfoString("AUDNZD",SYMBOL_CURRENCY_BASE)," || SYMBOL_ISIN=",SymbolInfoString("AUDNZD",SYMBOL_ISIN) );

2018.08.24 11:58:36.727	Sym AUDNZD,H1: SYMBOL_CURRENCY_BASE=AUD || SYMBOL_ISIN=
 
Vitaly Muzichenko:

お待たせしました。

ありがとうございます、でもSYMBOL_DESCRIPTION?

I.e. 基底文字は常にペアの最初の文字になるのですか?
 
Vitalyさん、"crooked "文字に"FOREX done. "のメッセージが表示されるかどうか確認してください。
ファイル:
 
prostotrader:
Vitalyさん、「曲がった」文字に「FOREX done.」と表示されるかどうか確認してみてください

prostotrader さん、申し訳ないですが、今は無理です。建設現場があり、時間が全くありません。休憩時間に2、3分しかパソコンに向かわないんです。

 
Vitaly Muzichenko:

prostotrader さん、申し訳ないですが、今は無理です。建設現場があり、時間が全くありません。休憩時間に2、3分しかパソコンに向かわないんです。

オッケー

6文字以外の文字について確認してください。

 
prostotrader:

オーケー

6文字以外の記号について確認してください。

プロストトレーダー なら、FX口座を取得してテストしてください、すでにmt5端末を持っているはずです。より高速になり、すべてのログが表示されます。