システムトレード研究所 〜FXで完全自動売買〜

このサイトでは、FXで完全自動売買を行うために必要な情報を書いていこうと思っています。システムを自分で作りたい方、システムトレードをやってみたい方は御覧になっていって下さい。
<< MetaTrader4 バックテストの使い方 | main | MetaTrader4 プログラム入門 part2 変数 >>
MetaTrader4 プログラム入門 part1 使い方
 今回から、プログラム編に進みます。

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

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

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


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

 上のほうの中央付近に、黄色いひし形の中に!が入っているボタンがあります。

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



MetaEditor




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

 まずは、左上のFileをクリックして、Newを選んでください。



File




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



MetaEditor




 Expert Avisorにチェックが入っているかどうか確認して(最初から入っていると思います)、「次へ」を押してください。

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

 Nameはシステムの名前なので、半角英数なら好きなものを入れてもらってかまいません。

 とりあえず、今回は「print」と入れておきましょうか。



MetaEditor

 


「完了」を押してください。

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

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

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

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

//+------------------------------------------------------------------+
//| print.mq4 |
//| Copyright ゥ 2007, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+ 
 
 //で始まるものは、プログラム本体ではなくコメントなので、気にしないでいいです。

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

#property copyright "Copyright ゥ 2007, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

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

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

int init()
{

return(0);

}


int deinit()
{

return(0);

}


int start()
{

return(0);

}  

 
 この三つだけですね。

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

 一応、最後に説明を書いておきますので、気になる方は読んで下さい。


int start()
{

return(0);

}

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

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

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

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

 return(0);は今のところ気にしないでいいです。

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

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

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

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

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


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

 Print("test");

 これだけです。

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

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

int start()
{

Print("test");
return(0);

}

 
 書けましたか?

 今回は、これだけです。

 実に簡単ですね(笑)


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

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

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

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

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

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

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

 忘れないで付けて下さいね。


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

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

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

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


 
compile




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

 0 error(s), 0 warning(s)

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

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


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

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

 以前やったように、バックテストのテスターの画面を出します。

 忘れたという方は、こちらを見てください。

 Expert Advisorにさっき作ったprintというシステムが入っているはずなので、それを選んでください。

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

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

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



test




 今回のシステムは時間足が変わるごとに、履歴のところにtestと書くシステムです。

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

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

 正直、簡単すぎると思われた方が多いと思います。

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

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


 

 宜しかったら、応援して下さい


システムトレード研究所〜FXで完全自動売買〜INDEXへ

-----------説明--------------- 
int init()  
システムをスタートした時に、一度だけ呼び出されるプログラム。

int deinit() 
システムを終了した時に、一度だけ呼び出されるプログラム。
| 小松 | MetaTrader4 プログラム入門編 | 00:51 | comments(1) | - |
管理者の承認待ちコメントです。
| - | 2008/09/14 3:43 AM |









    123
45678910
11121314151617
18192021222324
252627282930 
<< June 2017 >>



このページの先頭へ