本ブログは、MetaTrader を利用して、EA プログラムを自作紹介するサイトです。
決して儲かるシステムを紹介するものではありませんのであしからず・・・
もし、記事中に嘘偽りを発見された方、ご連絡頂けると幸いです。
なお、過去に作成した EA プログラムの作り方はこちらになります。

Loop_Entry : 同じ指値エントリーを繰り返し実行するプログラムです。
estTurn : 高値(安値)で反対売買を実行するプログラムです。

2010年4月4日日曜日

直近50ローソク足で最高値

今日は朝から子供達の部屋掃除を手伝いました。

新学期を迎えるにあたり、机の中や使わなくなった教科書などの整理、ついでに布団も古くなったので粗大ごみに出す準備など結構腰にきました・・・ 

年ですかね・・・

--------------------------------------------------------------

さてさて、前回までのプログラムで最初に決めたルールのうち次の部分が完成しました。

・注文は成行注文
・注文時に指値決済+35 ポイント、逆指値決済-25ポイントを指定
・チャートは15分足
・取引通貨はAUD/JPY
・決済されるまでは次の注文を入れない

残りは「直近50足分で最高値(最安値)をつけたら、反対売買で注文」の部分になります。

まずは「直近50足分で最高値(最安値)」という部分について調べてみたいと思います。

高値を調べるには、High[0] を使えば分かります。(安値はLow[0])

ただし、High[0] は表示されているチャートの現在のローソク足における高値が分かるだけで、直近50足分で最高値かどうかは分かりません。

High[0] の数字の部分を増やしていき、次のように50足分の高値を調べることは可能です。

High[1]:1個前のローソク足における高値
High[2]:2個前のローソク足における高値
High[3]:3個前のローソク足における高値

High[50]:50個前のローソク足における高値

面倒です・・・

そこで、便利な iHighest() を使いたいと思います。

iHighest() は「最高値をたたき出した足が何本前にあるかを調べてくれる」とっても便利な関数です。

使い方は、iHighest(NULL,0,MODE_HIGH,50,1) となり、それぞれの内容は次の通りです。

NULL:通貨ペアを指定(NULLを指定するとチャートに表示されている通貨)
0:時間足を指定(0はチャートに表示されている時間足)
MODE_HIGH:調べたい値を指定(MODE_HIGHは高値)
50:過去何本の足を調べるかを指定
1:現在の足から数えて何本前の足から調べるかを指定

つまり、次のように High[] と ihighest() を組み合わせて使います。

High[iHighest(NULL,0,MODE_HIGH,50,1)]

同様に、最安値を調べるには次のようになります。

Low[iLowest(NULL,0,MODE_LOW,50,1)]

これで、「直近50足分の最高値(最安値)」が得られました。

2 件のコメント:

匿名 さんのコメント...

すごく参考になります。
続きの更新が楽しみです。

hideho-fx-auto さんのコメント...

匿名さんへ

コメントありがとうございます。
参考になれば本当に幸いです。

少しずつですが、できるだけ続けてみようと思います。

参考になりました? よろしければご協力ください。

にほんブログ村 為替ブログへ 人気ブログランキング【ブログの殿堂】