どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 636

 

コードライン

int Dgt=MarketInfo(Symbol(),MODE_DIGITS);

警告

タイプ変換によりデータが失われる可能性が ある FinBuy1531.mq4 144 7

タイプが対応しているのだと思います。ここで何が問題なのか?

 
hurkin:

コードライン

警告

タイプ変換によりデータが失われる可能性がある FinBuy1531.mq4 144 7

タイプは私の意見に対応しています。どうしたんですか?

一致しない場合、MarketInfo(...)はdouble 型の値を返します。

というようなものです。

int Dgt=(int)MarketInfo(Symbol(),MODE_DIGITS);
 
r772ra:

一致しません。MarketInfo(...)はdouble 型の値を返します。

このように

ディレクトリからの例です。

double vpoint =MarketInfo("EURUSD",MODE_POINT)。
int vdigits =MarketInfo("EURUSD",MODE_DIGITS)。
他に何か問題があるような?

 
Shurkin:

ディレクトリからの例です。

double vpoint =MarketInfo("EURUSD",MODE_POINT)。
int vdigits =MarketInfo("EURUSD",MODE_DIGITS)。
他に何か問題があるような?

MODE_DIGITS "の場合、"MarketInfo "は "double "型の値を返す。ここでは、"MarketInfo "の実装エラーのように見えます。したがって、正しい方法は、次のようになります。

int Dgt=(int)MarketInfo(Symbol(),MODE_DIGITS);
 

最後の質問です。

オブジェクトの説明には、テキスト(名前ではない)と桁があり、桁は刻みで変化する。

どうすれば番号を出せるのか?

 
Top2n:

最後の質問です。

オブジェクトの説明には、テキスト(名前ではない)と桁があり、桁は刻みで変化する。

どうすれば番号を出せるのか?

StringFindが お手伝いします。そして、intStrToInteger または longStringToInteger があります。
 

こんにちは。よろしくお願いします。

MT4 646th buildをインストールしました。I placed in folder ...\MetaTrader 4 Admiral Markets AS Apache Indicators two files - with indicator code LC-RSI_Histo3.mq4 and file with compiled indicator LC-RSI_Histo3.ex4.インジケータを実行すると、動作する。しかし、ソースコードを変更したい。埋め込みコードエディタを開くと問題は、コードに化粧直し(例えばスペースを追加)をし、その後コンパイルすると、起動後のインジケーターが正しく動作せず、すべての列が同じ値を表示することです。

コンパイルした.ex4ファイル(LC-RSI_Histo3_1.ex4という名前で添付)はオリジナル(フォルダにコピーしたもの)よりはるかに重くなります。

その理由は何でしょうか。どのように修正するのか?

ファイル:
 

みなさん、こんにちは。

このエラーについて助けてください。"Not enough rights" or "Not enough rights" code #7

現象:EURCHFX M1ペアのExpert Advisorがポジションを開く ことができず、このエラーが表示される(ジャーナルで発見)。問題なく手で開けることができます。別の証券会社では、それが有効です。何が問題なのでしょうか?

よろしくお願いします。

 
AlexeyVik:
StringFindは あなたのガイドです。そして、intStrToInteger または longStringToInteger


この関数は、数値そのものではなく、時間枠内の位置の数を返す。

int  StringFind(
   string  string_value,        // строка, в которой ищем
   string  match_substring,     // что ищем
   int     start_pos=0          // с какой позиции начинать поиск
   );

ポジション番号がわかったとすると、このポジションを抽出するにはどうすればいいのでしょうか?

 
Boeing747:

文字列配列の要素をアルファベット順にグループ化する例のコードをお持ちの方はいらっしゃいませんか?

ありがとうございました。


   string w[]={"E","c","f","b","j","R","A","H","a","c"}; // массив для экзекуции
   int size=ArraySize(w);
   string abc[]={"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"};
   string ABC[]={"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 c,e,i;

   for(i=0; i<26; i++)
     {
      for(e=c; e<size; e++)
        {
         if(ABC[i]==w[e])
           {
            w[e]=w[c];
            w[c]=ABC[i];
            c++;
           }
         else
           {
            if(abc[i]==w[e])
              {
               w[e]=w[c];
               w[c]=abc[i];
               c++;
              }
           }


        }
     }
   
   Alert(w[0],w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],w[9]);

応用タスクの別の例

   string w[]={"EURUSD","USDCHF","BRNQ4","AUDUSD","GOLD","AUDCHF","NZDUSD","USDCAD","SILVER","GBPUSD"}; // массив для экзекуции
   int size=ArraySize(w);
   string f=" ";
   string ABC[]={"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 c,e,i;

   for(i=0; i<26; i++)
     {
      for(e=c; e<size; e++)
        {
         f=w[e];
         if(ABC[i]==StringSubstr(f,0,1))
           {
            w[e]=w[c];
            w[c]=f;
            c++;
           }
        }
     }

   Alert(w[0],", ",w[1],", ",w[2],", ",w[3],", ",w[4],", ",w[5],", ",w[6],", ",w[7],", ",w[8],", ",w[9]);