MT4(MQL)の初歩がわかりません

このQ&Aのポイント
  • MT4(MQL)をはじめたばかりですが、基本的な質問があります。
  • MQLで複合的な条件で売買するシステムを作ることは可能でしょうか?
  • Expert AdvisorとCustom Indicatorの関連性について理解できておりません。
回答を見る
  • ベストアンサー

MT4(MQL)の初歩がわかりません

こんにちは、どうかよろしくお願いします MT4(MQL)をはじめたばかりです。 基本的な質問で恐縮ですが、根本が理解できておりません。 幾つか教えて頂きたいのです。 <質問1> MQLで記述したコードはチャートに組み込んで実行していくのは理解できたのですが、2つの異なる時間枠(週足と日足)などの複合的な条件で売買をするシステムは2つのチャートが必要です。このような事はMQLで実装可能でしょうか? 例えば、週足のテクニカル指標のシグナルと日足のテクニカル指標のシグナルとを確認した上で売買を実行するなどです。 <質問2> 初心者向けMQL関連の書籍(非常に親切で解りやすくとてもありがたい書籍です) を拝読したところ、テクニカル指標(MA)を表示するサンプルプログラム(Custom Indicator)と実際にMAのシグナルで売買するサンプルプログラム(Expert Advisor)の2つの例がありました。 Expert Advisor側のサンプルプログラムの中でiMA()という組込み関数が使用されてました。組込みとはMT4に元々用意されていたMAを呼び出したと理解しておりますが、そうすうるとCustom Indicatorで作成されチャート上に表示されたMAとは、関連性が無くそれぞれ独立したシステムなのでしょうか? 仮に私オリジナルのテクニカル指標をExpert Advisor側で作成してチャートに表示させても、Expert Advisor側でそのシグナルは関連付けできないのでExpert Advisor側でもそれと同じテクニカル指標のコードを記述するとこで、トレードシグナルと判断させることがMT4の基本的な考え方なのでしょうか? それともCustom Indicatorのテクニカル指標のシグナルを受取ってExpert Advisor側で判断できる方法もあるのでしょうか?MT4的な考え方が漠然としていて、よく理解できないのです <質問3> 上記質問の関連ですが、MAのシグナルで売買するExpert Advisor側のプログラムを仮に作成してチャートに組込んで使用する場合、そのチャートにMAが表示されていないとiMA()という組込み関数はデータを取得できないのでしょいうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • masair
  • ベストアンサー率58% (39/67)
回答No.1

以下、ご回答します。 【質問1】 ご要望のことは実装可能です。例えば、RSIというテクニカル指標について言えば、 第2引数に、タイムフレーム(分足)を指定できます。これを複数、違えて指定すれば 複数の分足についてのRSIが計算できます。 また、ローソク足については、Open[]などの配列ではチャートの分足のみになって しまいますが、iOpenという関数で、タイムフレームを違えて指定できます。 【質問2】 Custom Indicator でテクニカル指標(MA)と、EAで作成したテクニカル指標(MA) との関係付けはありません。 EAの中にコーディングされたものだけで、EAは動作します。 【質問3】 チャートにMAが表示されていなくても、EAの中でMAを計算すれば、データは取得できます。 EAのコードだけで、EAの動作はなされます。

soul_surfer
質問者

お礼

ご回答ありがとうございました 大変参考になりました 基本的な考え方が理解できました 元々あたまの中に描いていた売買システムがあり エクセルVBAなどでシュミレーターを作成しており いつかMT4で実装したいと思っておりました ありがとうございました。 今後、またMQLのプログラミングでつまずくことが あると思います その節は、またお知恵を拝借させて下さい よろしくお願いします

関連するQ&A

  • MT4の使いかたを 教えてください。

    MT4で 1.いつも使うカスタムインジケータを 定型チャートのデフォルトとして 通貨ペアからチャート表示で 出す方法はありますか? 他に カスタムインジケータをすばやく出す方法はありますか? 2.MT4を 1PCに 複数 インストールする方法を教えてください。

  • MQLのiCustomのShift記述で

    MT4で自分のインジどおりの指標で自動売買させたく MQL4を独学勉強中の者です。 (現在、皆様もMQL5へ移行中ではあると思いますが) iCustom関数では iCustom(通貨ペア,時間足,インディケータ名,,...,インデックス,バーシフト); のような記述だと思いますが、バーシフトの部分を 「0(現在)から何本前の足まで」 と範囲を持たせたい時には、どのような記述をすればよいでしょうか? お知恵をお願い致します。

  • MT4 不対応業者でのトレード

    ここでも質問としてよく取り上げられてるMT4ですが、自動売買が可能なのは海外業者やごく一部の国内業者のみですよね。そうすると、MT4に対応していない業者(多くの大手国内業者)の口座でトレードする場合(自動売買ができない場合)はどのようにトレードするべきでしょうか。 MT4のチャートにおいて売買シグナルを確認したら口座を開いて注文する、といった形でしょうか。その場合、その売買シグナルの発生はどのように知るのでしょうか。直接見るしかない(チャートを眺める)のか、それとも何らかの形で通知を受け取ることなど可能なのでしょうか。 よろしくお願いいたします。

  • MT4 MQL4のプログラミングについて

    こんにちは。 FX自動売買に興味があり、MT4 MQL4のプログラミング言語を独学で勉強しています。 巷に出回っている書籍を参考にしながら、自分でプログラム組んでいますが、色々わからない ことがどうしても出できます。近くに聞ける人はいません。 自分と同じような境遇の人と話をして、議論してみたいのですが、そうした人たちと出会う方法 が皆目見当がつきません。 もし、そういう方をご存知でしたら、私にご紹介いただけないでしょうか? もしくは、そういう人と出会う場所とか、方法(ネットを使った方法でも、ネットを 使わない方法でもどちらでもかまいません)もご存知であれば、情報をご提供 頂けますと助かります。 よろしくお願いします。 追)誹謗・中傷や揶揄いの投稿はご遠慮ください。真面目なご返事お願いします。

  • MT4(MQL4)プログラミングで動きません。教えて下さい。

    MT4(MQL4)プログラミングで動きません。教えて下さい。 下記のようなプログラムを勉強中なのですが、マウスをクリックしても何しても価格を取得してくれません。 ネットに検索すれば、下記のようなサンプルプログラムが幾つも紹介されてますが、全く動きません。 私のやりたいことは、マウスでクリックした場所の価格を取得しそれを元に水平線を描きたいのです。 ご存じの方がおられましたら、ご教授下さいませ。 宜しくお願い致します。 //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { double drop_price=WindowPriceOnDropped(); datetime drop_time=WindowTimeOnDropped(); //---- may be undefined (zero) if(drop_time>0) { ObjectCreate("Dropped price line", OBJ_HLINE, 0, drop_price,0); ObjectCreate("Dropped time line", OBJ_VLINE, 0, drop_time,0); } //---- return(0); } //+------------------------------------------------------------------+

  • 〔MQL4〕MT4で指標を作成しています。

    はじめまして。 MQLで指標を作成しています。 どうしてもわからない事があるので、初歩的な事だと思いますが質問させていただきます。 組み込み関数のiATRを利用しています。 短期間のiATRと長期間のiATRを算出し、最終的に短期ATRを長期ATRで割りたいのです。 以下のMQLを入力しましたが、最新のバーでの計算結果のみしか表示されません。 start内のatr3[i] = atr1[i] / atr2[i];を消去すると短期と長期のATRだけは過去分も表示されました。 どなたかわかる方、教えてください。。 #property indicator_buffers 3 #property indicator_separate_window #property indicator_color1 Red #property indicator_color2 Blue #property indicator_color3 Yellow double atr1[];//短期ATR double atr2[];//長期ATR double atr3[];//短期ATR/長期ATR extern int atr1_period=5; extern int atr2_period=10; int init() { SetIndexBuffer(0,atr1); SetIndexBuffer(1,atr2); SetIndexBuffer(2,atr3); SetIndexLabel(0,"atr1"); SetIndexLabel(1,"atr2"); SetIndexLabel(2,"atr1/atr2"); return(0); } int start() { int limit=Bars-IndicatorCounted(); for(int i=limit-1; i>=0; i--) { atr1[i]=iATR(NULL,0,atr1_period,i); atr2[i]=iATR(NULL,0,atr2_period,i); atr3[i] = atr1[i] / atr2[i]; } return(0); }

  • メタトトレーダー、DealBookなどのインジケーター

    チャートを始めようと思っていますが、チャートソフト探しで困っています。 EA(自動売買)はするつもりはないのですが、インジケーターの概念がいまいち理解できません。 MT4でEAやインジケーターを自由に操るためにはMQL4という言語が扱えなければなりませんよね? 私は、基本的にはテクニカル分析のRSI RCI MACD ストキャスティクス などを利用したいのですが、 例えば、MACD において シグナル:9 短期EMA:12 長期EMA:26 が初期値だとは思いますが、この 9、12、26の数値を 変えてMACDを利用したいという単純な変化をさせる場合にも MQL4を利用するのですか? このような単純に平均期間を変えただけでも、インジケーターというものになるんですか? インジケーターの私のイメージとしては、平均期間を変えつつ見やすいようにチャート上の色を変化させたり、 テクニカル分析を組み合わせて表示させたりするものという 認識です。 そこまで高度なアレンジを利用するとは思いませんので、マネーパートナーズのHyper Speedなどから始めてみようと思ったんですが、もし 単純なMACDの平均期間の変更程度の操作ならば変わらないならば 後々のために、MT4を初めから使おうと思いました。 このような、単純な期間変換は簡単に行え、尚且つ ある程度高度なレベルまで使いこなせるようになるチャートソフトが Hyper Speed以外にあればご教示下さい。お願いします。

  • MT4のカスタムインジケーターがグレーになってしま

    カテゴリー違いだったらすいません。 FXのMT4チャートについてお聞きしたいです。 先日、デモ口座のチャートがそのようになり他のを使っていましたが、今日になり他の3つとも同じことになってしまいました。 表示していたMAが消えてしまったのでカスタムインジケーターを開いて見ましたところ、ムービングアベレージがなくなっていました。 他のインジケーターなど(自分で購入して入れたものも含む)十数種類が黄色からグレーになっていて表示することができません。 ファイルの破損などが考えられるのでしょうか? 一度アンインストールして入れ直しましたが駄目でした。 PC疎いのでわかりやすく解説していただけると助かります。 どうぞよろしくお願いいたします。

  • MT4 Build600以降のインジケーターDL

    インジケーターをDLしてもカスタムインジケーターのアイコン右下の小さな○が黒(グレー)表示になります。 データフォルダ→MQL4→Indicators内にDLしたMQL4 Sours File というのはありますが、EX4ファイルが見当たりませんので、これが原因なのかな?とは思うのですが。。。 使用できるようにするにはどうしたらよいでしょうか? 以前はBuild600以降でも問題なくDLできて使用していました。インジケーターはマルチタイムフレームMAで、OSはwin8.1です。PC買い替えでMT4を再インストールしました。 よろしくお願いします。

  • MT4の売買シグナルをメール受信したい

    MT4の売買シグナルをメール受信したい 今、MT4で売買シグナルを表示させているのですが サインを見落としがちなのでメールで受信することが出来れば・・・と思います。 シグナルを出すEAは.ex4なので変更することができません。 なのでその売買シグナルが出るとメールを送信するプログラムを別に作ることはできますか?