メタトレーダー4でプログラムを作ってみよう -8ページ目

メタトレーダー4でプログラムを作ってみよう

無料のトレードソフトであるメタトレーダー4のプログラムを作るコツをアップします。初心者がインジケーターとEAのプログラムを作成できるのを目指します。

メタトレーダーは機能がてんこもりなのですが、その分、設定が色々あって複雑です。(;^_^A

その辺りを少し解説しています。


チャートの設定

データが見れるデータウインドウ

音に関する設定

Expert Advisorsの初期設定



関連記事をアップすれば、順次付け足していきます。




   
メタトレーダーってなに?

メタトレーダーはどうやってインストールするの?

って方はこちらの記事を参考にしてみてください。


メタトレーダーとは

Windows7 Vista でのインストール場所

メタトレーダーのダウンロード

デモ口座の作成

デモ口座を作成した後に

メタトレーダーの画面構成

ヒストリーデータをダウンロードする

インジケーターとEAを入れる場所




関連記事ができれば、付け足していきますね。




   
【送料無料】FXメタトレーダー入門

【送料無料】FXメタトレーダー入門
価格:2,940円(税込、送料別)

ではでは、次に決済の部分を作成します。

売りポジションの決済の条件は、


<売りポジション>
・エントリーした足の高値を終値ベースで上抜ける時は【成行で決済】
・終値ベースで、為替レートとMACDラインが前日の値よりも大きくなる時は【成行で決済】

ですです。

買いの決済の場合と逆なのですが、売りの場合は高値が必要になりますので、

その処理を付け足す必要があります。

まずは、初期宣言項目に以下を付け足します。

double entryhigh;

この変数に、高値を覚えさせます。

そして、指標計算の箇所に、

if(entrybar==Bars) entryhigh=High[0];


を付け足します。

entrybar にポジションを持った時のローソク足の数 Bars を覚えさせているので、

次の足ができて、ローソク足の数が変わるまでは、entryhigh に高値の値を覚えさせます。

時間が進んで新しい足ができると、この処理は行われないので、

新しい足ができる前の、仕掛けた足の高値をずっと覚えていてくれます。


そして、決済処理の箇所に以下を付け足します。

//売りポジション判断
if(entrybar!=Bars && sellpos!=0
   && (entryhigh<Close[1] || (Close[1]>Close[2] && macd1>macd2)))
{
   for(i=0;i<OrdersTotal();i++)
   {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=magic01 || OrderSymbol()!=Symbol()) continue;
      if(OrderType()==OP_SELL)
      {
         OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
      }
   }
}


仕掛の判断にはポジションの保有数で、買いと売りを合計したものを使用しましたが、

決済の場合は個別に処理するので、sellpos を使用します。


entryhigh<Close[1]

で、エントリーした足の高値と、終値を比べています。


Close[1]>Close[2] && macd1>macd2

で、為替レートとMACDの値が上昇しているのを確認します。

そして、そのどちらかの条件に当てはまる時に決済します。

この売りポジションの判断を買いポジションの判断の後ろに付け足します。


とまあ、こんな感じです。

このようにして徐々に作成していけばOKです。

どのように作成しようと、最終的に自分の思ったように動けば問題ないですよ。