タイトルが入力されていません。
コンテンツがありません。
There have no category
There have no subcategory
カスタムインジケーターについての質問です。
条件で
カスタムインジケーター<数値 にするとエントリーするのですが、 カスタムインジケーター2本前>カスタムインジケーター1本前 など、カスタムインジケーターを左右に並べるとエントリーしなくなります。 エントリーできる方法はありませんか? ご教授宜しくお願い致します。
出力されたファイルを確認させていただきたいと思います。 こちらより、ソースファイルをzipにしてお送りいただければ、弊社エンジニアの方でコードの確認をさせていただきます。 (通常はいきなりDMをお送りいただいてもご返信を差し上げられない場合がございます。「弊社からの依頼に対するコードのご提供であること」の識別のため、メッセージの本文内に今回のQAのリンク https://labo.gogojungle.co.jp/articles/2320 の記載をお願いします。)
調査後の回答につきましては、引き続きこのQAにてコメントさせていただきます。 お手数をおかけしますが、何卒よろしくお願いいたします。
すみませんでした、何か設定が間違えていたようでエントリーできました。
もう一つお伺いしたいことがあるのですが、カスタムインジケーターの補正値の設定の仕方を教えて頂けますか? 宜しくお願い致します。
ご質問の続きとして、「カスタムインジケーターの補正値(オフセット)の設定方法」ですね。
カスタムインジケーターについては、指標ごとに単位やスケール(価格、pips、ポイント、0〜100のオシレーターなど)がまちまちであるため、EAつくーる/インジケーターつくーるの標準UIには"補正値"項目を設けていません。そのため、他の内蔵指標(移動平均線、RSI 等)のように「補正値」を直接入力することはできません。以下の方法で代替してください。
例: 「カスタムインジケーター(現在足, 計算項目:0) < 基準値+オフセット」の形にしたい場合 → 条件は次のように置き換えます。
カスタムインジケーター(時間足:チャートの足, 計算位置:0本前, 計算項目:0) < 数値(値: 〈基準値+オフセット分を足し込んだ値〉)
※ 補正したい分だけ 右辺の数値をあらかじめ加減 してください。 ※ 単位(価格・pips・ポイントなど)はご使用のカスタムインジケーターの仕様に合わせて換算が必要です。
例:「1本前より現在値が"◯相当分"小さい(=下向き)」を見たい場合 → まず 変化方向 を見る条件:
カスタムインジケーター(計算位置:0本前) < カスタムインジケーター(計算位置:1本前)
→ 変化量に閾値を持たせたい場合は、右辺を数値に置き換え、1本前の値を"基準値"として別途取得・入力して運用するのが簡便です(自動で差分を取る機能はありません)。
出力スケールが不明確 なカスタムインジケーターでは、まず「データ・ウィンドウ」で現在値のオーダー(価格なのか、0〜100なのか等)を確認し、比較対象の "数値(値)"側を合わせるのが安全です。
pips とポイントの換算(例:5 pips = 50 ポイント(小数点桁が1桁のブローカーの場合))など、ブローカー仕様に応じて右辺の数値を調整してください。
「エントリーしなくなる」ケースは、左右の"単位不一致" や "計算項目番号(バッファ番号)"の誤り、計算位置(何本前) の齟齬が原因になりがちです。
こうなっていませんか?
計算位置:0本前
1本前
カスタムインジケーター側のコードに"補正パラメータ"を追加すれば、以後は iCustom の引数としてオフセットを渡せます。単位に応じて調整式を変えてください。
// 例: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;
OffsetOsc
OffsetPrice
OffsetPips
やりたいこと: 「カスタムインジケーター < 移動平均線 − 5pips」
代替ロジック:
-5pips
OffsetPips=-5
以上のとおり、カスタムインジケーターは仕様上"補正値"欄がありません。必要に応じて
コメント文がありません。
出力されたファイルを確認させていただきたいと思います。
こちらより、ソースファイルをzipにしてお送りいただければ、弊社エンジニアの方でコードの確認をさせていただきます。
(通常はいきなりDMをお送りいただいてもご返信を差し上げられない場合がございます。「弊社からの依頼に対するコードのご提供であること」の識別のため、メッセージの本文内に今回のQAのリンク https://labo.gogojungle.co.jp/articles/2320 の記載をお願いします。)
調査後の回答につきましては、引き続きこのQAにてコメントさせていただきます。
お手数をおかけしますが、何卒よろしくお願いいたします。
すみませんでした、何か設定が間違えていたようでエントリーできました。
もう一つお伺いしたいことがあるのですが、カスタムインジケーターの補正値の設定の仕方を教えて頂けますか?
宜しくお願い致します。
ご質問の続きとして、「カスタムインジケーターの補正値(オフセット)の設定方法」ですね。
カスタムインジケーターについては、指標ごとに単位やスケール(価格、pips、ポイント、0〜100のオシレーターなど)がまちまちであるため、EAつくーる/インジケーターつくーるの標準UIには"補正値"項目を設けていません。そのため、他の内蔵指標(移動平均線、RSI 等)のように「補正値」を直接入力することはできません。以下の方法で代替してください。
設定方法(ロジック)
1) 数値側を調整して"見かけの補正値"を実現する
例:
「カスタムインジケーター(現在足, 計算項目:0) < 基準値+オフセット」の形にしたい場合
→ 条件は次のように置き換えます。
※ 補正したい分だけ 右辺の数値をあらかじめ加減 してください。
※ 単位(価格・pips・ポイントなど)はご使用のカスタムインジケーターの仕様に合わせて換算が必要です。
2) "何本前"を使った傾き・変化量の擬似補正
例:「1本前より現在値が"◯相当分"小さい(=下向き)」を見たい場合
→ まず 変化方向 を見る条件:
→ 変化量に閾値を持たせたい場合は、右辺を数値に置き換え、1本前の値を"基準値"として別途取得・入力して運用するのが簡便です(自動で差分を取る機能はありません)。
3) 別の内蔵指標で代替できる場合は"補正値あり"の項目に置き換える
→ 「移動平均線」項目(こちらは補正値あり)で近似できないかをご検討ください。
回避策・代替案
出力スケールが不明確 なカスタムインジケーターでは、まず「データ・ウィンドウ」で現在値のオーダー(価格なのか、0〜100なのか等)を確認し、比較対象の "数値(値)"側を合わせるのが安全です。
pips とポイントの換算(例:5 pips = 50 ポイント(小数点桁が1桁のブローカーの場合))など、ブローカー仕様に応じて右辺の数値を調整してください。
「エントリーしなくなる」ケースは、左右の"単位不一致" や "計算項目番号(バッファ番号)"の誤り、計算位置(何本前) の齟齬が原因になりがちです。
こうなっていませんか?
計算位置:0本前と1本前を逆に入れていたMQLでの補足(上級者向け・外部編集)
カスタムインジケーター側のコードに"補正パラメータ"を追加すれば、以後は iCustom の引数としてオフセットを渡せます。単位に応じて調整式を変えてください。
OffsetOscを足し引きするだけでOKです。OffsetPriceやOffsetPipsを追加して呼び出す形になります。こうしておくと、"補正値"に相当する挙動を外部から安全に調整可能です。例(よくある置き換え)
やりたいこと:
「カスタムインジケーター < 移動平均線 − 5pips」
代替ロジック:
-5pipsが使えるなら、右辺を「移動平均線(補正値:-5pips)」 に置く。OffsetPips=-5を渡す。補足
以上のとおり、カスタムインジケーターは仕様上"補正値"欄がありません。必要に応じて
の順でご対応いただくのが実用的です。