« バーチャル取引必勝法 | トップページ | バーチャルヘッジ »

2006年2月14日 (火)

移動平均線を作る(その3)

移動平均線の作り方(その2)でスケルトンコードの意味がおおよそわかったでしょうか?
今日はいよいよ移動平均線をつくります。心配しなくてもめっちゃ簡単ですよ。

start()関数に記述していきます。

    int    counted_bars=IndicatorCounted();

の下に、以下のように続けてください。

    if(counted_bars<0) return(-1);   //・・・①
    if(counted_bars>0) counted_bars--;   //・・・②
    int limit=Bars-counted_bars;       //・・・③
    for(int i=0; i<limit; i++) {          //・・・④
        ExtMapBuffer1[i]=iMA(NULL,0,MASPeriod,0,MODE_SMA,PRICE_CLOSE,i);  //・・・⑤
    }

①~③はおまじないだと思ってください。ティックが動くたびに過去から現在までの全てのインジケータ(移動平均線)を再計算していたら無駄ですので、変化した部分だけを再計算するためのものです。興味があったら解読してみてください。

④はループ文とよばれるもので、0からlimit回、 { から } までが繰り返されます。

⑤iMA関数を呼び出しています。iMA関数とは移動平均線を描くための関数です。戻り値をExtMapBuffer1(インジケータのためのバッファ)に格納することで、移動平均線ができてしまいます。簡単ですね。
ちなみに、以下の引数を変えると動きがかわってきます。その他のパラメータはマニュアルを参考にしてみてください。

  • 5番目の引数:
     MODE_SMA:単純移動平均線
     MODE_EMA:指数平滑移動平均線
     MODE_SMMA:修正移動平均
     MODE_LWMA:加重移動平均
  • 6番目の引数
     PRICE_CLOSE: 終値
     PRICE_OPEN: 始値
     PRICE_HIGH: 高値
     PRICE_LOW : 安値

では、作成したものをコンパイルします。コンパイルというのは簡単にいうと、人が読めるソースコードを機械が理解できる機械語に変換するような作業です。
メニューに「Compile」ボタンがあるので押してください。
0 error(s), 0 warning(s)
が表示されたら成功です。失敗したら、どこがわるいか見比べてください。

「moving_average_sample.mq4」をダウンロード

さて、いよいよチャート上に表示させてみましょう。
「ナビゲータ」ウィンドウの「Custom Indicators」の中に今回作ったインジケータがあるでしょうか?それをチャート上にドラッグしてくだい。
ちゃんと表示されたでしょうか?

Movingaverage_chat

これで、一応、インジケータの作成が終わりました。このサンプルは超簡単なものですので、これからどんどん応用を利かせて色々なインジケータを作りたいと思います。

もうすぐ開幕です!!
外為トレード選手権「FX1」で、すごい商品をゲットしちゃいましょう。

あと、今なら開催元であるセントラル短資さんに口座開設すると、「5000円キャッシュバック」があります。しかも、「1ヵ月手数料無料クーポン」付き。こんな好条件は今時めずらしいですよ!

オンライン口座開設ができる「日短FXダイレクト」

応援よろしくお願いします。m(._.)m ペコリ

|

« バーチャル取引必勝法 | トップページ | バーチャルヘッジ »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« バーチャル取引必勝法 | トップページ | バーチャルヘッジ »