//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Установка объекта OBJ_TRENDBYANGLE трендовая линия по углу |//+----------------------------------------------------------------------------+//| Параметры: |//| cl - цвет линии |//| nm - наименование ( "" - время открытия текущего бара) |//| t1 - время открытия бара ( 0 - Time[10] |//| p1 - ценовой уровень ( 0 - Low[10]) |//| t2 - время открытия бара ( 0 - время открытия текущего бара) |//| p2 - ценовой уровень ( 0 - по углу) |//| an - угол ( 0 - по умолчанию) |//| ry - луч (False - не луч) |//| st - стиль линии ( 0 - простая линия) |//| wd - ширина линии ( 1 - по умолчанию) |//+----------------------------------------------------------------------------+voidSetTLineByAngle(colorcl, stringnm="",
datetimet1=0, doublep1=0, datetimet2=0, doublep2=0,
doublean=0, boolry=False, intst=0, intwd=1){if(nm=="")nm=DoubleToStr(Time[0], 0);
if(t1<=0)t1=Time[10];
if(p1<=0)p1=Low[10];
if(t2<=0)t2=Time[0];
if(ObjectFind(nm)<0)ObjectCreate(nm, OBJ_TRENDBYANGLE, 0, 0,0);
ObjectSet(nm, OBJPROP_TIME1 , t1);
ObjectSet(nm, OBJPROP_PRICE1, p1);
ObjectSet(nm, OBJPROP_TIME2 , t2);
if(p2>0)ObjectSet(nm, OBJPROP_PRICE2, p2);
elseObjectSet(nm, OBJPROP_ANGLE, an);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_RAY , ry);
ObjectSet(nm, OBJPROP_STYLE, st);
ObjectSet(nm, OBJPROP_WIDTH, wd);
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Установка значка на графике, объекта OBJ_ARROW. |//+----------------------------------------------------------------------------+//| Параметры: |//| cd - код значка |//| cl - цвет значка |//| nm - наименование ("" - время открытия текущего бара) |//| t1 - время открытия бара (0 - текущий бар) |//| p1 - ценовой уровень (0 - Bid) |//| sz - размер значка (0 - по умолчанию) |//+----------------------------------------------------------------------------+voidSetArrow(intcd, colorcl,
stringnm="", datetimet1=0, doublep1=0, intsz=0){if(nm=="")nm=DoubleToStr(Time[0], 0);
if(t1<=0)t1=Time[0];
if(p1<=0)p1=Bid;
if(ObjectFind(nm)<0)ObjectCreate(nm, OBJ_ARROW, 0, 0,0);
ObjectSet(nm, OBJPROP_TIME1 , t1);
ObjectSet(nm, OBJPROP_PRICE1 , p1);
ObjectSet(nm, OBJPROP_ARROWCODE, cd);
ObjectSet(nm, OBJPROP_COLOR , cl);
ObjectSet(nm, OBJPROP_WIDTH , sz);
}
MQL4中的指针是很棘手的。没有直接的支持。论坛上有人试图用数组来做这件事,我想。我无法更准确地表达。自己搜索一下。
MathRand()
你只能以编程方式改变数组的第一维。ArrayResize() 函数。第二、第三和第四维度必须硬性设定。好吧,让我们也忘了指针和动态数组...
期待第五版语言的出现...
谢谢你的帮助...
使用一个网格工作很容易实现。
有趣的是,对于我的想法来说,一个网络是不够的,我想做一个网络间切换的算法,有了指针,这并不难。
但是没有......我们必须用硬编码。
SetTLineByAngle()函数。
此函数按当前图表上的斜率角度设置趋势线的OBJ_TRENDBYANGLE 对象。
如何使用SetTLineByAngle()的例子。
附上一个测试SetTLineByAngle()的脚本。
SetArrow()函数。
此函数将OBJ_ARROW 对象图标设置为当前图表。
如何使用SetArrow()的例子。
附上一个测试SetArrow()函数的脚本。
总的来说,如果在这篇文章的第一页有一个 "目录",那就很酷。一个包含功能列表、描述和页面链接的表格。或者在第一页保持一个更新的档案,而描述可以在其他页面找到。
所以,如果xrust会提出他的建议,在这里重复一下会很好。为了系统化的苦心经营:))
......你是否介意我从这个主题中收集特征,并将其发布在我的网站上,在一个单独的部分,并附上论坛和你网站的链接。
不,我不会...
非常感谢你所做的一切,你是否介意我收集这个分支的功能,并将它们发布在我的网站上,在一个单独的部分,并提及论坛和你的网站。
创建一个 "inluder "文件(mqh)(可能是2个--"贸易 "和 "其他"),就其名称达成一致,并强迫 "开发者 "将其纳入分发范围。这样,每个EA中的每个人都不必重新发明轮子。
:)