【自動ロット管理】EnoughOrderPanel for MT5開発日記その②【注文ツール】

目的

前回に引き続きです。

現在自分の中では結構神ってる機能を持った注文ツールEnough Order PanelをMT5でも使いたい!と言う自分の要望の元進めていきます。

MT5にする唯一の理由としてFXGTさんによる仮想通貨取引が挙げられます。

為替は何となくpipsや損失利益は分かるようになりましたが、ビットコインなどの場合ロット数と利損の関係が曖昧です。

0.01ロットで100ドル動くと100円変動するところだけわかりました笑

昨今ビットコインが盛り上がってるので参加したいですよね?

桁数が多い場合に勘違いをしやすいのでどうしてもツール対応がしたかったです。

現状

FXGTさんのBTCUSDペアのみについてですが、基本的な機能が利用できるところまで来ました。

ロット管理、分割注文、sl設定、tp設定、建値設定、クリア、利益表示等。

最低限のラインとして自分で利用する上では問題ないところまで持ってこれたと思っています。

もう少しだけ調整したらMT5機能制限版もリリースを考えています。

簡単ですが以上です。

【自動ロット管理】EnoughOrderPanel for MT5開発日記その①【注文ツール】

EnoughOrderPanel概要

MT4版をテスト稼働させているEnoughOrderPanelですが、現在MT5対応版を開発中です。

機能に関してはMT4版を参考に見ていただくとして、なぜ開発しようかと考えたかというとFXGTさんでの仮想通貨取引や、株価指数取引で低ロットの取引が実現できるXMのMT5口座などで利用したかったからです。

シンプルにそれだけ、おそらく仮想通貨でのロット管理機能を備えている注文ツールは世界初になるんじゃないでしょうか?(大して調べていませんが)

MT4からMT5への移植

これがなかなか厄介な話になりまして、書き方のお作法が全然違います。

正確にいうと一部同様のコードは利用できますが、多くの場合書き直しになります。

いっそのこと共用で使えるコードにしたかったのですが、共用化のためのライブラリを一つずつ完成させていかないといけなかったために見送りに。

実際にどうやったのか?

最初に思い付いたのが、こちらの書籍のライブラリを利用すること方法も考えられます。

どうやら前提がEAとしてのライブラリのため、オブジェクト類が全滅、またオーダー類も固定の処理しかなかったため今回の移植にはいまいち利用できませんでした。

基本的な知識については非常に役に立つ書籍となっています。

で、今回覚えるのはこれだけ

#ifdef __MQL4__
//MT4での処理を記述
#endif

#ifdef __MQL5__
//MT5での処理を記述
#endif

以上です。

力技で処理を分岐させていきます。

面倒がってライブラリ化もしていなかったため、およそ5000行のコードをひたすら書き直し書き直し。
極力共用の処理にしたかったのですが、処理の検証等の時間も考えてひたすら力技で分岐していく作業。

mql5でのコンパイルエラーを確認し、エラー個所を修正、mql4での正常処理を確認といった感じに。

この作業の際にはこちらのコード対応表が非常に役立ちました。

現状表示とロット管理で数値が移動していること、通常の注文については動作すること確認しています。
まだpipsの内部処理、表示処理や、分割注文の処理などがうまく動作していないようなので、このあたりのを修正したらまた配布を考えています。

最終的にはコードの共通化をしてスマート化したいですが、まだまだ先のことになりそうです。
まずは動いただけでも良かったとしましょう。

続報をお待ちください。簡潔ですが以上となります。

【共通手順】インジケーター・EA利用手順【MT4・MT5】

前提

今回はWindows10、MT4を例に作業していきます。
環境等の違いは適宜読み替えて利用してください。

実際の手順

①MT4のファイルメニューから「データフォルダを開く」をクリックします。

②MT4のインストールフォルダが開くため、「MQL4」を選択します。

③EAをインストールしたい場合は「Experts」、インジケーターをインストールしたい場合は「Indicators」のフォルダがコピー先の対象フォルダになります。
それぞれ利用したいファイルMT4の場合は「~.ex4」ファイル、MT5の場合は「~.ex5」ファイルをコピーします。

④コピーが完了したら導入完了です!お疲れさまでした!
文字ナビゲーターに表示されない場合は右クリックから「更新」を押下してください。

簡潔ですが以上になります。

【無料】AutoBreakEven(自動建値)【MT5】

更新情報

2021/6/13 現在EnoughOrderPanelに寄せたモノに修正中です。
開発中に画面ですが、自動建値、建値設定ボタン、自動ロット管理の機能を考えています。

※開発中の画面になります。

目的・動作

2021年ビットコインが盛り上がっていますね。

通常のトレードと同様にMT5を使って日本円の証拠金でトレードのできる「FXGT」をご存じですか?

普段と同じ操作で利用ができる・・・とはいってもどうしてもビットコインのボラティリティは気になるもの。

エントリーしたのに見ていない間にすぐにslにかかったりしてしまいますよね。

FXGT」の「BTSUSD」取引にて安全性を高めるべく、自動で建値に設定できるEAがあれば便利かと思いました。

全てのポジション」に対しての管理をするものが見つからなかったため作成しました。

自宅PCやVPSなどで動作しておくことにより、外出中のスマホからのエントリー等の見れない時間帯にエントリーした場合でもポジションの管理をする事が目的です。

特定のポジションだけ操作する機能はありません。

動作上の注意

あくまで個人で利用するために作成したものなので予期しないバグやエラーが存在しているかもしれません。

注文の変更をする機能のため自己責任での利用の元必ず最初は「小ロット」かつ「画面を見れる環境」で確認をしながら利用してください。

なお「FXGT」の「BTCUSD」以外でテストはしていません。

全てのポジションに対しての操作をすることからほかの通貨ペアが対象でも意図しない動作をすると思うのでお気を付けください。

簡単に治るようなバグなどがありましたら修正します。

設定値

①建値($表記)→建値を注文価格の±「$5」の位置に設定。

②閾値($表記)→エントリー位置から「$30」進んだ際に①のsl建値設定を実行。

③ラインの表示→②の閾値ラインを表示します。

事前にこのあたりで建値設定されるんだなと目安に。

(価格と一緒に移動するので基本は設定値の確認用)

動作イメージ

この例だと各ポジションの「$10」の位置に建値を設定している。

ダウンロードリンク
AutoBreakEven_MT5