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
  • 66 follow us in feedly

関連記事

no image

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

おはようございます。キリンです。 昨日は招き猫さんに来ていただいて、 引越しを手伝っていただけました。 だけと肝心の準備

記事を読む

no image

■超直感!MT4プログラミング講座■ 第18回 インディケーターを色々いじってみよう

こんばんは!キリンです。 今日の名言 「日々、常に何か新しいことを学習し身につける。  それを繰り返すことによって、新し

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座 第37回 ブレイクアウトシステムのEA作成(2)

おはようございます。キリンです。 日本、負けてしまいましたね。 でも、すごい感動しました。 すごい夢をもらいました。 優

記事を読む

no image

■超直感!MT4プログラミング講座■ 第31回 サブルーチンを使えるようになろう

おはようございます。キリンです。 昨日、家の近くの図書館に行ってきました。 そこで借りた本の一冊に、 「生き方」(稲盛 

記事を読む

no image

■超直感!MT4プログラミング講座■ 第11回 配列を覚えよう

こんばんは。キリンです。 最近、各EAの動向で一喜一憂してしまっています。 精神的によろしくないですな^^; クロスファ

記事を読む

no image

■超直感!MT4プログラミング講座■ 第36回 ブレイクアウトシステムのEA 作成

おはようございます。キリンです。 今日は、マインドアップ的読書感想文で非常に良いことが書いてありました。 その中のさわり

記事を読む

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座■ 第5回 MQL基本関数を覚えよう!

こんにちは!キリンです。 早いもので、1週間で5回まで来ちゃいましたね。 皆さんもしっかり付いてきてくれているので、私と

記事を読む

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

Avoiding the problem of connect to outside of LAN with L2TP/IPSec on Ubuntu 18.04.

とても困って、原因の特定に2日かかった。疲れた。確定申告したいのに。 The IPSEC tu

Wine 上の MT4から ZeroMQ を使って Linux の pyzmq の通信をさせる

こんにちは。キリンです。 最近、年に数度のMQLを書くときがきたのですが、Pythonに慣れま

numpy の2つ行列で片方にあるものだけを抽出する。

numpy で2つの時間のインデックスをarrayデータとして持っていて、x にはない時間のイン

Synology DS216j の MySQL に外部からつなぐ

Synology DS216j をNAS(RAID1 12TB)として使っています。もっぱらデー

VMWare Player をヘッドレスモードで使う。

[bm url="http://www.ryanchapin.com/fv-b-4-713/Ru

→もっと見る

PAGE TOP ↑