新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 421

 

你好, 我如何通过名称的一部分,在 "R "的开头,找出最接近当前价格 的对象的价格?

这些对象是水平条(OBJ_TREND),名称为 "R 11"、"R 7"...

......并没有显示出这样的内容。

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

.

 
lil_lil:

你好, 如何通过名称中以 "R "开头的部分找到一个物体?

它并不觉得是这样。

.

帮助说。

弦乐查找

在一个字符串中搜索一个子串。

intStringFind(
stringstring_value, // 我们正在寻找的字符串
stringmatch_substring, //搜索了
intstart_pos=0//哪个位置开始搜索
)。

参数

string_value

[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; //Ругается на эту строку


马克思:无效的阵列访问

原因: