通过移位获取对象值( | string name, int shift) |
OBJPROP_PRICE1不是 "转变"...Shift是你要取值的条数 -- 适用于趋势线和类似对象
double tp = ObjectGetValueByShift( TP_P, 0); // 假设TP_P是一个包含对象名称的字符串变量,而你想要的是当前小节处的线的值
通过移位获取对象值( | string name, int shift) |
OBJPROP_PRICE1不是 "转变"...Shift是你要取值的条数 -- 适用于趋势线和类似对象
double tp = ObjectGetValueByShift( TP_P, 0); // 假设TP_P是一个包含对象名称的字符串变量,而你想要的是当前小节处的线的值
我已经尝试了你所阐述的方法。它似乎不起作用。任何其他信息都将是巨大的。
gavin:
I have tried what you have explianed. It doesnt seen to work. Any other info would be great.
你所解释的是否从趋势线或h_line中获得了vaule,无论我当时在图表上加载的是什么?
发布你的代码,我们不知道你做了什么。
这就是我的情况。
--------------------------------------------------------
字符串TP_P。
如果(OrderType()==OP_BUY)TP_P = BTP。
如果(OrderType()==OP_SELL) TP_P = STP;
double tp;
tp =(ObjectGetValueByShift( TP_P, OBJPROP_PRICE1))||(ObjectGet( TP_P, OBJPROP_PRICE1))。
-----------------------------------------------------------------------------------------------------------------
然后我把这句话改成了,你说的是什么呀?
----------------------------------------------------------
tp = ObjectGetValueByShift( TP_P,0)。
有什么帮手吗?
if (ObjectType(TP_P) == OBJ_TREND) tp = ObjectGetValueByShift(TP_P, shift); else tp = ObjectGEt(TP_P, OBJPROP_PRICE1)
现在我已经看到它了,非常简单。谢谢你的帮助,伙计。这正是我想要的结果。干杯....
你好。
我有以下代码用于从趋势线获取价格。它不工作。请提供帮助。
int obj_total = ObjectsTotal()。
字符串名称。
for(int j = 0; j<obj_total; j++)
{
name = ObjectName(j);
Print(j, "Object - ", name);
}
如果(ObjectType(name) ==OBJ_TREND&& name == "Trendline1-m30")
{
price1 = ObjectGetValueByShift(name, 0);
}
如果(ObjectType(name) == OBJ_TREND && name == "Trendline2-m30")
{
price2 = ObjectGetValueByShift(name, 0);
}
你好,在发布代码时请使用SRC 按钮。
所有黄色 的代码都是在'for'循环之外的。
所以'name'的值总是最终对象的名称。
int obj_total = ObjectsTotal(); string name; for(int j = 0; j<obj_total; j++) { name = ObjectName(j); Print(j, "Object - ", name); } if(ObjectType(name) == OBJ_TREND && name == "Trendline1-m30") { price1 = ObjectGetValueByShift(name, 0); } if(ObjectType(name) == OBJ_TREND && name == "Trendline2-m30") { price2 = ObjectGetValueByShift(name, 0); }
也许可以这样试试(假设price1和price2已经在其他地方声明了)。
int obj_total = ObjectsTotal(); string name; for(int j = 0; j<obj_total; j++) { name = ObjectName(j); Print(j, "Object - ", name); if(ObjectType(name) == OBJ_TREND && name == "Trendline1-m30") { price1 = ObjectGetValueByShift(name, 0); } if(ObjectType(name) == OBJ_TREND && name == "Trendline2-m30") { price2 = ObjectGetValueByShift(name, 0); } }
嗨,谁能帮帮我。我有一个从水平线 或趋势线获取价格值的EA。然而,我有如下代码,但它不会获取任何一个值。如果我去掉Objectgetvaluebyshift,它就会获取水平线的价格,反之亦然。但我需要它能识别这两种情况,并从我的图表上的任何一条线(无论是三角线还是h_line)上获取数值。也许有人会贴出一些代码,这样我就能明白该怎么做了。
谢谢。
tp =(ObjectGetValueByShift( TP_P, OBJPROP_PRICE1))||(ObjectGet( TP_P, OBJPROP_PRICE1))。