豊嶋久道の「メタトレーダー実践日記」
|
複数のオーダーとマジックナンバー 01月28日
「FXメタトレーダー実践プログラミング」の読者の方よりいただいたご質問に関連して、本書の補足説明をさせていただきます。
メタトレーダー4(MT4)では、それぞれのオーダーに固有のチケット番号(注文番号)がついています。従って、同じ通貨ペアで複数のポジションがある場合も、チケット番号で区別できます。
但し、本書でも解説しているように、オーダー毎に変わるチケット番号をプログラム中で記憶しておくのは面倒なので、本書のプログラムでは、個々のオーダー(ポジション)をチケット番号でなく、マジックナンバーで区別するようにしています。
本書の多くのサンプルプログラムでは、オープンするポジションが一つなので、一つのシステムに一つのマジックナンバーしか割り当てていませんが、リピート IFDオーダーのように複数のポジションを利用する場合、それぞれのポジションを区別するためにマジックナンバーを変えるようにしています。
本書のライブラリープログラムでは、マジックナンバーだけで一つのオーダー(ポジション)を特定してオーダー送信、決済、修正などの処理を行っています。
つまり、あるマジックナンバーのオーダーがあれば、それに一致するオーダーは一つである、ということを前提としているのです。
もちろん、違う通貨ペアで同じマジックナンバーを使うこと、また売りと買いで同じマジックナンバーを使うことは問題ありません。
例えば、
#define MAGIC1 20100
#define MAGIC2 20101
と定義しておき、
最初に買いポジションを建てるときには、MAGIC1のマジックナンバーを使い、さらに別の買いポジションを建てるときには、MAGIC2のマジックナンバーを使うといった具合です。
実際には MAGIC2のポジションを建てる場合には、MAGIC1のポジションがあるかを確認する手続きが必要となります。詳しいことは省略しますが、ポジションを確認する場合もマジックナンバーでポジションが区別されていた方が何かと便利です。
そういうことで、本書のライブラリープログラムを利用して複数のオーダーに対応させるシステムを作成される場合には、オーダー毎に別のマジックナンバーを割り当てるようなプログラムを作成されることをお勧めします。
コメント投稿
Windows 7 でメタトレーダー 01月21日
昨年、Windows 7が発売されました。
新規にパソコンを購入する場合、たいてい、この Windows 7がインストールされていることだと思います。
今回はメタトレーダーをWindows 7 で動作させる場合の注意点について報告しておきます。
「FXメタトレーダー実践プログラミング」24ページで触れていますが、Windows Vista では、以下のような問題がありました。
「Microsoft Office IME2007を既定の入力言語として指定した場合、メタエディターのプログラム上でカットやコピーなどの編集を行うと、メタエディターが強制終了される」
残念ながら、この問題は Windows 7でも見られるようです。それ以外は特に問題はなく動作すると思います。
Office 2007をインストールされた方は、メタエディタ使用時にお気を付けください。
ちなみにβ版テスト中の MetaTrader5 に関しては、現在のところ、上記の問題は見られないようです。
コメント投稿
↑ページのトップへ
|
|
|
|