スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
メタバイザー
スポンサー広告  

メタバイザーって誰?
自己紹介



a.png


投資家のみなさんこんにちわ。お初にお目にかかる。






顔がでかいとは言わないでほしい。

誰だこいつと思っている貴方のために早速自己紹介から始めよう。

私は、引っ越しに伴い、ブログの管理を引き継いだメタバイザーです。

まず、趣味はメタトレーダーをいじること。

余暇の過ごし方はメタトレーダーをいじること。

特技はメタトレーダーをいじること。

完全なるメタトレーダーギーク(日本語でオタク)ですな。

しかし無頼の酒付きで、お酒の神様と奉られる一面もあるぞ。



なぜこんなにもメタトレーダーなのか。


元々私は裁量トレーダーだったのだが・・・

まぁ、貴方と同じように全然勝てなかった訳だ。

もともと熱くなりやすい性格が災いして・・

資金を溶かす溶かす。 もしかしたら私の資金が貴方のポケットマネーになっていたかもしれない。

感謝してほしい。

幸いにも僅か6ヶ月ほどで自分には裁量トレーダーの才能が無いことが判明したので、

システムトレーダーに転身したわけだな。

システム構築をできるようになるまでの道のりは楽ではなかったが、

一度できるようになると物凄い楽しい。

感覚的にいえば、現代の錬金術士になったみたいで、

錬金術の方程式を試行錯誤して編み出している感じだ。

特にメタトレーダーはFX売買に特化したツールで物凄く使い勝手がよいので、

FXをやっているものはメタトレーダーをとりあえずダウンロードして使ってみることをお勧めする。

チャートソフトとしても非常に有用だし、この世のすべてのインディケーターが使用できるといっても

過言ではないだろう。

更にメタトレーダーが使いこなせるようになり、

売買検証、インディケーター作成、自動売買ソフト作成ができるようになれば、

「勘」の投資から「統計的優位」な投資へとステップアップできる。

諸君にもその恩恵を分け与えたいと思う。 

このブログをみて真剣に学べば、誰でもメタトレーダーを使いこなせるような作りにするつもりだ。

なぜ私がそんなことを言えるのかといえば、

私がプログラミング初心者だったからだ。

配列って何?変数ってどんな数だ? そんな基礎も分からないところだらけからスタートだった。

だから逆に、プログラミング初心者と同じ立場で教えることができる。

メタトレーダーは慣れると簡単で、且つシステム構築ツールとして非常に効率が良い。

但し、2ヶ月程はC言語、MQL4言語を真剣に学んでもらう必要があるぞ。そこは頑張ってほしい。

逆にいうと、全くのプログラミング初心者でも2ヶ月程で一通り使いこなせるようになるわけだ。



最後に。


訪問してくれてありがとう。私はさびしがり屋だ。

掲示板を用意しておくので気が向いたら書き込んで欲しい。

ブログコメント欄を置くと、コメントがばらけるので、コメント欄は敢えて置かないことにする。

記事の感想等は、メタバイザーの放課後に書き込んで頂けると大変うれしい。


ところで知っているだろうか。銀行家、証券業界では、一般投資家=ゴミ、クズ、虫けら投資家

という図式ができあがっているらしい。

貴方は勝ち組投資家だろうか?それとも、負け組投資家だろうか。

さしずめ、虫けら投資家なのではないかな?

HAHAHAHAHAHA!



私もだ。

一緒に成り上がろう。


長くなってしまったが、最後まで読んで頂いたことに感謝する。


人気ブログランキングに参加している。

にほんブログ村 為替ブログ FX システムトレード派へ

宜しければ応援して欲しい。  どうもありがとう。
スポンサーサイト
メタバイザー
はじめに   0

ボブとメタバイザーによる、メタトレーダーとはなんぞや?前編
ボブ
皆さんこんにちわ! 好きな時間足は30秒足。FX初心者のボブです。

皆さんはメタトレーダーってご存知ですか?? なんか最近流行っているらしいんですよね。

噂によると、いろいろ便利らしいんですが・・・

        まぁでも、いろいろ面倒くさそうだし、そんなのいっかwww ボリンジャー使える業者なら。

a.png





喝!!








ボブ:うわっ!!!

メタバイザー(以下メタ):この愚か者が!そんな思考だからいつまでたっても頭の上のがとれないのだ。

ボブ先生だっていつも顔でかいじゃないですか・・・・

メタあっ?

ボブい、いや、なんでもないです!  と、ところでメタトレーダーメタトレーダーって言われてますけど
    具体的に他のチャートと何が違うんですか??
(汗) 

メタ:ふむ。さすがはなんでマンだな。ボブ。頭に?をつけてるだけあって、意外と良い質問じゃないか。

ボブちょっ、やめてくださいよ先生。ボブですから。ボブ。

メタ:今日はそんななんでマンのために、メタトレーダーって何?具体的になんでマンである僕に対し
   てどんな利点があるの?っていうところをお教えしよう。

ボブ気持ちいいくらいの全無視ですね。



メタトレーダーの利点ってそもそも何?

さて、これから講義に入る。なんでマン君には後で質問の時間をとるから、黙って聞いてるように。

そもそもメタトレーダーとは何なのか。一体それは、初心者にとっても使って便利なのかということを説明していこう。メタトレーダーを使うことによって我々が得られる利点は以下のようなものがある。


・自分のオリジナルのインディケーターを作ることができる。
メタトレーダーには、自分でインディケーターを作る専用のプログラミング言語が搭載されており、使い方を覚えれば、自分ですきなようにインディケーターを作成することができます。

・移動平均線がクロスした時に音を鳴らすなどの設定ができる。
従来の価格がある地点に達したら音を鳴らすという機能はもう忘れてください。
インディケーターを作成することで自分の取引スタイルに合わせたタイミングで音を鳴らすことができるようになります。

・何千通りにも及ぶインディケーターを使うことができる。
その結果として、十人十色のインディケーターがWeb上に溢れています。貴方はその他人が開発したインディケーターを使うことができます。

・売買検証機能が搭載されている。
特にメタトレーダーでは以下の3点によりその他の売買検証ソフトよりも大幅に優れているということができます。
1.自分の作った取引手法を、全ての通貨ペア、全ての時間足において検証するこができる。
2.パラメーターの最適化を自動で行うことができる。
3.トレーディング関数というものが搭載されているので、自分でMACDや移動平均線等の計算式を記述する必要が無い。

・自分の作った取引手法で自動売買を行わせることができる。
売買検証機能によって良い成績をあげたものを、実際にメタトレーダーと提携している業者を使用することで自動売買をすることが可能です。

実際にプロのディーラーもメタトレーダーを使用して取引している人はたくさんいる。
株式会社ガンパウダーの代表取締役の鈴木隆一氏などもその一人だ。鈴木氏は、外為どっとコムのセミナー等をしているから、気になれば受講してみると言い。

無料だし。結構タメになることを聞けると思う。

まぁこのように、メタトレーダーは海外で発明されたチャートソフトなんだが、大変高性能で使い勝手が良いため、全世界中に急速に普及している、最先端のチャートソフトだ。

しかもこのチャートソフトは完全に無料で、誰でも使うことができる

初心者程、メタトレーダーを使った方がよい。なぜなら、相場に関する心構えができていないからだ。
よく相場に張り付いていれば勝てると勘違いしている馬鹿がいるが・・・・

相場に張り付いていたところで勝てるわけがない

上級者ならともかく、特に初心者は相場を見続ければ見続けるほど、相場の一時的な値動きに惑わされ、待ちきれなくなって適当にエントリーしてしまう。 

そうだよなボブ。 



ちなみに私もだ。

そうすると、ちょっとした値動きに惑わされ、我ながら素晴らしいと感心するほど、最悪のタイミングでエントリー、損切りすることになる。自分の逆で取引をしたら素晴らしい成績になると自慢したくなるだろう。

それなら自分で売買検証をして、優位性のある手法を発見し、その手法をメタトレーダーで自動で取引してもらった方がよいし、
優位性のある手法なしで相場に挑んでいるならそもそも相場を辞めた方がよい。

多分資金を溶かすぞ。   私は溶かした。


そこであなたはこう思うだろう。それでもプログラ・・・ん。もうこんな時間か。 ボブ、続きは次回だ。


ボブえっ!出番全然なかったケヘークシッ!

メタあ"~・・・ さて、この話は次回に続くが、何か質問や意見があれば、放課後に聞きに来てほしい。 
   それではまた会おう。お疲れ様。
ボブ・・・・・・・

人気ブログランキングに参加している。
にほんブログ村 為替ブログ FX システムトレード派へ

もしよろしければ応援してほしい。どうもありがとう。

ちなみにブログをやっているメタトレーダー仲間は から見ることができる。


最後まで読んでくれたことに感謝している。
メタバイザー
はじめに   0

:FX(外国為替証拠金取引) - :株式・投資・マネー


ボブとメタバイザーによる、メタトレーダーとはなんぞや?後編

ボブ
くそう・・前回も全然出番がなかったじゃないか。。・・いつも僕の出番をでかい顔でじゃましてくるんだかんっ?

a.png














ボブ:うわっ!!!

メタバイザー(以下メタ):やぁボブ。なんかストレスがたまってるらしいじゃないか。

ボブそうですよ。たまには僕にももっとしゃべらせてくださいよ。枠。枠をもっとください。

メタ脇役の分際でなかなか面白いこと言うね。

ボブいやいや!僕を前面にださないから視聴率がひくいんですよ。 

メタ:ほほぉ。つまり、君がたくさん話せばこのアカデミーはもりあがると言うんだな?

ボブそ、そうですよ!髪型とかも明らかに僕の方が活かしてるじゃないですか

メタ:黙れもじゃ。と、いいたいところだが、そこまで言うなら今日の講義は脇役ボブ君を主体にやってみよう。

ボブ!!ありがとうございます!先生って見た目ほど頭硬くないんですね

メタ:ほっとけ。



ボブによる質問コーナー
ボブ
とりあえず前回、いろいろな話を聞いたんですが、話を聞いたところでなんていうか。。あ~難しそうだな。インディケーターや自動売買を作れるっていっても作るのが面倒くさそう。って感じなんですよね。

・・・あ、全部しゃべれた!!



メタ:Zzz・・・・・・・・・

ボブ:寝とんのかい。

メタ:ハッ! すまんすまん。あまりにも質問が微妙過ぎて寝てしまった。
   もっとうまく質問できんのか。なんでマンなんだから。1問1答みたいな感じで答えられる質問をしろ。

ボブ:う。。じゃぁ質問なんですけど、プログラミングができない僕でもメタトレーダーって便利なんですか?

メタ:うむ。やればできるじゃないか。 プログラミングができなくてもメタトレーダーは便利だ。
   そのためにこのアカデミーはあると言ってもよい。
   プログラミングできなくても便利を体験してもらうために、
   インディケーターで音付きインディケーターをダウンロードして
   ExpertAdvicerで音付きインディケーターをどのように使えば良いのかをチェックすると言い。
   感情に左右されないシステムトレーダーの感覚がわかるようになるはずだ。

ボブ:といっても、そもそもメタトレーダーってどこでダウンロードすれば良いんですか?

メタ:う。。。メタトレーダーをダウンロードしていないのか?まぁ初めは誰でも初心者だからな。
   それならFXボーイのほうがメタトレーダーの導入の仕方を動画で解説しているから、
   メタトレーダー導入編基本操作前編後編の動画をまずはみると良い。

ボブ:なるほどなるほど。それでもやっぱりいつかは自分でプログラミングできるようになりたいです。

メタ:ほほぉ。なかなか向上心があるな。どうしたボブ?熱でもあるのか。
   その気持ちがあるならメタトレーダー講義のほうにいけば良い。
   CodersGuru師範が優しく一から教えてくれるだろう。
   もしくは、メタバイザーのメタトレーダー集中講座初級編を受講して欲しい。
   こちらは余計な知識を省いて最短で自動売買ソフトがつくれるような構成になっている。

ボブ:でも、プログラミングを勉強してて質問が出てきた時はどうすればよいですか?

メタ:そのための掲示板だろう。そこで質問するか、もしくはmetavicer@gmail.comに質問してもよい。
   ちなみに頂いた質問は他の人のヒントになるように基本的にこのブログで掲載して公表する。
   もしそれが嫌であればあらかじめその旨を伝えて欲しい。

ボブ:もしプログラミングができるようになって、
   堅牢なシステム構築をするためのアイディアが欲しくなったらどうすればよいですか?

メタ:ふむ。それならメタバイザーのメタトレーダーレッスン中級編に進むと良い。
   そこで堅牢なシステム構築をつくるためのヒントを掲載していく。   

ボブ:でも時々面倒くさくて、自動売買ソフトとか、インディケーターとか誰かに作って欲しい時ってありますよね。

メタ:料金は発生するが、FXボーイのほうが責任を以てそういった依頼をこなしている。
   作成依頼はこちらから飛んでしてほしい。(もう少々お待ち下さい)

ボブ:いろいろありがとうございました。でも僕実は裁量トレーダー目指しているんです。

メタ:たしかに裁量でやるのは楽しい。私も時々やってしまうからその気持ちは分る。
   ただ、、私はどう考えても裁量よりもシステムのほうが早く稼げるようになる気がしてならない。
   このサイトはシステムトレーダー向けなので、裁量的な要素はあまり触れていないのだが、  
   裁量で破産しないための最低限のルールは教えておくから裁量取引を参考にするように。

ボブ:僕でもメタトレーダーが使いこなせるようになりますかね?

メタ:もしお前が使いこなせるようになると、自分を信じることができれば使いこなせるようになるし、
   やっぱり僕には無理だと思えば使いこなせるようにはならない。
   要は自分次第だ。なるべくお前が僕には無理だと思わないように丁寧に指導していくつもりだが。
ボブ:わかりました。。これから頑張ってハイパートレーダーになろうと思いますのでよろしくお願いします!

メタ:語感がダサすぎてハイパートレーダーには死んでもなりたくないが、
   メタトレーダーを使いこなせれば稼げるトレーダーに近づけると信じている。お互い頑張ろう。
   ちなみにここで紹介したコーナーのリンクがなければ近いうちに作成するつもりなので、もうちょっと待ってて欲しい。

ボブ:なんか言いました?

メタ:ん。いや、こっちの事情だ。ところでなかなか良い質問だったぞ。
   さすがは何でマン。今日は最後のブログランキングのお願いを貴様がしてみろ。

ボブ:!!ほんとですか!

メタ:あぁ本当だ。但し、これでブログランキングのクリックがいつもより少なかったら・・・
   お前はこのブログで二度と登場することはないだろう。

ボブ:うわぁ! それはないっすよ~!

メタ:頑張って読者の方にお願いしてみるんだな。ファーファファ!


ボブ:今日はお付き合い頂きありがとうございました!このブログで初めてちゃんと話せた気がします。   
 このブログは人気ブログランキングに参加しています。

にほんブログ村 為替ブログ FX システムトレード派へ

僕のことを少しでも思ってくれる優しい方はクリックしてください!!
下手すると、、、初めてたくさん話して、そのまま消える噛ませ犬キャラで終わってしまうかもしれません・・・・・・お願いします!


ちなみにブログをやっているメタトレーダー仲間は から見ることができますので、よろしければこちらもどうぞ。こっちのクリック数は僕の存続に関係ないみたいなので、余り気にしなくてもいいけど。。


じゃあね。最後までつきあってくれて本当にありがとう!
メタバイザー
はじめに   0

:FX(外国為替証拠金取引) - :株式・投資・マネー


これからFXを始める人達へ
初めまして。FXボーイです。
現在僕はFXをやっているのですが、
そのおかげでいろいろ人生が開けてきた気がします。

といっても、FXのお陰で人生がどん底になってしまう人もいます。
なので、
FXは詐欺商材だ! 破産するぞ!ギャンブラー!
FXをやっているなんてとんでもない!
早く辞めろ!不況はお前らのせいだ!

と、FXをやっているとネガティブな反応されることが時々あります。
FXをやっているというと、露骨に嫌な顔をされることもあります。
FXをやっているというだけで、モトカノの親から「別れなさい」
と、いわれたこともあります

さて、そんなFXなんですが、
僕はそこまで忌み嫌うものではないと思います。

資産運用の一環として考えれば良いんじゃないかな~っ
て思っています。

FXをやっていると、実際に自分のお金を掛けて取引を行うので、
海外のニュースに敏感になり、世界情勢に深い知識を得ることができます。
買った!負けた!等の揺れ動く感情を適切に処理しないとお金を減らす可能性がすごく高くなるので、自制する大切さを学ぶこともできます。
リスクをとることの大切さも学ぶことができます。

そして何よりも、経済的自立を達成し、会社に頼らなくても生きていける人生を築ける可能性があることに気が付きます。

といっても、専業トレーダーを進めているわけではありません。稼ぎ続けられる保証はありません。といより90%以上の確率で無理です。専業トレーダーは基本的に地獄だと思います。普通の神経の人はやめたほうが良いです。(僕も無理です)

ただ、会社に入らなければ生きていけない。という常識をちょっと違う目線で見れるようになれるのは大きいことだと思います。

で、FXをやっていると大金を無くしてしまうのではないか?という不安があるかもしれませんが、適切な手順を守れば大丈夫です。

それを次回お話していきたいと思います。

-------------
お願い
-------------
以下の3つをコメントに書いて頂けると大変嬉しいです!
次に何か記事を書くときの参考にさせて頂きます。

1.FXを始めるにあたっての漠然とした不安や、
2.lFXを始めるにあたって知りたいこと
3.その他何か聞きたいこと(なんでも)
4.さらにもう一つ聞くとしたら何が知りたいですか?


人気ブログランキングに参加しています。
人気ブログランキングへ

もしよろしければクリックして頂けると本当に嬉しいです。
よろしくお願いいたします^^

また、コメントは↓に書き込んで頂けるとたすかります♪
メタバイザー
はじめに   0 0

メタトレーダー講義 第11回 初めてのインディケーター 第2部
こんにちわ。FXボーイです。
今回はメタトレーダーのインディケーターの作り方第2回目の講座です。

メタトレーダーって何?というかたは
メタトレーダー初歩をご覧ください。

動画や文章でメタトレーダーの利点や導入方法を解説してあります。

メタトレーダーをいじれるようになると、相場でできることが飛躍的に広がりますので、興味のある方は是非修得なさってください。

それではCodersGuruさんの講義に参りましょう。





この文章はCodersGuruさんのMQL4Lesson4の訳文です。(翻訳しての転載に本人の許可はとってあります)         
                      MQL4講座       
                     Coders'guru                               
                      www.forex-tsd.com                          
                           -11-
                 初めてのインディケーター
                 第2部



初めてのインディケーターの第2回目の講義へようこそ。
前回の講義では、私たちは何もコード文をかきませんでした。それはなぜなら、操作ガイドが私たちのためにコードを書いてくれていたからです。ありがとう!

今日は、私たちのプログラムがより役立つものになるように操作ガイドが作ってくれたコードに少し文章を追加していきましょう。
その後、コード文の1行1行説明していきます。

さぁ記述しましょう!

追加するコード

追加するコードは前回のコード文に太字の蒼黒色で描き込みます。

//+------------------------------------------------------------------+
//| my_first_indicator.mq4 |
//| Codersguru |
//| http://www.forex-tsd.com |
//+------------------------------------------------------------------+
#property copyright "Codersguru"
#property link "http://www.forex-tsd.com"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red

//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{

//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
string shotr_name="Your first indicator is running!";
IndicatorShortName(short_name);



//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{

//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int
counted_bars=IndicatorCounted();
//----check for possible errors
  if (counted_bars<0) return(-1);
//----last counted bar will be recounted
  if(counted_bars>0) counted_bars--;

  int pos=Bars-counted_bars;
  
  double dHigh , dLow , dResult;
  Comment("hi! I'mhere on the main cart windows!");


//----maincaluculation loop
  while(pos>=0)
   {
      dHigh=High[pos];
      dLow=Low[pos];
      dResult=dHigh - dLow;
      ExtMapBuffer1[pos]=dResult ;
      pos--;
    }

return(0);
}
//+------------------------------------------------------------------+

____________________________________________________________________

どのように動くの?

コード文を書いたらそのあと、そのコード文を説明していきます。もしそのコード文に取り上げるべきトピックス(テーマを決めて行うべき学習)がないのなら、その時はコード文を直接説明します。しかしほとんどの時間は、いくつかの一般的なトピックスを議論するために立ち止まることになります。

それでは、コードを1行1行解明していきましょう。
//+------------------------------------------------------------------+
//| my_first_indicator.mq4 |
//| Codersguru |
//| http://www.forex-tsd.com |
//+------------------------------------------------------------------+


コメント:

最初の五行のコード(灰色のコードです)はコメントになります。
コンパイラーが読み取らないコード文を書くためには、コメントを使用します。
コメントを書くべき理由はたくさんの理由があります。
    ・コード文をきれいにするため
    ・著作権や、制作日等を記述するため
    ・コード文をよりわかりやすくするため
    ・私たちにあなたのコードがどのように動くかを説明するため。
    ・etc...

コメントは2種類書くことができます。

1行コメント:  1行コメントは"//"で始まり、終わりには改行を使います。

複数文コメント:複数文コメントは"/*"で始まり、"*/"で終わらせます。これによって1行以上のコメント
         がかけるようになります。

MQL4操作ガイドはプログラム名著作名リンクを記入したデータを取り入れ、それらをコメントとし私たちのプログラムの先頭に記述します。



#property copyright "Codersguru"
#property link "http://www.forex-tsd.com"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red



propertyコマンド

貴方が注目したように、これらの文はすべて"#property"から始まっています。これはなぜなら、プリプロセッサコマンドのうちの一つである、propatyコマンドと呼ばれているものだからです。

プリプロセッサーはコードを読み込む前にそれらを実行できるようにするためにコンパイラーに渡す取扱い説明書です。

propertyコマンドは、MQL4に内蔵され、予め定義された定数でコンパイル制御と呼ばれています。
役割は、あなたのプログラムの特性を指定するものです。
例えば、あなたのインディケーターは、メインチャートウィンドウもしくはセパレートウィンドウのどちらに現わしますか?プログラムの作成者は誰ですか?といったものです。

メモ:プリプロセッサーの文の終わりはセミコロンの記号ではなく、改行でおこなってください。

link:
このプロパティーはあなたのウェブサイトのリンクをしていするものです。操作ガイドの2ステップめで記入したものが表わされます(詳しくは前回の講義をご覧ください。)
データタイプはstringになります。

copyright:
プログラムの著作者の名前です。link propertyと同じように、操作ガイドのステップ2で記入したものが表示されます。
データタイプはstringです。

stacksize
すべてのスレッド(ソフトウェアの実行単位)のために割り当てられたメモリーの大きさ。整数値で表わされる。初期設定値は16384。データタイプはintegerです。

indicator_chart_window:
このプロパティーを指定すると、あなたのインディケーターはメインチャートウィンドウ(図1参照)に描かれるようになります。貴方はインディケーターを二つのオプションのうちから一つを選ばなくてはなりません。このpropertyを使ってメインチャートウィンドウに描くか、それとも indicator_separate_windowのpropertyをつかって、セパレートウィンドウに表示させるかです。同時に二つを使用することはできません。
データタイプはvoidを使用しますつまり、何も値をとらないということです。

indicator_separate_window:
このpropertyをセットすると、あなたのインディケーターはseparate window(図1参照)に描かれます。セパレートウィンドウのとる範囲を二つのpropertyを使うことによって指定することができます。indicator_minimumを使って最小値を指定し、indicator_maximumを使って範囲の最大値を指定することができます。
そして、indicator_levelNのpropertyを使うことによってインディケーターのレベルの範囲も指定できます。インディケーターに割り当てられた数字がNになります。

indicator_chart_windowindicator_separate_windowの二つのpropertyはvoidのデータタイプです。voidは何も値を取ることがないことを示し、ただそれを書き込んでください。

今回のプログラムでは、セパレートウィンドウにインディケーターを割り振ります。
#property indicator_separate_window

chartwindow.png
                      図1



indicator_minimumu
このpropertyによって、セパレートウィンドウの目盛の最小値を決めることができます。これはウィンドウの底辺になります。具体的にいうと
#property indicator_minimum     0
#property indicator_maximum     100
ここではウィンドウの底辺を0に、天井を100(indicator_maximumをご覧ください)に指定しました。そのようなわけで、もしこのコード文を書き入れると、私たちのインディケーターが描かれるセパレートウィンドウ目盛範囲は0から100になります。
データタイプはintegerになります。

indicator_maximum:
このpropertyにより、セパレートウィンドウの目盛の最大値を決めることができます。これはウィンドウの天井になります。値はindivator_minimumの値よりも大きくなくてはなりません。データタイプはintegerになります。

indicator_levelN
このpropertyにより、インディケーターのセパレートウィンドウの範囲内で水平ラインを引くことができます。その範囲は、indicator_minimumuと、indicator_maximumuで作りだした範囲内に収めなくてはなりません。つまり、indicator_levelNの値は、indicator_minimumよりも大きく、indicator_maximumの値よりも小さくなくてはならないということです。
Nは、レベル(水平ライン)を指定しているインディケーターナンバーで、1から8までの値しかとれません。
例えば
#Property indicator_minimum   0
#Property indicator_maximum   100
#Property indicator_level1     10   //最初のレベル(水平ライン)の指定
#Property indicator_level2     65.5  //2本目のレベル(水平ライン)の指定

このpropertyのデータタイプはdoubleになります。

indicator_buffers:
このpropertyを使用することにより、ラインを描くために割り当てたメモリー空間(配列)の数を指定します。数を指定(1の範囲で)するときに、私たちはMQL4に「私のインディケーターラインを描くためにメモリー空間を割り当てておくれ」と伝えていることになります。
これはインディケーターに表示する線の数を指定することになります。

私たちのプログラムでは、ひとつのバッファーしか使いません。
#property indicator_buffers 1
これは私たちが一つの線しか使わないからです。
(これは指標の線のことを指し、MACDやストキャスティクスなら2本、RSIなら一本といったことになります。MACDやストキャスティクスならindicator_bufferは2になります。)

indicator_colorN:
私たちは8つの線をインディケーターに使用することができますが、indicator_colorNのpropertyを使用することによって、それぞれの線の色を指定することができます。Nは、indicator_bufferで定めた線の番号に対応します。(今回はindicator_bufferでNをに指定したのでindicator_colorのN以外取ることができません。)
あなたのインディケーターのユーザーは、この色をインディケータープロパティから変更することができます。(図2参照)
私たちのプログラムでは、インディケーターラインの色は赤に設定しています。
"#property_indicator_color1 Red
このデータタイプはcolorをとります。




colorpro.png
                     図2

____________________________________________________________________

double ExtMapBuffer1[];

配列:

私たちの人生は、普通似た目的も人たちが集まりグループを形成します。プログラミングでも、同じタイプのデータ項目が一緒になってグループを作る必要があります。この仕事を配列を使うことによっておこないます。(こうすることで、例えば50あるintegerタイプの変数をいちいち宣言しないで済むようになります。)
配列は一覧表と大変よく似ています。あなたは表の中に分類分けした項目を集め、そしてその項目を行数を指定することで利用します。配列の中での行数はインデックスと呼ばれます。


使用する配列を宣言するためには以下のようにおこないます
int my_array[50];
ここでは、配列をintegerタイプだと宣言しました。そして、その配列には50項目のintegerタイプの変数を持つことができます。

項目のインデックスを使用することで、配列の中のそれぞれの項目を利用することができます。
My_array[10]=500;
ここでは、配列の中の項目番号(インデックス)10のものを500と指定しました。(My array[10]は自然とintegerタイプになります。)

同じ列の配列の宣言を同時に行い初期化することもできます。
int my_array[5]={1,24,15,66,500}:

私たちのプログラムではこのコード文をつかいました。
double ExtMapBuffer1[];

ここでは、私たちはdoubleタイプの配列と宣言しています。これは、配列をチャートに描くための値を算出するために使うことになります。(今回のコードの一番最後の方に書かれているExtmapBuffer1=dResult;で値の結果がつねにdoubleであると指定して、割り振っていることになります。)




int init()
{
}


特別関数

関数はコードのひとかたまりで、機械のように材料を投げ込まれると、製品を生み出す働きをします。(詳しくは第7回講義―関数をご覧ください。)
MQL4は3つの特別な関数があります。
init():
全てのプログラムはその他のどの関数よりも前に、この関数から起動します。ここには貴方の変数の初期値を入れなければなりません。
start();
ここが最も働く場所になります。新しいティックが受け取られるたびにあなたのプログラムは関数を呼び出します。
deinit();
これは、プログラムが終了される前に呼び出される最後の関数になります。ここでは貴方が望めばどのような処理でも行うことができます。


SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
string shotr_name="Your first indicator is running!";
IndicatorShortName(short_name);




Custom indicator function:

今回の講義ですべてのインディケーター関数の解説を行うことはできませんが、次の講義ではその詳細とともにすべてを取り上げたいと思います。ですので、今回は私たちが作っているプログラムに出てくるもののみを取り上げたいと思います。

SetIndexStyle

void SetIndexStyle(int index,int type,int style=EMPTY,int width=EMPTY,color clr=CLR_NONE)

この関数は描かれるラインのスタイルを指定します。

この関数のインデックス(項目番号)設定値の範囲は0~7です。(なぜなら配列は0から始まり、指標の線の数の限界は8本と決まっているからです。)そしてSetIndexStyleを使用してラインのスタイルを指定していきます。(今回は、ラインは一本だけなので、必然的にインデックスは0です。1から始まるのではなく0から始まることに注意してください。)

type設定値はラインの形の種類を決定するもので、以下のtype定数から一つ選ぶことができます。
DRAW_LINE(ラインで描く)
DRAW_SECTION(セクションで描く)
DRAW_HISTOGRAM(棒グラフで描く)
DRAW_ARROW(マークで描く)
DRAW_NONE(何も描かない)
初期設定値はDRAW_LINEになります。

style設定値は、ラインを描く時の線種を設定するものです(点線とか太い線とか)以下のstyle定数から選ぶことができます。
STYLE_SOLID(通常の線をかく)
STYLE_DASH(ダッシュの線を書く   ― ― ―)
STYLE_DOT(ドットの線を書く      ・・・・・・・・・)
STYLE_DASHDOT(ダッシュとドットの線を書く  ― ・ ― ・ ― ・)
STYLE_DASHDOTDOT(ダッシュの後にドットが二つ続く線をかく   ― ・ ・ ― ・ ・ ― ・ ・)
初期設定値はSTYLE_SOLIDになります。線の太さ(width)が2以上の時は設定できないので気を付けてください。

width設定値は線の太さを決めるもので1から5までの範囲で選択できます。初期設定値はになります。

clr設定値はラインの色をきめるものです。それはcolor変数の値をとります。初期設定値はになります。

私たちのラインに関するコード
SetIndexStyle(0,DRAW_LINE);
インデックスは0に指定しました。これは私たちは第一の(そして唯一の)ラインに指定したことになります。

そしてラインの形のタイプをDRAW_LINEに指定しました。その他のstyleの設定は、何も記述していないので初期設定(STYLE_SOLID,1,黒)に設定されることになります。ただしここでラインの色は、#property indicator_buffers 1で赤に設定されているため赤が表示されます。ちなみにDRAW_LINRも初期設定値に設定されているため、 SetIndexStyle(0,DRAW_LINE);は記述しなくても同じ結果が得られます。
SetIndexStyleは、 SetIndexStyle(インデックス(ラインの指定),type,style,width,color) のように記述するので、ラインのスタイルをあらかじめ指定したい場合には以下のように記述します。

SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_DOT,1,Blue);

コンマで区切っていくことを忘れないでください。


SetIndexBuffer:
bool SetIndexBuffer(int index,double array[])

この関数は、インディケーターを描くインディケーターバッファーの値に割り当てる配列を指定します。

この関数はバッファーのインデックスをとります。0というのは最初のバッファーで、1というのは二つ目ということになります。そのあと、配列の名前をとります。
今回はラインが一つしかないので、必然的に配列のインデックスは最初のバッファーである0になります。
もしその関数が成功すればtrueが帰ってくきますし、falseが帰ってきたらば成功ではなかったことになります。
私たちのプログラムでは、算出値をとどめておく配列はExtMapBuffer1になります。
そして私たちはただ一つのインディケーターバッファーを持っています。(#property indicator buffers 1)ですので、これが、割り振られたバッファーです。

IndicatorShortName
void Indicator ShortName(string name)


この関数はチャートウィンドウ左上の角(図3)に表示される文章を指定します。
私たちのプログラムでは、string変数を宣言し、その値を"Your first indicator is runnning"と割り振りました。それからその変数をIndicatorShortName関数に受け渡します。

string shotr_name="Your first indicator is running!";
IndicatorShortName(short_name);



shortname.png
                          図3


return(0);

これがinit()関数の戻り値であり、関数の終着点になります。そして次のstart()関数の実行へとプログラムを渡します。


int deinit()
{

//----

//----
return(0);
}
denit()関数について新しく言うことはありません。

次の回に残りのコードについて解説しようと思います。
楽しんでいただけましたでしょうか。

それでは。
Coders'Guru


メタバイザーによる補足説明

今回解説することは特にないようだ。

何か質問や意見があれば、メタバイザーの放課後まで遊びに来てほしい。 



ちなみにメタトレーダー集中講義も無料で行っている。気になる人は受講していってくれ。

人気ブログランキングに参加している。
にほんブログ村 為替ブログ FX システムトレード派へ

ちなみにブログをやっているメタトレーダー仲間は から見ることができる。

いつも訪問してくれてほんとうにありがとう。
メタバイザー
はじめに   0 0

お久しぶりです。
また、そろそろ復活しそうです。
メタバイザー
はじめに   1 2

| HOME |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。