知識ゼロから初心者にもできる!FXで勝つための情報が満載!
1 | 2 |  ...  | 5 | 6   
具体的なプログラムを見る前に、MQLに特有なデータ構造についてお話しておきます。

チャート画面には、時間足に対応したローソク足やバーが表示されていると思います。
「M1」の設定であれば1分ごとの4本値、「H1」であれば1時間ごとの4本値です。

MQLでは、これらの4本値のデータを「配列」というもので取り扱います。

「配列」というと、
プログラミングに全く馴染みのない方にはちょっととっつきにくいかもしれませんが、

いくつか連なった箱のようなものを想像してみてください。

その箱全体には「A」という名前が付けられていて、
始めの箱から順番に、0,1,2,3...というように番号が振られているようなものです。

(多くのプログラミング言語では、配列は通常「0」から始まります。MQLも例外ではありません)

そしてその箱の中に、4本値の、例えば「高値」のデータが格納されているのです。

ですから、「A」という配列において、3番目のデータ(番号は「2」)は何かというと、
チャートに表示されているローソク足(またはバー)の、

新しいものから数えて3番目の高値のデータということになります。

(MQLでは、最も新しい足から順番に番号が割り振られます)


このように、4本値のデータは「配列」の構造で扱われている、ということを覚えておいてください。

前回までで、プログラムの大枠を説明しました。
そしてプログラムには、「init」「deinit」「start」という関数が含まれていました。

さて今回は、それぞれの関数について、どんな働きをするのかを説明していきましょう。


まずは、「init」からです。

この「init」関数は、このプログラムが動作する際に、最初に実行されるものとなります。
ですから、最初に何か一回だけ処理をしたいものがある場合には、この関数の中に記述します。


次は、「start」です。

この関数は、MQLで最も利用されるものと言っていいでしょう。
処理のほとんどはこの中に書かれることとなります。

この関数が実行されるのは、チャート上のレートが変化するたびです。
ですから、何らかの計算処理、チャート画面への描画処理などが記述されることになります。


さて最後は、「deinit」です。

この関数は、チャートに適用されたインジケーターが、そのチャートから取り除かれる際に実行されるものです。
多くの場合は、このタイミングで実行するべき処理というものは無いので、省かれることが多いものです。



さて、以下の枠組みを少しずつ見ていくことにしましょう。

20100326-metaeditor_7.gif

コメント行

まず目にするのが、2本のスラッシュ(//)です。

これはMQLに限ったことではありませんが、見ての通り、プログラムというものは複雑なものです。
したがって、ここはこんな処理をしている、といったメモのようなものをプログラム内に記述することができれば便利です。

そこで、この2本のスラッシュを使います。
この2本のスラッシュがあると、それ以降の文字は、プログラムの命令として認識されません。

したがって、この部分に注意書きや処理の方法、覚書のようなものを書いておけるのです。
これをコメントアウトと言います。

また別の利用方法として、プログラムで一時的に処理を行わせたくない行がある場合にも、その行を削除するのではなくコメントアウトしておけば、後で復帰するのが簡単です。


プロパティー

次の行を見てください。

#property ●●

と書かれています。

最初に「#」から始まるものは、プリプロセッサ命令と呼ばれ、みなさんがこれから作成するプログラムが実行される前に処理される命令です。

「#property ●●」は、そのプリプロセッサ命令のひとつで、プログラム全体の設定を意味します。

ウィンドウズでも、アイコンなどの上で右クリックすると「プロパティ」というメニューが出てきますね。
そのプロパティを見ると、ファイルの容量とか、更新日を確認することができます。

プロパティとは、そういったものの特性とか特徴といった意味です。

ここでは、著作権を表す「copyright」、著作者のサイトへのリンク「link」、チャートウィンドウに指標を表示させるという「indicator_chart_window」が設定されています。

関数

その次にあるのが、

int init(){...return(0);}
int deinit(){...return(0);}
int start(){...return(0);}

の3つの関数です。

関数と言うと、学校の数学を思い出す人もいるかもしれませんが、入り口と出口のある箱のようなものと思ってください。

入口から何かを入れる(入力)すると、その箱の中で何かの処理がされて、出口から出てくる(出力)ようなものです。


世の中のいくつかのプログラミング言語は、この関数の考え方を基本としています。
MQLとよく比較されるのがC言語というプログラミング言語ですが、このC言語もその例に漏れません。

さて一般的には、関数の記述は次のようになります。

 関数の型 関数名(入力値){ 関数の中での処理...return(出力値)}

これを、メタエディターでの最初の関数に当てはめてみると、

 関数の型:int
 関数名:init
 入力値:なし
 関数の中での処理:未記述
 出力値:0

となります。

次の2つの関数に関しても同様で、関数名がそれぞれ、「deinit」「start」となるわけです。

さて、これらの関数、「init」「deinit」「start」はそれぞれどんな働きをするのでしょうか?

次回ではその点を解説します。

1 | 2 |  ...  | 5 | 6   
期間限定キャッシュバック情報!
FX会社(好条件順) 金額 期限
FXTS(¥塾限定) 8000円 なし
外為オンライン 5000円 なし
トレイダーズ 7000円 3/31
ひまわりFX 5000円 3/31
ヒロセ通商 10000円 3/31
為替ライフ[365](¥塾限定) 3000円 3/31
セントラル短資FX 3000円 3/31
マネックス証券 5000円 4/30
楽天FX 5200円(ギ) 5/6
サイバーエージェントFX 最大15000円 4/30
外為どっとコム 5000円 なし
JFX[マトリックス] 10000円 3/31
インヴァスト[365] 4000円 4/30
スター為替(限定) 10000円 3/31
DMM証券 10000円 3/31
FXZERO 5000円 4/1
FXプライム 3000円 4/1
マネーパートナーズ 5000円 4/1
小林洋行[365] 1000円 3/31
インヴァスト[24] 3000円 4/30
MJ 5000円 なし
インヴァスト[大証FX] 1000円 4/30
GFT東京支店 5000円 なし
上田ハーロー 2000円 5/1
Emcom証券 5000円 3/31
クリック証券 10000円 なし
ランキング
著名ブロガーの人気口座ランキング
1 外為オンライン 8名利用
2 クリック証券 8名利用
3 外為どっとコム 5名利用
3 FXTS 5名利用
5 FXオンラインジャパン 4名利用
6 マネーパートナーズ 3名利用
7 MJ 2名利用
8 ひまわりFX 2名利用
9 Emcom証券 2名利用
10 サザインベストメント 2名利用
総合ランキング
1 外為オンライン
2 FXTS
3 サイバーエージェントFX
キャッシュバックランキング
1 マネーパートナーズ
2 外為どっとコム
3 IDO証券
低スプレッドランキング
1 フォレックス・トレード
2 FX ZERO
3 DMM.com証券
通貨ペアランキング
1 GFT東京支店
2 FXオンラインジャパン
3 MJ
レバレッジランキング
1 FXオンラインジャパン
2 Emcom証券
3 MJ
約定力ランキング
1 ひまわりFX
2 エース交易
3 FX ZERO
トレイル注文ランキング
1 EMCOM TRADE
2 外為オンライン
3 AFT-FX
チャート機能ランキング
1 マネーパートナーズ
2 CMS
3 クリック証券
1000通貨取引ランキング
1 FXTS
2 サイバーエージェントFX
3 NTTスマートトレード
高スワップランキング
1 フォーランドフォレックス
2 外為オンライン
3 マネックスFX
バーチャルFXランキング
1 エース交易
2 外為オンライン
3 Emcom証券
くりっく365ランキング
1 インヴァスト証券
2 スター為替証券
3 小林洋行
スキャルピング人気ランキング
1 Emcom証券
2 FXTS
3 クリック証券
スイングトレード人気ランキング
1 外為オンライン
2 クリック証券
3 サイバーエージェントFX
システムトレード人気ランキング
1 FXCM
2 121証券
3 CMS
メタトレーダー人気ランキング
1 セブンインベスターズ
2 121証券
3 ODL

【ご注意ください】

当サイトの提供しているコンテンツの投資対象や投資手法は元本や利益を保証するものではなく、相場の変動や金利差により損失が生じる場合がございます。 投資対象や取引の仕組およびリスクについて十分ご理解の上、お客様ご自身の判断と責任においてお取引いただきますようお願い申し上げます。 信用取引、外国為替証拠金取引、株価指数先物取引、株価指数オプション取引、商品先物取引などの保証金・証拠金設定のある投資対象については、お客様がお預けになった保証金・証拠金額以上のお取引額で取引を行うため、保証金・証拠金以上の損失が出る可能性がございます。 また外国為替証拠金取引の取引レートには売値と買値に差が生じます。 (※外国為替証拠金取引の取引レートには通貨毎に売付価格と買付価格に差額(スプレッド)があります)


【免責事項】

当サイトで提供しているコンテンツは、作成時点で得られる情報を元に、細心の注意を払って作成しておりますが、その内容の正確性および安全性を保証するものではありません。 また、投資知識の学習のための参考となる情報の提供を目的としたもので、特定の銘柄や投資対象について、特定の投資行動や運用手法を推奨するものではありません。投資に関する最終決定はお客様ご自身の判断でお願いします。 なお、投資によって発生する損益は、すべて投資家の皆様へ帰属します。当該情報に基づいて被ったいかなる損害についても、情報提供者及び当社(エンジュク株式会社)は一切の責任を負うことはありませんので、ご了承下さい。 また、当コンテンツのすべての情報について当社(エンジュク株式会社)の許可なく転載・掲載することを禁じます。