Wizard In The Market
システムトレードの魔術師

*

■超直感!MT4プログラミング講座■ 第1回 プログラミングって何?

公開日: : 最終更新日:2015/01/13 MT4(MQL4)プログラミング講座

こんにちは!キリンです。
今日から一週間に一回くらいの更新頻度を目標に、
MT4プログラミング講座を更新していきます。
キリンによる直感的プログラムの作成方法をつらつらと書いこうと思っています。
元々プログラマーではなかったため、
皆さんが躓きやすいところは熟知しているつもりです。
そういったところを重点的にお教えできればと思っております。
皆さんの日々のトレードのお役に立てれば幸いです。
さぁ、始めましょうか!


第一回 プログラミングって何?

まず、この口座の当面の目標は、
「移動平均線のインディケーターを自力で作成する」
ことにしたいと思います。
「プログラムなんて簡単だ!」って思ってもらえたら、最高ですね!
まず、これから作成していく移動平均のインディケータープログラムを
ちょっと見てみてください。
ほんと、ざっと見てもらうだけでいいです。

//+------------------------------------------------------------------+
//| MA Kirin.mq4 |
//| Copyright Kirin 2010, Forex Trading Laboratory. |
//| http://ameblo.jp/ftlabo-kirin/ |
//+------------------------------------------------------------------+
#property copyright “Copyright Kirin 2010, MetaQuotes Software Corp.”
#property link “http://ameblo.jp/ftlabo-kirin/”
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_level1 0
// 指標バッファ
double Buf[];
// 外部パラメータ
extern int MAPeriod = 13;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//—- indicators
// 指標バッファの割り当て
SetIndexBuffer(0, Buf);
// 指標ラベルの設定
string label = “MA(“+MAPeriod+”)”;
IndicatorShortName(label);
SetIndexLabel(0, label);
//—-
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//—-
//—-
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//—-
int limit = Bars-IndicatorCounted();
for(int i=limit-1; i>=0; i–)
{
Buf[i] = iMA(NULL, 0, MAPeriod, 0, MODE_SMA, PRICE_CLOSE, i);
}
//—-
return(0);
}
//+------------------------------------------------------------------+

「うわっ!何これ!?私にはできっこない!」
なんて思っちゃいました?
大丈夫です。現に私にできているのですから^^
上記を見てもらっても分かるように、
プログラミングというのは文字の羅列によってできています。
その文字の羅列、組み合わせ方法を学べば、
プログラミングって案外簡単にできちゃうものなのですが、
そのとっつきの悪さが邪魔をして挑戦することすらやめてしまう方が多いのが現状。
何が一番分かりにくいかといいますと、私はこう思っています。
「文字が何を表しているのかが分からない」
このハードルをまず越えることが大切です。
皆さん、中学校の頃に数学で、「りんごを x と置く」ということを学びましたよね。
この考えがプログラミングに通じているのです。
この[ x ]って[ 変数x ]って表現したりしますよね。
そう、これがプログラミングにおける関数なんです。
伝わりが悪いと思うので、具体例を挙げます。
int i = 0;
とおき、変数を定義したとします。(ここではまだ、int や ; は気にしないでください)
すると、i は 0 なんです。
分かります?
int k = i + 5;
ってすると、kは5なんです。
これが、プログラミング上での変数の使い方です。
さらに、この変数にはどんな文字でもおくことができます。
int MAPeriod = 13;
ってすれば、MAPeriodを13として扱うことができる。
これがプログラム上でのほとんどの文字の意味です。
これ以外にも文字が使われているのですが、
それについてはおいおい説明していこうと思います。
この時点ではまだ、変数に数字を当てはめる利点が分からないと思います。
それについては次回、説明しようと思います。
がっつり質問してくださいね!
ここを乗り越えなければ、どんなプログラミングも分かりませんから!
最後までお読みくださり、ありがとうございます^^
これにて、第一回を終了します!

にほんブログ村 為替ブログへ 
Fx-Kirin

About Fx-Kirin

2009年10月にFXを開始、翌年2010年5月から脱サラをしてFX業界に専念。 2012年10月頃から本格的に勝ち始め、一月で資産を倍にする、2年半月間負けなし等、安定した収支で2013年11月に生涯FX収支が1億を超える。 投資スタイルはシステムトレード。プログラミングの知識がほぼない状態から、独学で自分がしたいと思うことであればほぼ実現することが可能なレベルまで成長。好きな言語はRuby, Python。必要となればC++からVBA、Pascal等なんでも行う。MT4/MT5のプログラミングも得意。 2011年にはFXで稼いだ資金をもとにシンガポールに移住し、留学も兼ねて起業をチャレンジするほど、ビジネスを興すことに熱意がある。国内の業者を主に使い始めたことから、2012年に帰国。零細株式会社経営中。

Adsense

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 67 follow us in feedly

関連記事

no image

■超直感!MT4プログラミング講座■ 第14回 インディケーターの定義部

こんばんは!キリンです。 最近ピグによく顔を出しています。 よければ遊びに来てくださいね。 ではでは、本日の講義です。

記事を読む

no image

■超直感!MT4プログラミング講座■ 第24回 インディケーターの補足

こんばんは。キリンです。 第24回 インディケーターの補足 ■インディケーターをサブウィンドウに表示する ■グラフに

記事を読む

no image

■超直感!MT4プログラミング講座■ 第9回 for関数を使ってみよう

こんばんは!キリンです。 今日は、繰り返し同じ動作をすることのできる for関数についてのお話しようと思います。 第9

記事を読む

no image

■超直感!MT4プログラミング講座■ 第39回 ブレイクアウトシステムのEAの最適化をやってみよ

こんばんは!キリンです。 今日は最適化をしてみます。 簡単に成績がいいものができてしまうので、 成果が出たときは非常に嬉

記事を読む

no image

■超直感!MT4プログラミング講座■ 第25回 発注スプリクトの作成

おはようございます。キリンです。 今日から引越しの準備です。 今週はあまり仕事が進んでないです・・・。 引越しの準備とか

記事を読む

no image

■超直感!MT4プログラミング講座■ 第21回 ボリンジャーバンドを作ろう(3)

こんばんは!キリンです。 私は本日を持って、脱サラをしました。 もう二度とサラリーマン生活に戻らないという固い信念のもと

記事を読む

no image

■超直感!MT4プログラミング講座■ 第4回 関数の定義方法

おはようございます。キリンです。 「パソコンを付けたら、まずブログを書く!」というマイルール作ってみました。 実践せねば

記事を読む

no image

■超直感!MT4プログラミング講座■ 第32回 発注スプリクトをサブルーチン化する(1)

おはようございます。キリンです。 昨日、半年振り以上にバスケをしてきました。 今日の筋肉痛はやばいです(w サラリーマン

記事を読む

no image

■超直感!MT4プログラミング講座■ 第22回 ボリンジャーバンドのおさらい

こんばんは!キリンです。 お酒を飲んでからの講義は難しいですね。 何か対策を考えなければっ! 頑張って書いていきます。

記事を読む

no image

■超直感!MT4プログラミング講座■ 第33回 発注スプリクトをサブルーチン化する(2)

こんにちは。キリンです。 昨日、同い年の投資を始めている医大生とお会いしてきました。 すでに何度か事業にもチャレンジされ

記事を読む

Comment

  1. ななし より:

    SECRET: 0
    PASS:
    口座じゃなくて講座?

  2. SECRET: 0
    PASS:
    φ(.. ) ちょっと覗いてみようかな・・・プログラミングの世界

  3. SECRET: 0
    PASS:
    >ななしさん
    ぬはっ!
    ご指摘ありがとうございます・・・
    最後まで気づきませんでしたorz

  4. dava より:

    SECRET: 0
    PASS:
    MQLやってみたかったので
    楽しみにしています^^

  5. SECRET: 0
    PASS:
    >あやと ゆうさん
    最初のハードルさえ越えてしまえば、
    以外にできちゃうようになると思います。
    作れなくてもいじれるようになれば、
    結構面白い世界が見れるかもしれませんよ!
    コメントありがとうございます^^

  6. kirarin より:

    SECRET: 0
    PASS:
    プログラムなど ど素人の私でも分かるようにゆっくりお願いします~(^-^)/

  7. ta-tol より:

    SECRET: 0
    PASS:
    覚えたいです・・・

  8. chori より:

    SECRET: 0
    PASS:
    ついに始まりましたね~
    毎回毎回
    「バッファってなんだっけ?」てところから読み返す私のような覚えの悪い人間でもわかりやすくご説明お願いします(。-人-。)

  9. SECRET: 0
    PASS:
    >kirarinさん
    初めての人がプログラミングできればと思い、
    書いていくつもりです!
    バンバン質問してくださいね^^
    お読みいただきまして、ありがとうございます!

  10. SECRET: 0
    PASS:
    >ta-tolさん
    最初のほうの内容は簡単すぎるくらいのものの予定です^^
    そのあたりからしっかり理解して言っていただければ、
    問題なくこなせると思いますので!
    一緒に覚えましょう!

  11. SECRET: 0
    PASS:
    >choriさん
    バッファという言葉を理解されている時点で大丈夫だと思う私ですが・・・w
    choriさんはどのくらいできるのでしょうか?
    それに興味があります。
    ご訪問ありがとうございます^^

  12. junky より:

    SECRET: 0
    PASS:
    FXメタトレーダー入門を片手においておけば完璧でしょうか?(笑)
    自分はperlをかじってるので、少しの理解はあるつもりですが、今回の文字式にまで言及してる書籍はないと思いますので、とても有益な講座ですね。
    これからも楽しみにしてますので、ぜひ継続してください。

  13. SECRET: 0
    PASS:
    >junkyさん
    Perlを触ったことおありでしたら、
    私より導入時のハードルは低いと思いますよ^^
    案外すぐなのでは?
    入門本があれば完璧ですねw
    「豊嶋先生の本の何ページをご覧ください」
    みたいな記述も行っていこうかなって
    思っていますので^^
    コメントありがとうございます!

  14. ピーチママ より:

    SECRET: 0
    PASS:
    うーん 確かに難しいです。
    でも 解るようになったら
    本当に有益ですよね。
    また いろいろ教えてくださいね。

  15. SECRET: 0
    PASS:
    >ピーチママさん
    お久しぶりです^^
    ここで詰まると後が大変かもしれません。
    しっかりついてきてくださいね♪
    お読みいただき、ありがとうございます^^

  16. ジダン より:

    SECRET: 0
    PASS:
    これは「関数」じゃなくて「変数」の説明ですね。

  17. SECRET: 0
    PASS:
    >ジダンさん
    アドバイスありがとうございます!
    中学のころは何でも関数って読んでいた気がしたので用いてみたのですが、
    混乱を招いちゃいますよね。
    修正しました!

  18. しん より:

    SECRET: 0
    PASS:
    M相箱から辿り着きました。
    うれしい講座ですね^^
    基礎知識の穴を埋めるために楽しみに貪欲にかぶり突かせてもらいます。

  19. SECRET: 0
    PASS:
    >しんさん
    ありがとうございます^^
    一番最初のとっかかりのサポートができれば幸いです。

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

PYPIへの登録を10秒でできるようになる方法

pip 使ってますよね Pythonを使っている人であれば、pip installでライブラリ

The art of debugging with GDB, DDD, and Eclipse の読書メモ

GDBの勉強がしたくて、下の本を原著で読んでみました。10年前の本だけど全然現役でした。

JupyterでボタンからJavascriptを実行して追加のアウトプットをさせない方法

Javascriptを実行するとアウトプットセルの行が増える これがとても面倒だった。上の

まだBokehで消耗してるの?これからはPandas-Bokehを使おうぜ

タイトルはあまり気にしないでください。全然、Bokehで消耗する価値があるとは思っています。ただ

SQLAlchemy のマイグレーションライブラリ Alembic を使ってみる。

SQLAlchemyの作者が作ったデータベースマイグレーションツール。個人的には、SQLAlch

→もっと見る

PAGE TOP ↑