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

*

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

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

おはようございますっ!キリンです。
脱サラ後は朝のブログを習慣にする予定です。
毎日文章を書くことは、文章力をつける上では大切だなと
徐々に理解してきました。
続けていらっしゃる方は素晴らしいなと思いつつ、
私もそのなかの一人になるべく日々頑張っていきたいと思います。
では、今回の講義です。


第20回 ボリンジャーバンドを作ろう(2)

■junkyさんのコメントの回答
■ini()の設定
■junkyさんのコメントの回答
前回の宿題であった「ini()での初期設定方法」についてですね。
junkyさんから素晴らしいコメントをいただきましたので、
まずそちらからご紹介させていただきます。
それにおける間違いをお話しすることで、
より理解が深まると思います。

前回
// 指標バッファの割り当て
SetIndexBuffer(0, Buf);
だったので・・・
SetIndexMovingBuffer(0, Buf);
SetIndexUpperBuffer(0, Buf);
SetIndexLowerBuffer(0, Buf);
のように3つ必要なのかな・・・
// 指標ラベルの設定
は皆目見当もつかずで(苦笑)

努力が伝わる素晴らしい内容だと思います。
3つ必要だというのも正しいです。
少し気になったのが「MQL関数」の使い方を誤って認識されていることです。
まず、前回が
SetIndexBuffer(0, Buf);
でしたので、今回用いるMQL関数も
SetIndexBuffer()
は絶対に変えられません。そう、MQL名前の文字は変更できないんですね。
言い換えれば、
SetIndexMovingBuffer()
はMQLで定義されていない関数です。
まったく別物のなってしまいます。
この場合、変更するのは引数部のみで、正解はこのようになります。

SetIndexBuffer(0,MovingBuffer);
SetIndexBuffer(1,UpperBuffer);
SetIndexBuffer(2,LowerBuffer);

SetIndexBufferでの引数の形は
(指標バッファナンバー,配列の名前)
になります。
※指標バッファとは、グラフに用いる配列を表示するための枠のことです。
 その枠に配列を当てはめます。
0⇒MovingBuffer
1⇒UpperBuffer
2⇒LowerBuffer
(※指標バッファ⇒配列名)
とそれぞれのグラフを表示させる枠(指標バッファ)に、配列を収めました。
そして、指標バッファ0,1,2をグラフで表示させることになるんです。
■ini()の設定
僕はこのように書きました。

//—- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MovingBuffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,UpperBuffer);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,LowerBuffer);
//—-
SetIndexDrawBegin(0,BandsPeriod+BandsShift);
SetIndexDrawBegin(1,BandsPeriod+BandsShift);
SetIndexDrawBegin(2,BandsPeriod+BandsShift);
//—-

SetIndexBufferに関してはもう説明させていただきましたね。
▼SetIndexStyle()[http://www.metasys-seeker.net/MQL4_Reference_ver1/11-11_SetIndexStyle.html]
これは、グラフの表示方法を指定します。
引数については、URLをクリックしてみてください。
ここで指標しているのは、第一引数と第二引数のみです。
・第一引数 ⇒ 指標バッファナンバー
・第二引数 ⇒ グラフの表記方法[リンク]
グラフの表記方法は、リンクをクリックしていただきたいのですが、
数種類あります。
線を引いたり、矢印を表記したり、棒グラフを描いたりなどの指定はここで行います。
今回は、DRAW_LINEということで、「線グラフ」を指定しています。
▼SetIndexDrawBegin() [リンク]
SetIndexDrawBegin()というのは、その名前の通り、
グラフを表示させる開始点を指定します。
これをしなかった場合はどうなるか?を説明すればご理解いただけるかと。
$Trading Systems ~経済的自由を得るために~
このように、グラフが枠にはみ出てしまいます。
これはなぜ起こるのかといいますと、
ボリンジャーバンドの計算をできなかった場所は[ 0 ]になってしまっている
からです。0からグラフを描いているので、このような線が表示されてしまいます。
それを、SetIndexDrawBegin()で消しているのですね。
ばっちり理解していただけてきたのではないでしょうか!
だと嬉しいです。
明日はいよいよstart()の中身についてお話していきます。
しっかり付いてきていただければと!
最後までお読みくださりまして、ありがとうございます!

にほんブログ村 為替ブログへ 
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プログラミング講座■ 第33回 発注スプリクトをサブルーチン化する(2)

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

記事を読む

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座■ 第35回 MAの傾きを使ったEA

こんばんはっ!キリンです。 土曜日なんですが、脱サラすると関係なかったり・・・。 なんか実感が湧かない今日この頃です。

記事を読む

no image

■超直感!MT4プログラミング講座■ 第12回 配列の応用方法を覚えよう!

こんばんは。キリンです。 TopGunの運用で、初めて3機目まで導入されてしまいました。 最後に投入するということもあり

記事を読む

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座■ 第8回 スクリプトを使ってみよう!

こんばんは!キリンです。 昨日の動画を上げてから気づいたのですが、 おそらく、昨日の動画で私の話で何をいっているのか伝わ

記事を読む

no image

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

こんばんは!キリンです。 昨日、faiさん(とあるMetaTraderの備忘秘録)にブログで私の講座を紹介していただきま

記事を読む

no image

■超直感!MT4プログラミング講座■ 第34回 決済スプリクトをサブルーチン化する

こんにちは。キリンです。 自立ってそんなに難しくないと思うんですが、 自律は大変ですよね。 自立できれば自律を目指さなけ

記事を読む

no image

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

こんばんは!キリンです。 気づいたら本格的なプログラムを扱っている状態にまで、 この講座も進んでこれたのですね。 私とし

記事を読む

no image

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

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

記事を読む

Comment

  1. 招きねこ より:

    SECRET: 0
    PASS:
    部長!!
    これSetIndexDrawBegin()知りませんでしたw
    いらんって思ってたのですが、そこかって感動です。

  2. junky より:

    SECRET: 0
    PASS:
    自分のが間違ってるのはわかってましたが、正解がどうなるのか楽しみにしてました。
    同じSetIndexBufferを、番号を振り分けて3つ設定するのかぁ・・・
    まだまだ理解不足ですが、勉強になります。

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 ↑