MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 421

 

こんにちは 名前の一部、"R "の始まりで、現在の価格に 最も近いオブジェクトの価格を調べるにはどうすればよいのでしょうか。

オブジェクトは "R 11"、"R 7"...という名前の横棒(OBJ_TREND)である。

...は、そのようなものは表示されません。

priceR = ObjectGet("R"+"" ,OBJPROP_PRICE1);

.

 
lil_lil:

Rで始まる名前の部分からオブジェクトを探す方法を教えてください

そのようなことはありません。

.

ヘルプにはこう書いてある。

文字列検索

文字列中の部分文字列を検索する。

intStringFind(
stringstring_value, // 探している文字列
文字列match_substring, //.searched
intstart_pos=0// どの位置から検索を始める
);

パラメータ

文字列の値

[in] 検索対象となる文字列。

match_substring(マッチサブストリング

[in] 検索対象となるMatch_substring。

start_pos=0

[in] 検索を開始する文字列の位置。

戻り値

検索する部分文字列が始まる文字列の位置番号を返す。あるいは、部分文字列が見つからなければ-1。

 
Artyom Trishkin:

参考文献はこちら。



ありがとうございます。しかし、どのようなラインで見ているのでしょうか?

 
lil_lil:

ありがとうございます。でも、どのラインを見ているのでしょうか?

オブジェクト名です。
 
Artyom Trishkin:
オブジェクト名です。
"検索対象文字列 "ここに何を書けばいいのでしょうか?
priceR = ObjectGet(StringFind( 1,"R",0) ,OBJPROP_PRICE1);

.何もないんです。

 
StringFind() は何を、どのような場合に返すのでしょうか?ヘルプから関数への完全なリファレンスを提供しました(ただし、ヘルプはMetaEditorで指先に表示されます - 関数にカーソルを置いてF1キーを押すだけです)。
 
Artyom Trishkin:
StringFind()は何を、どのような場合に返すのでしょうか?私はヘルプから関数の完全な脚注を与えました(ただし、ヘルプはメタエディタで指先だけで見ることができます - カーソルを関数の上に置いてF1を押すだけです)。
ヘルプが開いている、どの行を見ればいいのかわからない、名前に「R」が入っていること以外はまだ何もわかっていない。
 
lil_lil:
ヘルプが開いている、どの行を見ればいいのかわからない、名前に「R」がついていること以外はまだ何もわかっていない。

//--- показываем список объектов 
int obj_total=ObjectsTotal();
string name;

for(i=0;i<obj_total;i++)
  {
   name=ObjectName(i);
   if(ObjectType(name)!=OBJ_TREND) continue;
   if(StringFind(name,"R",0)!=-1)
     {
     priceR = ObjectGet(name ,OBJPROP_PRICE1);
     }
  }

こんな感じ。

 
Alekseu Fedotov:

これでよしとする。


ありがとうございます。

 

ごあいさつヘルプがボリュームリターンエラーになっている。

配列を作成しました。入札、日付、数量..:

extern ulong extreme_volume=50;
ulong volume_start=0;
ulong volume_end=0;

ulong mass_volume[];

volume_start=Volume; //Ругается на эту строку


マーク: 無効な配列へのアクセス