カスタムインジケーターについて

2025/11/01 01:28
74

カスタムインジケーターについての質問です。

条件で

カスタムインジケーター<数値
にするとエントリーするのですが、
カスタムインジケーター2本前>カスタムインジケーター1本前
など、カスタムインジケーターを左右に並べるとエントリーしなくなります。
エントリーできる方法はありませんか?
ご教授宜しくお願い致します。

コメント

GogoJungle
2025/11/04 15:31

出力されたファイルを確認させていただきたいと思います。
こちらより、ソースファイルをzipにしてお送りいただければ、弊社エンジニアの方でコードの確認をさせていただきます。
(通常はいきなりDMをお送りいただいてもご返信を差し上げられない場合がございます。「弊社からの依頼に対するコードのご提供であること」の識別のため、メッセージの本文内に今回のQAのリンク https://labo.gogojungle.co.jp/articles/2320 の記載をお願いします。)

調査後の回答につきましては、引き続きこのQAにてコメントさせていただきます。
お手数をおかけしますが、何卒よろしくお願いいたします。

でび
2025/11/06 08:05

すみませんでした、何か設定が間違えていたようでエントリーできました。

もう一つお伺いしたいことがあるのですが、カスタムインジケーターの補正値の設定の仕方を教えて頂けますか?
宜しくお願い致します。

GogoJungle
2025/11/10 20:51

ご質問の続きとして、「カスタムインジケーターの補正値(オフセット)の設定方法」ですね。

カスタムインジケーターについては、指標ごとに単位やスケール(価格、pips、ポイント、0〜100のオシレーターなど)がまちまちであるため、EAつくーる/インジケーターつくーるの標準UIには"補正値"項目を設けていません。そのため、他の内蔵指標(移動平均線、RSI 等)のように「補正値」を直接入力することはできません。以下の方法で代替してください。


設定方法(ロジック)

1) 数値側を調整して"見かけの補正値"を実現する

  • 例:
    「カスタムインジケーター(現在足, 計算項目:0) < 基準値+オフセット」の形にしたい場合
    → 条件は次のように置き換えます。

    カスタムインジケーター(時間足:チャートの足, 計算位置:0本前, 計算項目:0)
    <
    数値(値: 〈基準値+オフセット分を足し込んだ値〉)
    

    ※ 補正したい分だけ 右辺の数値をあらかじめ加減 してください。
    ※ 単位(価格・pips・ポイントなど)はご使用のカスタムインジケーターの仕様に合わせて換算が必要です。

2) "何本前"を使った傾き・変化量の擬似補正

  • 例:「1本前より現在値が"◯相当分"小さい(=下向き)」を見たい場合
    → まず 変化方向 を見る条件:

    カスタムインジケーター(計算位置:0本前)
    <
    カスタムインジケーター(計算位置:1本前)
    

    → 変化量に閾値を持たせたい場合は、右辺を数値に置き換え、1本前の値を"基準値"として別途取得・入力して運用するのが簡便です(自動で差分を取る機能はありません)。

3) 別の内蔵指標で代替できる場合は"補正値あり"の項目に置き換える

  • 例:カスタムインジケーターが 移動平均の派生 で、価格ベースに一定のオフセットを置きたいだけ
    → 「移動平均線」項目(こちらは補正値あり)で近似できないかをご検討ください。

回避策・代替案

  • 出力スケールが不明確 なカスタムインジケーターでは、まず「データ・ウィンドウ」で現在値のオーダー(価格なのか、0〜100なのか等)を確認し、比較対象の "数値(値)"側を合わせるのが安全です。

  • pips とポイントの換算(例:5 pips = 50 ポイント(小数点桁が1桁のブローカーの場合))など、ブローカー仕様に応じて右辺の数値を調整してください。

  • 「エントリーしなくなる」ケースは、左右の"単位不一致""計算項目番号(バッファ番号)"の誤り計算位置(何本前) の齟齬が原因になりがちです。

    • こうなっていませんか?

      • 「計算項目:0」と思っていたが、実際のシグナルは「計算項目:1」だった
      • 計算位置:0本前1本前 を逆に入れていた
      • 指標が価格スケールなのに右辺で pips 相当の数字を入れていた

MQLでの補足(上級者向け・外部編集)

カスタムインジケーター側のコードに"補正パラメータ"を追加すれば、以後は iCustom の引数としてオフセットを渡せます。単位に応じて調整式を変えてください。

  • 価格スケールのラインを「価格でオフセット」する例(MQL4/MQL5共通イメージ):
// 例:MQL4/MQL5 いずれも概念は同じ(実装は各環境に合わせてください)
input double OffsetPrice = 0.0;   // 価格での補正値(例:0.0005)
input double OffsetPips  = 0.0;   // pipsでの補正(Pointや_ PointValueByPipで換算)

// バッファに書き込む際に補正
double val = /* 元の計算値 */;
double offset = OffsetPrice;

// pips指定を価格に換算したい場合の一例(ブローカー桁数に注意)
if(OffsetPips != 0.0){
   // 例:1 pip = 10 * Point(USDJPYの小数点第3位がPointのブローカー想定)
   double pipToPrice = 10.0 * Point;
   offset += OffsetPips * pipToPrice;
}

Buffer0[i] = val + offset;
  • オシレーター系(0〜100など) なら、同様に OffsetOsc を足し引きするだけでOKです。
  • EA側(EAつくーる生成EA)からは、iCustom のパラメータ列に OffsetPriceOffsetPips を追加して呼び出す形になります。こうしておくと、"補正値"に相当する挙動を外部から安全に調整可能です。

例(よくある置き換え)

  • やりたいこと:
    「カスタムインジケーター < 移動平均線 − 5pips」

  • 代替ロジック:

    1. 「移動平均線」の"補正値"=-5pips が使えるなら、右辺を「移動平均線(補正値:-5pips)」 に置く。
    2. それができない(カスタム同士の比較で補正が要る)なら、カスタム指標側をMQLで補正対応にし、EAから iCustom の引数として OffsetPips=-5 を渡す。
    3. どうしてもコード編集が難しい場合は、右辺を"数値"にしてオフセット込みの値を直接入力する(スケール合わせ必須)。

補足

  • 「カスタムインジケーター同士(0本前と1本前など)を左右に並べる」比較自体は可能です。今回エントリーできたとのことですが、同様の条件で反応しない場合は、計算項目(バッファ)番号・計算位置・単位の不一致がないか、上記ポイントをご確認ください。

以上のとおり、カスタムインジケーターは仕様上"補正値"欄がありません。必要に応じて

  • 右辺の数値で調整する、
  • 補正可能な内蔵指標に置き換える
  • インジケーター側に補正パラメータを追加する(MQL編集)
    の順でご対応いただくのが実用的です。

関連トピックス

検索結果がありません。

ノーコードで誰でも簡単EA開発!MQL言語学習にも使える! | GogoJungle

注目トピックス

検索結果がありません。