//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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()
プログラムで変更できるのは、配列の1次元目だけです。ArrayResize() 関数を使用します。2次元、3次元、4次元は厳密に設定する必要があります。まあ、ポインターや動的配列のことも忘れよう...。
第5弾の言語を楽しみにしています...。
ありがとうございました・・・。
1つのグリッドで作業するのは、実装が簡単です。
面白いことに、私のアイデアでは1つのネットワークでは不十分で、ネットワークを切り替えるためのアルゴリズムを作りたかったのですが、ポインターを使えば難しいことではありません。
でも、ダメなんです...。...ハードコーディングするしかないでしょう。
SetTLineByAngle()関数です。
この関数は、トレンドラインのOBJ_TRENDBYANGLE オブジェクトを現在のチャート上の傾き角度で設定します。
SetTLineByAngle()の使用例です。
SetTLineByAngle()のテスト用スクリプトを添付します。
SetArrow()関数です。
この関数は、OBJ_ARROW オブジェクトアイコンを現在のチャートに設定します。
SetArrow()の使用例です。
。
SZY. SetArrow()関数をテストするスクリプトを添付します。
一般的には、この記事の最初のページに「目次」があるとかっこいいと思います。機能一覧、説明、ページへのリンクが記載された表。あるいは、最初のページに1つの更新されたアーカイブを残し、説明は他のページで見ることができます。
そこで、xrustさんが提案されるのであれば、ここで繰り返されるのも良いのではないでしょうか。苦労した分、システム化のために :))
...このスレッドから機能を収集し、私のサイトにそれらを掲示してもよろしいですか?
いいえ、しません...
このブランチから機能を集めて、私のサイトに掲載してもよろしいですか?
inluder」ファイル(mqh)を作成し(おそらく「trade」と「other」の2つ)、その名前に合意して、「開発者」に強制的に配布物に含ませる。各EAの全員が車輪を再発明する必要がないように。
:)