计算两条平行线之间的距离,包括 ! - 页 3 12345678910...15 新评论 Nikolai Semko 2018.03.30 07:16 #21 Sergey Kolemanov:你在计算高位和低位之间的距离,而他有线条。你说的是平行线。而在平行线上,垂直距离在任何条上都是一样的。在他的例子中,线条之间的距离是(High[10]-Low[10])。你根本不需要为此计算时间。 你可以检查一下,它的结果一直是一样的。 你可以在这里 找到一个更通用的公式 但由于分母即使在分钟图上也非常接近于1,所以可以简化为。 double R=(Price2-Price1);@Renat Akhtyamov 在这个帖子 中已经说过了 [删除] 2018.03.30 15:20 #22 Sergey Kolemanov: 根据不同的角度,距离会有所不同...那么,这两条线之间的区别是什么?) Renat Akhtyamov 2018.03.30 15:47 #23 Itum: 根据不同的角度,距离会有所不同...那么,这两条线之间的区别是什么?) 根据不同的角度,所有的距离将以倍数变化,因为你有一个直角三角形。所以你在哪里测量并不重要。测量你认为最简单的距离。 [删除] 2018.03.30 16:01 #24 Renat Akhtyamov: 根据不同的角度,所有的距离将以倍数变化,因为你有一个直角三角形。因此,你在哪里测量根本就不重要。测量你认为最简单的距离。请给我看一个例子。 ObjectCreate("Line1",OBJ_TRENDBYANGLE,0,Time[0],High[10],Time[10],Low[10]); ObjectSetInteger(0,"Line1",OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,"Line1",OBJPROP_COLOR,Red); ObjectSetInteger(0,"Line1",OBJPROP_WIDTH,2); ObjectCreate("Line2",OBJ_TRENDBYANGLE,0,Time[10],High[100],Time[20],Low[10]); ObjectSetInteger(0,"Line2",OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,"Line2",OBJPROP_COLOR,Lime); ObjectSetInteger(0,"Line2",OBJPROP_WIDTH,2); ObjectSetDouble(0,"Line1",OBJPROP_ANGLE,260); // 85 ObjectSetDouble(0,"Line2",OBJPROP_ANGLE,260); // 85 /* ObjectCreate("Value",OBJ_TREND,0,Time[0],High[10],Time[10],High[10]); ObjectSetInteger(0,"Value",OBJPROP_RAY,false); ObjectSetInteger(0,"Value",OBJPROP_COLOR,Gold); ObjectSetInteger(0,"Value",OBJPROP_WIDTH,3); */ // Предлагали сделать так и не помогает ! double V = (ObjectGetDouble(0, "Line1", OBJPROP_PRICE, 0)-ObjectGetDouble(0, "Line2", OBJPROP_PRICE, 0))/((datetime)ObjectGetInteger(0, "Line1", OBJPROP_TIME, 0)-(datetime)ObjectGetInteger(0, "Line2", OBJPROP_TIME, 0)); double R = (ObjectGetDouble(0, "Line1", OBJPROP_PRICE, 0)-ObjectGetDouble(0, "Line2", OBJPROP_PRICE, 0))/sqrt(1+V*V) ; Comment("Разница: R=",R, " | "); // Предлагали сделать и так и также не помогает ! datetime t1 = (datetime)ObjectGetInteger(0, "Line1", OBJPROP_TIME, 0); datetime t2 = (datetime)ObjectGetInteger(0, "Line2", OBJPROP_TIME, 0); double p1 = 0; double p2 = 0; if(t1 > t2) { p1 = ObjectGetValueByTime(0, "Line1", t2); p2 = ObjectGetDouble(0, "Line2", OBJPROP_PRICE, 0); } if(t1 < t2) { p1 = ObjectGetDouble(0, "Line1", OBJPROP_PRICE, 0); p2 = ObjectGetValueByTime(0, "Line2", t1);; } if(t1 == t2) { p1 = ObjectGetDouble(0, "Line1", OBJPROP_PRICE, 0); p2 = ObjectGetDouble(0, "Line2", OBJPROP_PRICE, 0); } Comment("Разница: " + DoubleToString(MathAbs(p1 - p2) / _Point, 0)); Sergey Kolemanov 2018.03.30 16:28 #25 Itum: 根据不同的角度和将改变的距离......。这两条线之间的区别是什么?)你需要确定两条平行线之间的距离,它有多大并不重要,只要你改变比例时数值不发生变化? 我对你的理解正确吗?如果是这样,请给我检查该值的代码,它在你那里不起作用,因为在我那里起作用,值不会改变。 Renat Akhtyamov 2018.03.30 16:40 #26 Itum:请给我看一个例子。 double Расстояние=ObjectGetValueByShift("Line1",0)-ObjectGetValueByShift("Line2",0); 也就是说,如果第一行在顶部,第二行在底部 [删除] 2018.03.30 16:59 #27 Renat Akhtyamov: 也就是说,如果第一行在顶部,第二行在底部是 Renat Akhtyamov 2018.03.30 17:00 #28 Itum: 是如果适合你的话,可以试试我的那句话,而不是你下面的那句话 // Предлагали сделать так и не помогает !这将是蓝线的长度。 [删除] 2018.03.30 17:15 #29 Renat Akhtyamov: double Расстояние=ObjectGetValueByShift("Line1",0)-ObjectGetValueByShift("Line2",0); 嗯...你知道,这也没有帮助)......你试着运行我上面的代码...这不是你想要的结果。 也许我解释的不对。 [删除] 2018.03.30 17:17 #30 Renat Akhtyamov:如果适合你的话,可以试试我的那句话,而不是你下面的那句话 这将是蓝线的长度。 这就对了......我需要这个长度。 红线。 想象一下,如果这两条平行线是垂直的,蓝线会显示什么?(在不同的角度,会有不同的长度) 如果你在一张白纸上画两条相距10厘米的平行线(图7),这张纸可以以任何方式在任何角度 扭曲,仍然会有同样的10厘米(图6)。 12345678910...15 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你在计算高位和低位之间的距离,而他有线条。
你说的是平行线。而在平行线上,垂直距离在任何条上都是一样的。在他的例子中,线条之间的距离是(High[10]-Low[10])。你根本不需要为此计算时间。
你可以检查一下,它的结果一直是一样的。
你可以在这里 找到一个更通用的公式
但由于分母即使在分钟图上也非常接近于1,所以可以简化为。
double R=(Price2-Price1);
@Renat Akhtyamov 在这个帖子 中已经说过了
根据不同的角度,距离会有所不同...那么,这两条线之间的区别是什么?)
根据不同的角度,所有的距离将以倍数变化,因为你有一个直角三角形。因此,你在哪里测量根本就不重要。测量你认为最简单的距离。
请给我看一个例子。
根据不同的角度和将改变的距离......。这两条线之间的区别是什么?)
你需要确定两条平行线之间的距离,它有多大并不重要,只要你改变比例时数值不发生变化?
我对你的理解正确吗?如果是这样,请给我检查该值的代码,它在你那里不起作用,因为在我那里起作用,值不会改变。
请给我看一个例子。
也就是说,如果第一行在顶部,第二行在底部
是
如果适合你的话,可以试试我的那句话,而不是你下面的那句话
// Предлагали сделать так и не помогает !
这将是蓝线的长度。
Renat Akhtyamov:
嗯...你知道,这也没有帮助)......你试着运行我上面的代码...这不是你想要的结果。
也许我解释的不对。
如果适合你的话,可以试试我的那句话,而不是你下面的那句话
这将是蓝线的长度。
这就对了......我需要这个长度。 红线。 想象一下,如果这两条平行线是垂直的,蓝线会显示什么?(在不同的角度,会有不同的长度)
如果你在一张白纸上画两条相距10厘米的平行线(图7),这张纸可以以任何方式在任何角度 扭曲,仍然会有同样的10厘米(图6)。