質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

Q&A

解決済

2回答

1838閲覧

MQL4 オブジェクト名に「同じアルファベット」を含むオブジェクトの削除がしたい

mokopi

総合スコア38

MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

0グッド

0クリップ

投稿2022/02/05 03:52

mql4のオブジェクト削除について質問です。

例えば、

1k
2k
3k

というオブジェクト名のオブジェクトが3つあるとき、

「オブジェクト名にkを含むオブジェクトを消す」
ということは可能なのでしょうか?

もしそのような関数(または関数の組み合わせ)がありましたら、
是非教えてください。

※objectfindがそれっぽいなとおもったのですが、ウインドウ番号を教えてくれる
だけですし。

※ワイルドカードを使って、  ObjectDelete(0,"*k");   でもダメでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

回答ありがとうございます。
ご提案の方法で、解決可能でした。

投稿2022/02/05 08:44

mokopi

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

都合の良い関数はなさそう?に見えましたので、オブジェクトをループしながら該当する名前を判断して個別に削除するイメージになると思いました。

https://docs.mql4.com/objects/objectstotal
https://docs.mql4.com/strings/stringfind

コンパイルできる環境がないのですが・・
Exampleを参考に記述してみました。

c

1int obj_total=ObjectsTotal(); 2string name; 3for(int i=0;i<obj_total;i++) 4{ 5 name = ObjectName(i); 6 if (0 <= StringFind(name, "k")) 7 { 8 Print(i," object - ",name); 9 ObjectDelete(name); 10 } 11}

部分一致ではなく前方一致でも良いのでしたらObjectsDeleteAllprefixパラメーターを指定することでも可能みたいですね。
https://docs.mql4.com/objects/objectsdeleteall

投稿2022/02/05 04:39

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問