MT4のインジケーター作成を依頼するとき、完成までの往復回数は、発注時にどこまで決めてあるかでほぼ決まる。条件が曖昧なまま出すと、修正のたびに追加費用が乗る。
決めておくべきことは、実はそれほど多くない。この記事では5項目に絞って整理する。
その1:銘柄と時間足を確定させる
最初に決めるのはこれだ。「ドル円の5分足」「ゴールドの1時間足」まで書く。
なぜ効くかというと、必要なフィルターが銘柄で変わるからだ。ゴールドはボラティリティが大きく、指標発表の前後で値幅が普段の数倍になる。同じ「20pips動いたら」という条件でも、ドル円とゴールドではまったく意味が違う。
時間足も同じだ。5分足でサインを出すなら、日をまたぐ処理や、東京時間の薄い時間帯の扱いを決めておく必要がある。日足なら関係ない。
「どの通貨ペアでも使えるようにしてほしい」という依頼はよく来るが、これは実質的に「すべての銘柄でパラメータ調整できるようにしてほしい」という意味になり、設定項目が増えて工数が上がる。まず1つに絞ったほうがいい。
その2:エントリー条件をトレードの言葉で書く
プログラムの言葉に翻訳する必要はない。普段トレードで考えている言葉のままでいい。
「押し安値を割ったら」「移動平均が上向きのときだけ」「直近高値を更新したあとの戻りで」。これで十分伝わる。
むしろ避けたほうがいいのが、中途半端にプログラム風にした表現だ。「MAがクロスしたら」と書かれても、期間はいくつか、単純移動平均か指数平滑か、終値ベースか、足の確定を待つのか、が決まらない。トレードの言葉のほうが、開発側から質問を返しやすい。
チャート画像を3枚から5枚添えると、精度が跳ね上がる。「こういう形のときに出したい」を実際の足で示すのが、いちばん速い伝え方だ。
ロジックの伝え方については、こちらでも解説している。
→ TradingViewインジケーター作成代行|あなたの手法をPineスクリプトで形に
その3:出したくない場面を書く
これを書ける依頼者は少ないが、完成品の使い勝手にいちばん効く。
たとえば「RSIが30以下で反転したら買い」とだけ伝えると、コードは正しく書ける。だがチャートに載せると、レンジでRSIが30付近に張り付いたときにサインが連続して出る。
実際にトレードしていれば「ここはレンジだから要らない」と直感でわかる。だがその判断は依頼書に書かれていない。プログラマーは書かれていないことを足さないので、そのまま乱発するものが納品される。悪意ではなく、正しい仕事の結果だ。
だから、次のような除外条件を先に書いておく。
レンジのときは不要。指標発表の前後は無視したい。同じ足で2回は出さない。前のサインから一定時間は出さない。特定の時間帯は動かさない。
1つでも書いてあれば、開発側から「他にもありますか」と聞き返せる。
その4:アラートと通知の仕様を決める
MT4のアラートは、実運用でいちばん苦情が出る部分だ。
決めるのは3つ。何で知らせるか(画面のポップアップ、音、メール、スマホのMT4への通知)。いつ鳴らすか(条件を満たした瞬間か、足が確定してからか)。何回鳴らすか(同じ条件で連続して鳴らさない制御を入れるか)。
特に2つ目が重要だ。足の確定を待たずに鳴らすと、その足の中で条件を満たしたり外れたりするたびに鳴る。逆に確定を待つと、鳴った時点で価格が動いたあとになる。どちらが良いかはトレードスタイル次第なので、これは依頼側が決めるしかない。
通知の文面に何を含めるかも決めておくといい。銘柄名、時間足、価格、方向くらいが入っていると実用的だ。
TradingView側のアラート実装については、こちらが参考になる。
→ Pineスクリプトalert関数の完全ガイド|通知設定から実践活用まで
その5:納品形式を決める
最後に、これが後々いちばん効く。
MT4のインジケーターには、ソースコードのmq4と、コンパイル済みのex4がある。出品ページによっては、ex4納品で著作権譲渡なし、mq4での納品と著作権譲渡はオプション、と明記されているものもある。
ex4だけを受け取ると、動きはするが中身は読めず、書き換えもできない。半年後に条件を1つ足したくなったとき、同じ相手に頼み直すしかない。その相手が対応をやめていたら、そこで終わる。
mq4を受け取れるなら、別の開発者に渡して続きを頼める。将来TradingViewへ移植したくなったときも、ソースがあれば話が早い。ex4しかない場合は先にデコンパイルという工程が必要になり、余計な費用と時間がかかる。
自分で使うだけなのか、配布や販売もするのか。使用範囲もあわせて確認しておく。
納品形式が価格差をどう生むかは、こちらで分解している。
→ Pine Script作成代行の料金相場|依頼先の選び方と失敗しない発注
発注テンプレート
ここまでをそのまま貼れる形にすると、こうなる。
銘柄・時間足:(例)XAUUSD、5分足
やりたいこと:(例)押し安値を割った戻りで売りサインを出したい
エントリー条件:(トレードの言葉で。箇条書きで可)
出したくない場面:(例)レンジ中、指標前後、同じ足で2回目)
アラート:(例)スマホ通知、足確定後、同条件は1回のみ)
納品形式:(例)mq4ソースあり、自分のトレードでのみ使用)
参考画像:(チャートのスクリーンショット数枚)
これを送れば、見積もりの精度が上がり、往復が減る。ロジックが固まっていない段階なら、その旨を書いて相談から始めればいい。
よくある質問
Q. 既存のインジケーターを改造してほしい場合は
mq4のソースがあれば改造できる。ex4しかない場合は、まずデコンパイルの可否を確認することになる。他人が書いたコードを読み解く時間が先に乗るので、新規で書くより高くなることもある。
Q. MT4で作ったものをTradingViewでも使いたい
移植になる。mq4のソースがあればそのまま移せる。MT4とTradingViewでは足の確定タイミングやデータの扱いが違うので、完全に同じ挙動にはならない部分がある。そこも含めて事前に確認しておくといい。
Q. どこまでが無償修正か
仕様どおりでない箇所の修正は無償、仕様そのものの変更は追加、というのが一般的な線引きだ。発注前にこの線を確認しておくと揉めない。
まとめ
MT4インジケーターの作成依頼で決めておくのは、銘柄と時間足、エントリー条件、出したくない場面、アラートの仕様、納品形式の5つだ。
このうち3つ目の「出したくない場面」を書けるかどうかで、納品物の実用度が大きく変わる。そして5つ目の「納品形式」を確認したかどうかで、1年後にそのインジケーターがまだ育てられるかが決まる。
PineScript ProはTradingViewのPine Scriptを主に扱っているが、MT4やMT5からの移植相談も受けている。多数のEAを解析してきた経験があるので、MQL側の構造を踏まえたうえで答えられる。ロジックが固まっていない段階からのヒアリングにも対応している。
→ 関連記事:Pine Script作成代行の料金相場|依頼先の選び方と失敗しない発注
















