以前「コピートレードツールの開発について」というタイトルの記事を投稿しました。
結論としては「コピートレードツールの開発は保留」となっていましたが、記事へのコメントにて「2つのMT4に同時発注する無料ツール、MT4DualOrderSystem」を「MT4/MT5両対応」「(3つ以上の)複数口座に同時発注可能」に改修したツールを希望されました。
コピートレードツールはたくさんありますが、MT4とMT5の両方には対応していなかったり、一口座ごとに料金がかかったりするそうです。
QuickCopyTrader開発
ソケット通信(UDP)を用いたコピートレードツールを開発しました。MT4DualOrderSystemと違って、EAのみで完結します。
ソケット通信を使っているため、イントラネット上(同一ネットワーク上)に存在する、別のPCにあるMT4やMT5にも発注できるのがメリット‥だったのですが、ここで問題が発生。
UDPは高速通信が可能な反面、データを受け取ったかどうかが保証されておらず、投げっぱなしになります。1つずつ発注している場合には問題ありませんが、連続で大量に発注すると取りこぼしがでてきます。(送信しても受信側で受けとっていないということが起こります)
それであれば、「現状の(コピー元の)ポジションを全部送信し、受け取った側(コピー先)で現在のポジションとの相違点を検出して発注すればいい」と考えました。
しかし、ここでも問題が発生。取りこぼしはありませんが、ポジションが増えてくると体感できるほど遅くなっていきます。
文字列だけの、多くても数百文字程度の通信ですから、それがネックになるとは考えづらく。だとすると受信側の相違点検出ロジックの問題でしょうか。いずれにしても目に見えて遅くなるのは想定外‥。
通信プログラムの経験があまりない(通信しないアプリや、Webアプリばかり作ってきた)ので、学習用途で試しに作ってみましたが、思ったより苦戦しそうなので、まずは素直にご要望いただいたものを作ろうと方向転換しました。
MultiOrderSystem開発中
無料ツールの拡張版ということもあり、無料公開も考えましたが‥サポート等の負荷を考えると無料公開は私が辛い。ということで、申し訳ないのですが有料アプリとさせていただく予定です。(DualOrderSystemが無料、MultiOrderSystemが有料という方針で進めます)
まだ画面を作っただけで動作はしていません。
同時に発注できるMetaTraderは5つまでとしています。(現行のライセンスシステムが5口座までですし、画面サイズの関係でこれ以上増やすと注文一覧の幅が狭くなってしまうので…)
MT4DualOrderSystemには無かった注文一覧を追加します。(BUYやSELLを押すたびに、注文した内容が表示されます)
クローズする場合にはクローズしたいポジションを一覧から選んでクローズできます。
MT4DualOrderSystemにはあった時間指定注文ですが、これを使っているお客様の話を聞かない(使っていないという話しか聞いたことが無い)ので割愛させていただきました。
注文する際には通貨ペア、ロット数、売買反転(BUYボタンを押した場合、SELLの注文を出す)をMetaTrader毎に設定できます。これだけあれば十分だろう、と思っていますがもしご要望がありましたらコメントにてご連絡ください。(追加できるかどうかはわかりません。今の内容でぴったり収まっているので…)
口座数についても5口座では足りないということであれば、2ライセンスで10個まで増やすことも可能ではあります。(2つ買っていただく必要があり、設定欄を増やすため、注文一覧の高さが犠牲になりますが…)
価格は今のところ、他の私が開発した製品と同じで、5千円程度を想定しています。
QuickCopyTraderについてはまた後で
UDPではなくTCPを使用すること、受信側で判断するのではなく、送信側でポジションを判断することで取りこぼしも、動作の遅延も改善できないかなと思っています。
これについてはMultiOrderSysytemの開発が終了した後でもう一度トライしたいです。(販売するかどうかはわかりません。学習用途で作っている側面もありますので。)
コメント
以前にリクエストをお願いしたものです。
まさかこんなにも早くリクエストに応えて頂けるとは…
仕様も想像していた以上の性能ですし、コピーツールが完成しましたらぜひ購入させて頂きます!
ご対応ありがとうございます!
完成をお待ちしております。
コメントありがとうございます!
本ツールは最優先で開発を進めさせていただきます!