MQLエキスパートへの質問 - ページ 15

 

Zhunkoさん、TheXpertさん、ありがとうございました !

あなたのバリアントは、この種のエラーを排除します

 

こんにちは。

アップデートされたmt4でインジケータをコンパイルする際に出る警告の意味を教えてください。

すべての制御パスが値を返すわけではない S_E_v.mq4 181
0 エラー(s), 1 警告(s) 1 2

 
Rita:

アップデートされたmt4でインジケータをコンパイルする際に出る警告の意味を教えてください。

値を返す関数の中に、何も返さないケースがあるということで、これはまずい。
 

プログラマーの皆さん、助けてください!1時間足のTFで指定された時間のバーオフセットを決定する必要があります。チュートリアルの標準的な手順では0になります。

 datetime some_time=D'2004.03.21 12:00';
  int      shift=iBarShift("EUROUSD",PERIOD_M1,some_time);
  Print("shift of bar with open time ",TimeToStr(some_time)," is ",shift);
 
Nesradamus:

プログラマーの皆さん、助けてください!1時間足で指定された時間のバーオフセットを決定する必要があります。チュートリアルの標準的な手順では0になります。

"EUROUSD"

そんな記号があるのですか?

 

午後

前回のmt4アップデートとEAコンパイルの後、101-106-109の3行に警告が表示されています(図参照)。

アドバイスしてください、 - どのように修正するには、ここでこの関数のコードです。

(とか(修正したほうがいいのか?)

int init()
{
 ExpertBars = Bars;
//-----------------------------------------------------------
gbNoInit=False; if (!IsTradeAllowed()) {
    Message("Для нормальной работы советника необходимо\n"+
            "Разрешить советнику торговать");
    gbNoInit=True; return;
  }
  if (!IsLibrariesAllowed()) {
    Message("Для нормальной работы советника необходимо\n"+
            "Разрешить импорт из внешних экспертов");
    gbNoInit=True; return;
  }
//------------------
}
 
Rita:

午後前回のmt4アップデートとEAコンパイルの後、101-106-109の3行に警告が表示されています(図参照)。

アドバイスしてください、 - どのように修正するには、ここでこの関数のコードです。

(とか(修正したほうがいいのか?)

init()はint型 なので、値を返す必要があります。最後の閉じ括弧の前に、次のように書きます。

return(INIT_SUCCEEDED);

ある関数の中で、関数が何も返さない場合がある場所があります。関数が表示されていません。最後の閉じ括弧に残すことが可能な関数を自分で検索してください。

 
以下はそのコードです。
artmedia70:

.最後の閉じ括弧の前に、......と書く。

関数が表示されませんでしたが、最後の閉じ括弧に残すことが可能な関数を自分で検索してください。


ありがとうございます。修正しました return(INIT_SUCCEEDED);.

以下は、残り2つの警告に対するこの未公開関数のコードです。

//+----------------------------------------------------------------------------+
//|  Вывод сообщения в коммент и в журнал                                      |
//+----------------------------------------------------------------------------+
void Message(string m) {
  Comment(m);
  if (StringLen(m)>0) Print(m);}

.

 
Rita:
以下はそのコードです。

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

以下は、他の2つの警告に関するこの関数のコードです。

1.deinit() も int で return(0) が書かれていない可能性が高いです。

2.この関数は無効であり、閉じ括弧は return` として機能する。その中ですべてがOKです。

 

deinit() ・・・・・・・・・・・・・・・・・全く持っていない。

残り2つの警告でreturnをreturn(0 )に修正し、 問題なくコードがコンパイルされました。

ありがとうございます。