2021年:【最新】FX情報商材ランキング発表
FX情報商材ランキング|2021年版

‘return’ – expressions are not allowed on a global scopeのエラーを5秒で修正する方法を教えるよ!

'return' - expressions are not allowed on a global scopeのエラーを修正する方法

‘return’ – expressions are not allowed on a global scopeのエラーを修正する方法

ダウンロードしたインジケーターが動かない…なぜ?

前回の記事「パラボリックだけで勝てる!伝説の”372手法”とは?」で紹介したMTF_PSar.mq4というインジケーターをダウンロードしてMT4に設定しても、うんともすんとも言わない…なぜなのか?というお問い合わせをいただきました。

質問者がメールに記載していたWEBサイトからMTF_PSar.mq4をダウンロードしてみたのですが、たしかにMT4に設定してもなにも表示されません。

‘return’ – expressions are not allowed on a global scopeというエラーについて

メタエディタ(MetaEditor)で、DLしたMTF_PSar.mq4を開いてみると、案の定以下のようなエラー表示がでます。

'return' - expressions are not allowed on a global scope

‘return’ – expressions are not allowed on a global scope

‘return’ – expressions are not allowed on a global scope

ざっくり訳すと、「returnという式はグローバルスコープでは使えませんよ」という内容ですね。

上のエラー、ネットで拾ってきた無料インジケーターでたまに見かけます。このエラーですが、実は古いMT4(build600以前)であれば表示されません(正常にコンパイルできる)。

つまり、DLしたMTF_PSar.mq4は、build600より前に作成された(build600以前のMT4に最適化された)インジケーターだったわけですね。実際のところ、MTF_PSar.mq4の制作年月日は、ソースコードによれば2006年となっていました。

MT4のバージョンアップ(build)に合わせて、インジケーターのソースを改編するなどしてくれているインジケーター製作者もいますが、ネットで拾える無料インジケーターの大半はコピーのコピーです。

どこからか適当に拾ってきたものをコピーして掲載、それをまただれかがコピーして掲載…これを繰り返しているわけです。結果的に、非常に古いインジケーターがそのままの状態で提供されていたりするのです。

2021年:【最新】FX情報商材ランキング発表
FX情報商材ランキング|2021年版

‘return’ – expressions are not allowed on a global scopeエラーを修正する方法

さて、コンパイルエラーが‘return’ – expressions are not allowed on a global scopeだけならば、修正は簡単です。

※ここからはMetaEditorを使える人のみにお伝えする情報となります。

MetaEditorにて問題のインジケーターを開き、コードを一箇所だけ修正すればOK。問題となっている箇所は60行目。

コンパイルエラーの箇所

コンパイルエラーの箇所

return(0);   ←これですね。この return(0); を、57行目と58行目の間に移動させれば完了です。

コンパイルエラーの修正

コンパイルエラーの修正

上図のように…

int init()
  {

  }

の中に return(0); を入れてあげれば良いのです。

コンパイルエラーを修正

コンパイルエラーを修正

ご覧の通り、‘return’ – expressions are not allowed on a global scopeが消えましたね。

コンパイルが正常にできたところで、MTF_PSar.mq4をMT4のチャート上にドラッグドロップしてあげれば、正しく表示されます。

MTF_PSar.mq4

MTF_PSar.mq4

動かないインジケーターはソースコードを開いてみれば修正できるかもよ!

ネットから無料でダウンロードしたインジケーターが、なぜだか表示されない…そんなときはMetaEditorでそのインジケーターを開いてソースコードをチェックしてみましょう。もしもエラー表示が‘return’ – expressions are not allowed on a global scopeだけならば、誰でも容易に修正できます。

プログラミングがよくわからなくても、一行だけの修正(カット&ペースト)なので、難しい作業ではありません。

この裏技(?)を覚えておけばとても便利ですよ。

パラボリックだけで勝てる!伝説の”372手法”とは?

広告(スポンサーリンク)
FX情報商材ランキング|2021年版

 

FX情報商材評価の一覧はこちらから

S評価商材
A評価商材
B評価商材
C評価商材
D評価商材
評価s
…非常に高く評価する
評価A
…高く評価する
評価b
…評価する
評価c
…凡庸
評価d
…難あり

全FX商材評価一覧はこちら