購入したEAを改修していい?ソースとライセンスの確認

購入したEAを改修していい?ソースとライセンスの確認

記事
マネー・副業
「買ったEAのロットの決め方だけ変えたい」「時間帯のフィルターを足したい」——こうしたご相談は多い。話としては小さいし、直す作業そのものは半日で終わることもある。

ただ、着手の前に確かめることがある。直してよいものかどうかと、そもそも直せる形で手元にあるかどうかだ。この二つは別の話で、どちらか片方が欠けているだけで依頼が成り立たなくなる。

しかも両方とも、相談する前に自分で確かめられる。今回はその順番を並べていく。確かめた結果「頼めない」と分かることもあるが、そのときに残る道も最後に書く。

手元にあるのは、どちらのファイルか

まずEAの置いてあるフォルダを開く。実体は二種類ある。.mq4 と .mq5 が人の読める形、.ex4 と .ex5 が端末の動かす形だ。前者があれば中身を読んで直せる。後者しか無ければ、中身は読めない。

配布されているEAは、たいてい後者だけで渡される。作り方を明かさないためだ。買った側から見ると、ファイルはある、動いてもいる、なのに一文字も直せない、という状態になる。ここが最初の分かれ道になる。

例外もある。ソースはあるが開くのにパスワードが要るもの、一部だけが公開されているもの、拡張子は .mq5 でも中身は別のファイルを呼んでいるだけのもの。名前だけで決めつけず、実際に開けるかどうかまで見ておきたい。

作者との約束を、先に読む

ファイルの形がそろっていても、次の門がある。元の作者との約束だ。販売ページの説明、同梱されている説明書、購入したときのメール。このどこかに、たいてい書いてある。

よく置かれているのは、改造の禁止・再配布の禁止・第三者への譲渡の禁止・使える口座の数の制限あたりだ。無料で配られているものにも使用条件が付いていることがある。何も見当たらない場合は、配った人に一言聞くのがいちばん早い。

見落としやすいのは、買ったのが「使う権利」であって中身そのものではない場合がある、という点だ。手元にあるから自由に扱ってよい、とはならない。ここを飛ばすと、直したあとで人に渡せない、売れない、という話になる。
「お金を払ったのだから自由に使える」——使えるのはそのとおりで、書き換えてよいかどうかは別に書いてある。

手元の状態と、頼めること

口座番号と期限が埋まっている場合

配布されるEAには、動く条件を中に埋め込んだものがある。特定の口座番号でしか起動しない。ある日付を過ぎると新規を出さなくなる。買ったときの端末でしか動かない。

これは壊れているのではなく、そう作られている。外側の設定をいくら探しても、該当する項目は出てこない。口座を移した、業者を変えた、デモから本番に切り替えた——そのタイミングで急に黙るなら、まずここを疑う。

見分けはログに出ることが多い。起動した直後の一行に、その口座では使えない旨の文字が出ていれば、それが答えだ。何も言わずに新規だけ出さなくなる作りもあるので、その場合は作者に聞くしかない。埋め込まれた条件を外から解くのは、作った人にしかできない。

呼んでいる部品ごと、引き継げているか

EA本体だけをコピーして動かない、というご相談も多い。EAが一人で完結していないからだ。判定に自作のインジケーターを使っている。外部のライブラリを呼んでいる。設定値を別のファイルから読んでいる。

置き場所はそれぞれ違うフォルダになる。EAだけを新しい端末へ移すと、この周りが丸ごと抜ける。抜けたときに何も言わずに止まる作りのほうが多いので、原因が分かりにくい。

部品が第三者の作ったものだと、その部品にも別の約束が付いてくる。有料のインジケーターを呼ぶEAを誰かに譲ると、EAは譲れてもインジケーターは譲れない、ということが起きる。

移す前のフォルダは、上書きせずに日付をつけて別に残しておきたい。動いていた頃の状態が残っていないと、後からどこが変わったのかを誰も確かめられない。設定ファイルとログも一緒に取っておく。直す側から見ると、これがあるかどうかで手間がまるで変わる。

引き継ぎで抜けやすいもの

MT4のものをMT5で動かしたいとき

これは頼まれる回数が多いので、分けて書いておく。結論から言うと、.mq4 は MT5 でそのままは動かない。少し書き換えれば済むという量ではなく、作り直しに近い。

注文の扱い方の考え方が違うからだ。MT4は一つひとつの取引を番号で追う。MT5は注文と、その結果できたポジションを分けて持ち、まとめた形で送る。決済の考え方も変わる。ここに触れている部分は、書き方の置き換えではなく組み直しになる。

見た目の動きを合わせることはできる。ただし同じコードを少し直す作業ではないので、費用と期間はそのつもりで見ておいたほうがいい。判断の材料は二つ。いま使っている口座がどちらの端末なのか。呼んでいる部品がどちらの側にあるか。部品がMT4用のインジケーターなら、そちらも一緒に移すことになる。

頼めないと分かったときに残る道

ここまで見て「改造禁止だった」「ソースが無い」となることはある。そのときに取れる手は三つある。

一つめは作者に頼む。中身を知っている人がいちばん速い。口座番号の書き換えも期限の延長も、作った本人ならすぐ終わる。二つめは外側の設定で届かないか探す。ロットの固定、時間帯、銘柄名の末尾は、入力の項目として外に出ていることが少なくない。ここで足りるなら中身を触る必要はない。

三つめが、ルールを自分の言葉で書き直して、そこから組み直す道だ。入る条件、出る条件、使う指標と期間、時間足、ロットの決め方、触らない時間帯。この六つが文になっていれば着手できる。元のEAと完全に同じ動きになるとは限らないのは、先に言っておきたい。内部の計算まで外からは分からないからだ。

なお、他の方が作ったコンパイル済みファイルの解析や複製は、当方ではお受けしていない。作者との約束に触れる可能性があることと、取り出したものが元と同じ動きになる保証が無いこと、この二つが理由だ。三つめの道は元を復元するのではなく、依頼者ご自身のルールとして一から作る形になる。

当方は元金融系のシステムエンジニアで、MT4・MT5のEAの改修と最適化をココナラでお受けしています。手元のファイルの拡張子と、変えたい箇所を一行だけ添えていただければ、直せる形かどうかの確認から承ります。「これは頼めるものなのか」という段階で構いませんので、ココナラのメッセージからご相談ください。なお、お渡しするのはソフトウェアであって、投資助言や運用の代行ではありません。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す