//+------------------------------------------------------------------+ //| Вычисляем значения точек привязки трендовых линий | //+------------------------------------------------------------------+ void CalculateTrendPoints(datetime &time_1, double &price_1,
datetime &time_2, double &price_2, double &zigbuf[])
{
int ind_time_1, ind_time_2;
int size_zigbuf = ArraySize(zigbuf);
for(int i = 0; i < size_zigbuf; i++){if(zigbuf[i] != EMPTY_VALUE)break;}
price_1 = zigbuf[i];
ind_time_1 = i;
for(int i = ind_time_1 + 1; i < size_zigbuf; i++){if(zigbuf[i] != EMPTY_VALUE)break;}
price_2 = zigbuf[i];
ind_time_2 = i;
//Дальше будут расчеты, в которых в зависимости от того для чего используется функция//(построение ТрЛайн для верхних пиков или для нижних)будет применяться
+ или - , < или >.
//Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), //Вопрос не сложный - как это написать???
}
//+------------------------------------------------------------------+ //| Вычисляем значения точек привязки трендовых линий | //+------------------------------------------------------------------+ void CalculateTrendPoints(datetime &time_1, double &price_1,
datetime &time_2, double &price_2, double &zigbuf[])
{
int ind_time_1 = 0;
int ind_time_2 = 0;
int size_zigbuf = ArraySize(zigbuf);
for(int i = 0; i < size_zigbuf; i++)
{
if(zigbuf[i] != EMPTY_VALUE)
price_1 = zigbuf[i];
ind_time_1 = i;
break;
}
for(int i = ind_time_1 + 1; i < size_zigbuf; i++)
{
if(zigbuf[i] != EMPTY_VALUE)
{
if(zigbuf[i] == ZigzagPeakBuffer[i] && zigbuf[i] > price_1)
{
price_2 = zigbuf[i];
ind_time_2 = i;
break;
}
if(zigbuf[i] == ZigzagBottomBuffer[i] && zigbuf[i] < price_1)
{
price_2 = zigbuf[i];
ind_time_2 = i;
break;
}
}
}
//Дальше будут расчеты, в которых в зависимости от того для чего используется функция//(построение ТрЛайн для верхних пиков или для нижних)будет применяться + или - , < или >.//Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), // Вопрос не сложный - как это написать???
}
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
需要 )
阿列克谢,谢谢你!
请告诉一个没有经验的人:
,MQL5/Sounds文件夹应该(可能)在我们的生活中发挥什么作用?(我的问题在第1221页的顶部)
你能告诉我为什么只有在新的刻度线到来时,柱子才会改变它在图表上的位置?MT5,Just2Trade 6月5日的构建
你能告诉我为什么只有在新的刻度线到来时,柱子才会改变它在图表上的位置?MT5,Just2Trade 6月5日的构建
比较你的代码和来自标准[data folder]\MQL5\Experts\Examples\Controls\Controls.mq5的面板例子。
下午好,给行家们一个问题。
我试图建立这样一个结构--一个函数,四个变量作为参数由链接输入,还有一个数组,这四个变量的计算数据将在函数中获得。程序中有两个这样的数组(将被传入函数)--之字形的上端和下端。 该函数应计算出绘制TrendLine的点。
问题是--如何检查两个数组中的哪一个在特定的迭代中被使用,以对计算应用+或-?
如果表述得很别扭,请再问,我会很高兴地解释。这里附的是一个施工大纲。
这意味着zigbuf[] 参数将只有两个选项可供替换-- ZigzagPeakBuffer[]或ZigzagBottomBuffer[]。我怎样才能在函数中检查哪个选项是当前设置的?
到目前为止,我已经发明了确定哪一个数组的方法--通过比较发现的值,哪一个符合,那一个就是我们的。但肯定有一个更好、更短的解决方案。
知识渊博--请告诉我们!!!。
大家好))。
问题:OBJ_FIBO 在绘图时没有在图形(OBJPROP_TOOLTIP)上给出一个弹出窗口。所有的东西都是通过OBJPOP_TXT/来组织图形化的,在FIBO中如何以及是否有可能通过工具提示来制作一个弹出窗口?
目的:当把鼠标悬停在飞博水平上时,弹出一个像HLINE(作为一个例子)的窗口。
大家好))。
问题:OBJ_FIBO 在绘图时没有在图形(OBJPROP_TOOLTIP)上给出一个弹出窗口。所有的东西都是通过OBJPOP_TXT/来组织图形化的,在FIBO中如何以及是否有可能通过工具提示来制作一个弹出窗口?
目的:当把鼠标悬停在Fibo水平上时,弹出一个像HLINE(作为一个例子)的窗口。
使用OBJPROP_TEXT属性
到目前为止,我已经发明了确定哪一个数组的方法--通过比较发现的值,哪一个符合,那一个就是我们的。但肯定有一个更好、更短的解决方案。
知道的人--请告诉我!!!。
为什么你要编造自己的问题?他们将是足够的,因为它是。
只要做两个独立的功能。