//--- name for DataWindow and indicator subwindow labelIndicatorSetString(INDICATOR_SHORTNAME,"ZigZag("+(string)InpDepth+","+(string)InpDeviation+","+(string)InpBackstep+")");
PlotIndexSetString(0,PLOT_LABEL,"ZigzagColor");
//--- set an empty value
例えば
//--- name for DataWindow and indicator subwindow labelIndicatorSetString(INDICATOR_SHORTNAME,"ZigZag");
PlotIndexSetString(0,PLOT_LABEL,"ZigzagColor");
//--- set an empty value
Коды ошибок и предупреждений - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
boolChartIndicatorDelete(
long chart_id, // идентификатор графика int sub_window // номер подокна conststringindicator_shortname // короткое имя индикатора
);
普段はOnDeinitでハンドルと計算部分をクリアして、すべて削除しています。オブジェクトはインジケータではありません。
https://www.mql5.com/ru/docs/chart_operations/chartindicatordelete
"チャートからインジケータを削除しても、インジケータの計算部も端末メモリから削除されるわけではありません。インジケータハンドルを解放するには、IndicatorRelease() 関数を使用します。"
そう、ウラジミール、私はすでにそれをやって、以前にも書いたが、結果はやはり同じだったのだ。
ウラジミールさん、ありがとうございます。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
新型トレーディングロボット
MrBrooklinさん 2020.09.28 10:38
1時間以上、この問題を解いています。Expert Advisor起動時にZigZagColorインジケータを作成し、チャートに表示させたいと思いました。int OnInitで行われました。
インジケーターが作成され、表示されました。Expert Advisor を削除した後に、インジケータを削除する必要があります。書いているところです。
しかし、インジケーターが外れることはない。すべて整理しました。ハンドルの清掃と削除機能の適用を行いました。アンインストールできない原因は何なんだろう。
ウラジミールさん、ありがとうございます。
関数でチャートからインジケータを削除します。
ChartIndicatorDelete()
long chart_id, // チャートID
int sub_window // サブウィンドウの番号
const string indicator_shortname // 短いインジケータ名
);
Alexeyさん、ありがとうございます。明日、頭を冷やして試してみます。もう、情報が錯綜しています。よく言われるように、朝はぐっすり眠れそうです
今、もう一つ、戸惑いと驚きが 大きい。ウラジミール・カルプトフ氏が開発したスクリプトでチャートを消去しようとしましたが、このスクリプトはカスタムインジケーター ZigzagColor以外の全てを完全に削除してしまいました!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?同じスクリプトでシンプルなZigZagを削除してみましたが、どちらも削除されません謎だ...。
ウラジミールさん、ありがとうございます。
Alexeyさん、ありがとうございます!明日はもう情報が錯綜しているので、頭をクリアにしてやってみます。諺にもあるように、朝には賢くなるのです。
さて、もうひとつ、私が大いに戸惑い、 驚いたことがあります。ウラジミール・カルプトフ氏が開発したスクリプトでチャートを消去しようとしましたが、このスクリプトはカスタムインジケーター ZigzagColor以外の全てを完全に削除してしまいました!!!!!!!!!!!!!!!!!!!!!!!!!!!!?同じスクリプトでシンプルなZigZagを削除してみましたが、どちらも削除されません謎だ...。
ウラジミールさん、ありがとうございます。
このスクリプトを試す
ZigzagColor という短い名前 - そしてこれがデフォルトです。
を入れる必要があり、それこそ
ZigzagColor という短い名前 - そしてこれがデフォルトです。
であり、また、そのように綴るべきである。
または、インジケータ自体を変更し、よりシンプルな名前にすることもできます。
例えば
-----------------------------------------------
このスクリプトをチャートに貼り付けて、インジケータ名を指定しなければ、インジケータを削除することなく動作しますが、Expert Advisorウィンドウにどのインジケータが使用可能であるかを書き込みます。
https://c.mql5.com/3/332/IndicatorDelete.mq5
これは私が持っているものです。
このスクリプトを試す
皆さん、ごきげんよう。
Alekseyさん、あなたのスクリプトを適用しました。エラーコード 4115が表示された。ハンドブックにその意味が書いてありました。
err_chart_indicator_cannot_del
4115
チャートからインジケータを削除するとエラーになる件
ウラジミールさん、ありがとうございます。
または、よりシンプルな名前を付けて、インジケータ自体を変更することもできます。
このように
-----------------------------------------------
このスクリプトをチャートに貼り付けて、インジケータ名を指定しない場合、インジケータを削除することなく動作しますが、Expert Advisorウィンドウにどのインジケータが存在するかが表示されます。
https://c.mql5.com/3/332/IndicatorDelete.mq5
これが私の持っているものだ!
こんにちは!あなたのスクリプトを実装しました。Experts タブにVolumesと ZigZag(80,20,0)の2つのインジケータが 表示されました。確かにそうなのですが、ZigZag インジケータだけなぜかColorが ない書き方になっています。
ウラジミールさん、ありがとうございます。
このスクリプトを試す
皆さん、ごきげんよう。
アレクセイ、あなたのスクリプトを適用しました。エラーコード 4115が表示された。
ウラジミールさん、ありがとうございます。
もっと気をつけないといけないですね。
インジケーター名とインジケーターショートネームは一致しないことが多い。
こんにちは!あなたのスクリプトを適用しました。Experts タブにVolumesとZigZag(80,20,0)の2つのインジケータが表示されました。確かにそうなのですが、ZigZag インジケータだけなぜかColorが ない書き方になっています。
敬具 ウラジミール
だから、ZigZag (80,20,0) のように書く必要がある。
この場合、間違いなく削除されます。
-----------------
ただし、Color なし
というのは、インジケータにこのように書かれているからです。
ジグザグ(80,20,0)のような書き方です。
ZigZagは必ず削除されます。
-----------------
ただし、Color なし
というのは、インジケータにこのように書かれているからです。
設定を変更した場合は、Indicatorで指定した数字を追加する必要があります。
例えば