MetaTrader 4 プログラム入門編

MetaTrader 4 プログラム入門 part1 使い方



----------------------------------------------------------------

MetaTrader 4のバージョンアップにより仕様が変わってきた部分がありますので、 記事を新しい仕様で書き直しております。この注意書きが書かれていないページは 旧仕様の記事になります。旧仕様の記事でも一部を除き基本的にはシステムの制作に問題はありません。

----------------------------------------------------------------


今回から、プログラム編に進みます。


 プログラムをやったことがない人は、物凄く大変そうだなというイメージがありませんか?


 確かに、初めから色んなことをしようとすると大変ですが、基本を抑えながら少しずつやって行けば、それほど大変ではないです。


 出来るだけ分かり易く説明するようにしますので、頑張って下さい。


 それでは、MetaTrader 4を起動させて下さい。


 上のほうの中央付近に、黄色い冊子のようなボタンがあります。


 それをクリックして下さい。


MetaEditor


 MetaEditorというツールが立ち上がります。


 まずは使いやすいように言語を日本語にします。画像のようにタブのView > Languages > Japanese の順で選んでください。再起動が必要という内容のウインドウが出てきますのでRestartを選んでください。左側のボタンになります。



MetaEditor


これで言語が日本語になりました。


 次にプログラム内部で日本語のコメントを使用出来るようにします。タブのツールからオプションを選んでください。



MetaEditor



 オプションのウィンドウが出てきたら、タブのフォントを選び、MSゴシック(日本語が使えるフォントなら何でも良いです)を選んでください。そしてスクリプトを日本語にして下さい。あとはOKを押して下さい。これで日本語のコメントが使えるようになりました。



MetaEditor



 では設定が終わりましたので、次からシステム制作に入ります。まずは、左上のファイルをクリックして、新規作成を選んでください。



MetaEditor



 新しいウィンドウが出て来たと思います。



MetaEditor



 エキスパートアドバイザにチェックが入っているかどうか確認して(最初から入っていると思います)、「次へ」を押してください。


少々、分かりにくそうな感じのが出てきたと思いますが、名前以外はそのままでいいです。


 名前はシステムの名前になります。Experts\というのはシステムを入れるフォルダの指定です。この後にシステムの名前を入れます。


 とりあえず、今回は「Experts\Print」と入れておきます。Printがシステム名になります。名前を入れたら次へを押して下さい。



MetaEditor



次の画面のその次の画面は今のところ必要ありませんので、そのまま次へと完了をおしてください。



MetaEditor



MetaEditor



 ウィンドウが消えて、プログラムのひな型が出てきたと思います。



MetaEditor



 画面が小さい人はプログラムが書かれたウィンドウを最大化して見易くしてください。


 パッと見て色々と分からないものが並んでいて、難しそうに見えるかもしれませんが、今回やることはとても簡単なので頑張って下さい。


 まず、下のコードですが、


//+-----------------------------------------------------+
//| print.mq4 |
//| Copyright ゥ 2007, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+-----------------------------------------------------+


 //で始まるものは、プログラム本体ではなくコメントなので、気にしないでいいです。


 次に、下のコードですが、


#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
#property strict


 これも気にしなくていいです。


 残るのは、//で始まるコードを抜いたら、


int OnInit()
{
  return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason)
{

}

void OnTick()
{

}


 この三つだけです。


 この三つのうち、int OnInit()とvoid OnDeinit(const int reason)は今回は必要ありませんので、気にしなくていいです。


 一応説明をするとint OnInit()はシステムを開始した時に、一度だけ呼び出されるプログラム。


 void OnDeinit(const int reason)はシステムを終了した時に、一度だけ呼び出されるプログラムになります。こちらは使用する時にまた詳しく説明します。


void OnTick()
{

}


 上記ですが、これが実質自動売買をするためのシステムの中身です。


 ここにルールを書き込んで行きます。


 {で始まって、}で終わります。


 この中に色々と書き込んで行きます。


 とりあえず、簡単なルールを書きますので覚えておいてください。


 ※プログラミングをする時は、半角英数でやって下さい。(全角だとエラーになります)


 ※文の終わりには、;(セミコロン)をつけて下さい。


 簡単なプログラムでエラーが出る場合は、大半がこの二つが原因です。


 今回は、これだけ覚えておいてください。


 では、まず次の通りにvoid OnTick()の中のreturn(0);の上辺りに書いてください。


 Print("test");


 これだけです。


 最初のPだけは大文字にして下さい。


 実際に書くと下のようになります。


void OnTick()
{
  Print("test");
}


 書けましたか?


 今回はこれだけです。


 では、内容を説明して行きます。


 Print()というのは、関数というものです。


  関数とは、プログラムの中で決められたことをやってくれる便利なものと覚えておいてください。


  Print()は中に書いてある文字を描写してくれる関数です。


  "test"ですが、数字などの場合は""をつけなくて良いのですが、文字として表示させる場合には""が要ります。


  testは分かりやすいようにtestと書いただけで、別に何でも構いません。


  最後に、;が付いてますが、これは先ほど説明したとおりです。忘れないで付けて下さい。


  では、最後にコンパイルしましょう。


  コンパイルというのは、プログラミングの内容をパソコンが理解できるように変換することです。


  コンパイルしないとシステムは動きません。


  まず、MetaEditorの上の中央付近にある紙にチェックマークがついて、コンパイルと書かれたボタンを押してください。


MetaEditor


次に、エラーがないかどうか下のDescriptionと書かれたところを見てください。


 0 error(s), 0 warning(s)


 と書かれていれば、問題ありません。


 エラーが出た人は全角で打っているか、;の付け忘れだと思うので、 もう一度見直して見て下さい。


 では、実際にこのシステムを動かして見ましょう。


  MetaEditorを閉じて、MetaTrader 4の画面を出してください。


  バックテストのテスターの画面を出します。


 エキスパートアドバイザーにさっき作ったPrintというシステムが入っているはずなので、それを選んでください。


  そして、スタートを押してください。


  今回は、売買をするシステムではないので、レポートなどには何も出ませんが、 レポートの横の操作履歴を押してください。


  メッセージの一番右端のところにtestと出ています。


 今回のシステムは操作履歴のところにtestと書くシステムです。


MetaEditor


  今回は、これで終了です。


 プログラミングは簡単でしたか?


 まずは、プログラミングに慣れることが大事なので、後数回は簡単なプログラミングをやりながら、 内容を説明して行きたいと思います。


 次回は、変数というものを説明して行こうと思います。




----------------------注意----------------------
 このサイトは半角のスペースが認識されない為、コードを見易くするために全角で書いている場合があります。実際にプログラムにコードを書くときは、コピー&ペーストせずに半角で書いて行って下さい。


<< MetaTrader 4の導入 | TOP | 変数 >>

トップページ プロフィール ブログ リンク オーダーシステム 利用規約 問い合わせ