人に聞けない痔の悩み、これでスッキリ >>

評判を聞いてMT4でチャートを表示させいくつかのインジケーターの取り込みに成功しています。フリーのMTF_PSAR.mq4というファイルを(c)・・・MQL4→Indicatorsにいれました。
ダブルクリック後のMetaeditorでコンパイルボタンを押すとエラー(`return`-expressions are not allowed on a global scope)が表示されます。この文をダブルクリックすると60行の位置に進入禁止マークの様な物が出てきます。このインジケーターを使えるようにするにはどこをどうすればよいのでしょうか?超初心者でも理解修正できるサイトかズバリの回答を頂ける方宜しくお願い致します。

以下がプログラム内容です。

壱行 //+------------------------------------------------------------------+
//| MTF_PSAR.mq4 |
//| Copyright ゥ 2006, Keris2112 |
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright ゥ 2006, Keris2112"
#property link "http://www.forex-tsd.com"

#property indicator_chart_window
拾行 #property indicator_buffers 1
#property indicator_color1 Magenta

//---- input parameters
/*************************************************************************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
弐拾行 PERIOD_H4 240
PERIOD_D1 1440
PERIOD_W1 10080
PERIOD_MN1 43200
You must use the numeric value of the timeframe that you want to use
when you set the TimeFrame' value with the indicator inputs.
**************************************************************************/
extern int TimeFrame=0;
extern double Step=0.02;
extern double Maximum=0.2;
参拾行 

double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{

//---- indicator line
四拾行  SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,159);
//---- name for DataWindow and indicator subwindow label
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="Period_M5"; break;
case 15 : TimeFrameStr="Period_M15"; break;
case 30 : TimeFrameStr="Period_M30"; break;
五拾行  case 60 : TimeFrameStr="Period_H1"; break;
case 240 : TimeFrameStr="Period_H4"; break;
case 1440 : TimeFrameStr="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break;
case 43200 : TimeFrameStr="Period_MN1"; break;
default : TimeFrameStr="Current Timeframe";
}
IndicatorShortName("MTF_PSAR ("+TimeFrameStr+")");
}
//----
六拾行  return(0);

//+------------------------------------------------------------------+
//| MTF Parabolic Sar |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[];
int i,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined time frame on to current time frame
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit=Bars-counted_bars;
for(i=0,y=0;i<limit;i++)
{
if (Time[i]<TimeArray[y]) y++;

/***********************************************************
Add your main indicator loop below. You can add the full
indicator code or you can just reference an existing
indicator with its iValue or iCustom.
Rule 1: Add extern inputs above for all neccesary values
Rule 2: Use 'TimeFrame' for the indicator time frame
Rule 3: Use 'y' for your indicator's shift value
**********************************************************/

ExtMapBuffer1[i]=iSAR(NULL,TimeFrame,Step,Maximum,y) ;

}

//



return(0);
}
//+------------------------------------------------------------------+

このQ&Aに関連する最新のQ&A

A 回答 (1件)

コンパイル済みのex4ファイルをアップロードしましたので使ってみてください。



http://up2.cache.kouploader.jp/koups8787.zip

Build600以降で発生した事で書式がどのように変更されたか公式にもアナウンスが無いので
みんな苦慮してます。
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QMT4のEX4ファイルをMQ4ファイルに変換する無料ソフトを教えて下さ

MT4のEX4ファイルをMQ4ファイルに変換する無料ソフトを教えて下さい。

先日まではhttp://www.ex4tomq4.net/を使っていたのですが、変換しようとページを訪れるとUnder Constructionで、暫くこの状態が続いています。

で、他のソフトを探してみてhttp://www.greattradingsystems.com/2009/08/free-mt4-decompiler-ex4-to-mq4/でDecompiler EX4-TO-MQ4 4.0.215.6やMetaTrader 4 Ex4 Decompilerを試してみたのですが、どちらも使えませんでした。(前者はダウンロード後インストールしようとするとエラーになりインストール出来ない。後者はダウンロード後EX4ファイルをダブルクリックするとMQ4ファイルに変換するものですが、ダブルクリックしても何の変化もなく、読み取れないEX4ファイルが開くだけです。)

という訳で、ディコンパイラーならこれがお勧め、という無料ソフトがあったら教えて下さい。

宜しくお願いします。

MT4のEX4ファイルをMQ4ファイルに変換する無料ソフトを教えて下さい。

先日まではhttp://www.ex4tomq4.net/を使っていたのですが、変換しようとページを訪れるとUnder Constructionで、暫くこの状態が続いています。

で、他のソフトを探してみてhttp://www.greattradingsystems.com/2009/08/free-mt4-decompiler-ex4-to-mq4/でDecompiler EX4-TO-MQ4 4.0.215.6やMetaTrader 4 Ex4 Decompilerを試してみたのですが、どちらも使えませんでした。(前者はダウンロード後インストールしようとするとエラーになりイン...続きを読む

Aベストアンサー

基本的にはコンパイルされたex4ファイルのみで配布されているものは
mq4を見せたくないという公開者の意志がそこにありますので
それをデコンパイルするという行為は倫理的にグレーゾーンになりますし
公開者自身がそれを禁ずる旨の声明を出している場合は権利の侵害行為となります。
お探しのデコンパイラですが、上記のような理由でアンダーグラウンド的なツールであり
こういった公の場では質問する性質のものではないかもしれません。
感覚的には「デジタル映像のコピーガードをキャンセルする」というような行為と同様ということですね。

QDMI、ADXの期間パラメータについて

FX投資を勉強中の者です。
テクニカルとして「DMI、ADX」を活用してみたいのですが、期間パラメータの設定で悩んでいます。
日足での活用を考えているのですが、「9日、14日」のいずれかが一般的なようです。

そこで同じく「DMI、ADX」を活用されている投資家の方に教えていただきたいのですが、
(1)DMIとADXの期間パラメータは同じにしたほうがよいでしょう?(例.両方14日)
(2)異なるパラメータ設定が推奨される場合どちらを長めにするのがよいでしょうか?

期間パラメータを短くするほど相場への感応度が上がることは理解していますが実際に活用されている方のご意見を伺いたいです。
どうかよろしくお願いします。

Aベストアンサー

色々な意見があるとは思いますが、マエストロFX、ビクトリーメソッドアドバンスの佐野氏の推奨は
ADXは9日間、DIは14日間になっていました。これはビクトリーメソッドアドバンスでの設定です。
参考にどうぞ。

QMT4で時間を指定するにはどのようにすれば良いでしょうか。

MT4で時間を指定するにはどのようにすれば良いでしょうか。

例えば、取引を日本時間で午前9時から午後3時の間に指定して、午後3時の時点で建て玉があった場合は手仕舞いできるようにしたいのです。

MT4付属EAの、MACD Sampleで時間指定する場合は、どのようなプログラムをどの位置に書けば良いのでしょうか。

時間指定をいろいろ変えてバックテストを行ってみたいと思っています。

プログラムは、トレードスタジアムで少しやった程度ですので、MT4のプログラムは初心者のレベルです。よろしくお願いします。

Aベストアンサー

回答が大変遅くなってごめんなさい。

実は、私も悩んでいました。

MACDのサンプルプログラムを下の方までよく読んでみると、マジックナンバーが16384となっているので、これに統一しなければ決済されません。

よって、私が書いた最初の部分で、

# define MAGIC 0001

という部分を、

# define MAGIC 16384

としていただければ、うまくいくかと思います。

一時やってみてください。

QMT4のサブウインドウの左上の表示を消したい

MT4のサブウインドウにMACD(Custom)というインジケーターとMT4標準のストキャスティクスを表示しているのですが、ウインドウの左上にテクニカル指標の名前や数値が表示されています。これを非表示にする事はできないでしょうか。

現在、メインモニターに1分足のチャートを大きなウインドウサイズで表示させて、片隅に5分足のチャートのウインドウを小さく表示しているのですが、ウインドウサイズが小さいとテクニカル指標が上段付近に行った場合は、文字がラインの上に重なって表示されるので、ラインがどうなっているのか判別できません。
別のモニターには大きいサイズで5分足も表示させているから、それを見ればテクニカルのラインも見えますが、極力視線移動を少なくして素早く確認をしたい時にはあると便利なので、どうにかこの左上の文字を無くしたいです。

よろしくお願いします。

Aベストアンサー

左上の表示は少なくすることはできますが、仕様なので完全に消すことは普通はできません。
ここでいつもは仕様なのでしようがない、と言うところですが、
もうお気付きでしょうが、「普通は」です ^^;

don-naldoさんの使用方法ならば以下のやり方でO.K.ではないでしょうか。

(1)小さい方の5分足チャート上で右クリックしてプロパティを選択
(2)色の設定タブを選び、右側に並んでいる色選択の上から2つ目の「前景色」のプルダウン・メニューを表示させる(デフォルトは普通はWhite)
(3)メニューの一番上の「None」を選択

これによりチャートの文字が全て消えます(消えちゃいます)。
don-naldoさんの場合は別に5分足チャートを表示されているので、これで大丈夫だと思いますが、どうですか?

QMQL4での条件文の書き方

MT4でEA作成を勉強中です。

if文の条件で詰まっているので助けてください。


変数の宣言で

double hensu_A1 ←値は何でもいいです
double hensu_B1 ←値は何でもいいです
double hensu_A2 ←値は何でもいいです
double hensu_B2 ←値は何でもいいです
double hensu_C  ←0.00

としていたとします。


if文の中で、

if ( hensu_A1 < hensu_B1 && hensu_A2 < hensu_B2)

とした時はちゃんと機能しました。
また、

if ( hensu_A1 + 0 < hensu_B1 && hensu_A2 + 0 < hensu_B2)

としても機能しました。
しかし、上の式の「0」を「hensu_C」に置き換えて

if ( hensu_A1 + hensu_C < hensu_B1 && hensu_A2 + hensu_C < hensu_B2)

とすると、機能しない(計算結果が正しくてもtrueを返さない)ようで困っています。
「hensu_C」の中身は0.00を入れてあるので、計算結果は同じになるはずです。


条件文の書き方が間違っているのでしょうか。
判る方おられましたら教えて頂けると助かります。

MT4でEA作成を勉強中です。

if文の条件で詰まっているので助けてください。


変数の宣言で

double hensu_A1 ←値は何でもいいです
double hensu_B1 ←値は何でもいいです
double hensu_A2 ←値は何でもいいです
double hensu_B2 ←値は何でもいいです
double hensu_C  ←0.00

としていたとします。


if文の中で、

if ( hensu_A1 < hensu_B1 && hensu_A2 < hensu_B2)

とした時はちゃんと機能しました。
また、

if ( hensu_A1 + 0 < hensu_B1 && hensu_A2 + 0 < hensu_B2)

としても機能しました。
しか...続きを読む

Aベストアンサー

うーん、MT4がわからないが、他言語でありがちな
「初期化してないから初期値0を期待してたら、実は値がNullだったので演算結果もNull」じゃないですか?
hensu_Cは、本当に0.00ですか?

QMT4 カスタムインジケータ 動かない

MT4を初めて触ってます、MACDにライン2本と棒グラフを付けたいです。
ここまでの経緯↓
・楽天証券(FXCM)からMT4デモ口座を開設しました
Version:4.00 Build 950 で動いています。

・http://gaitameotoko.seesaa.net/article/88994407.html (外為男のFX)
と言うサイトから「MACD OsMA 4ColorHM 2L mtf.mq4」と言うインジケーターをダウンロード。

・MT4からファイル→データフォルダを開く→MQL4→Indicators
と開き、先のインジケーターをドラッグで入れ再起動。

ナビゲーターのインジケーターの中に、新しく追加されましたが無反応です。

おかしいと思う所は、
・Indicatorsの中に4と表記されたファイルをいれましたが、無地のファイルがない
・ナビゲーターの中のfのアイコンの右下のひし形が黒い(他は黄色い)

ここまでやるのに、だいぶ時間がかかりました^^;;
どこがいけないでしょうか?どうしたら動きますか?

MT4を初めて触ってます、MACDにライン2本と棒グラフを付けたいです。
ここまでの経緯↓
・楽天証券(FXCM)からMT4デモ口座を開設しました
Version:4.00 Build 950 で動いています。

・http://gaitameotoko.seesaa.net/article/88994407.html (外為男のFX)
と言うサイトから「MACD OsMA 4ColorHM 2L mtf.mq4」と言うインジケーターをダウンロード。

・MT4からファイル→データフォルダを開く→MQL4→Indicators
と開き、先のインジケーターをドラッグで入れ再起動。

ナビゲーターのインジケー...続きを読む

Aベストアンサー

このインジケーターは壊れてますね。

mq4ファイル内

113行目 for(i1=0,int y=0; i1<limit1; i1++)

for文の中にyという変数が定義されているという
おかしなことになってます。

int y=0;

for(i1=0; i1<limit1; i1++)

上のように変数yをfor文外で記述してやれば
一通りのエラーと警告は消えましたが

問題はそれだけではなさそうです。

iCustom(NULL,TimeFrame,IndicatorFileName,0,y);はてっきりMACDの値を取得しているのかと
思いましたが
実際はMACD OsMA 4ColorHM 2L mtf自身の値を取得しようとしていたり
訳の分からない記述がちらほらと見当たります。

Q日銀の指値オペってどういうことですか?

日銀の指値オペが今の日本の金融政策と言われてますが、具体的にどうなことをすることですか?教えてください。よろしくお願いします。

Aベストアンサー

まず、国債の債券相場が理解していないと
先に進まないと思います。

少し荒っぽいですが簡素化した例で
説明すると、
100円の10年物国債を売り出す
場合、年1%の利息がつくとすると、
90円となるわけです。

①90円で買って償還時100円で
 返ってくるといった感じです。

②この利息が年0.5%となれば、
 95円で買って償還時100円で
 返ってくるといった要領です。

つまり、
金利が下がれば、価額が上がり、
金利が上がれば、価額が下がる、
というわけです。

日銀の指値オペとは、日銀が国債の
価額がいくらになったら、買い取る
ってことを明言したというわけです。

①の状況で金利1%で90円だと
今後の物価上昇の足かせになる
と判断した日銀が『国債を95円
で買い取ると明言すれば、
債券相場としては高く買って
もらえるのですから、95円まで
価額が上がり、それにより金利が
0.5%に下がることになるわけです。

こうした操作をすることにより、
債券の金利を抑えることにより、
市場の金利をコントロールし、
物価を上昇方向にもっていこう
としている政策ということです。

実際はマイナス金利なので、
上記の例えは現状とは違い、
マイナス金利に対する国債相場となって
いるわけで、理解しがたい状態ですけど…

感覚的には効果は長続きせず、あまり
この政策(債券の操作による金利の
コントロール)がうまくいくかは
まだ不透明といった感じです。

いかがでしょうか?

まず、国債の債券相場が理解していないと
先に進まないと思います。

少し荒っぽいですが簡素化した例で
説明すると、
100円の10年物国債を売り出す
場合、年1%の利息がつくとすると、
90円となるわけです。

①90円で買って償還時100円で
 返ってくるといった感じです。

②この利息が年0.5%となれば、
 95円で買って償還時100円で
 返ってくるといった要領です。

つまり、
金利が下がれば、価額が上がり、
金利が上がれば、価額が下がる、
というわけです。

日銀の指値オペとは、日銀が国債の
価額がいくらに...続きを読む


人気Q&Aランキング