最大値の形成時間を記録することは問題ない。次の8小節で最小値を検索するようにプログラムに指示する方法は明らかではありません。つまり、最大値より前のバーはカウントされず、最大値より後のバーで検索が行われる。Timing from and to は、その中の小節 数を指定することができないため、適さない。チャートで検索する最後のバーはゼロで、最後の矢印の後のバーはまだないとします。
int i;//индекс минимального бара(РАЗМЕЩАЕМ НА ГЛОБАЛЬНОМ УРОВНЕ)double High[];
double Low[];
datetime Time_High[];
datetime Time_Low[];
ArraySetAsSeries(High,true); // индексация элементов массива будет производиться как в таймсерияхArraySetAsSeries(Low,true); // индексация элементов массива будет производиться как в таймсерияхArraySetAsSeries(Time_High,true); // индексация элементов массива будет производиться как в таймсерияхArraySetAsSeries(Time_Low,true); // индексация элементов массива будет производиться как в таймсерияхint start=0;
int kol_vo=14;
CopyHigh(_Symbol,_Period,start,kol_vo,High);
int maxbar=ArrayMaximum(High); // индекс бара с максимальным значениемdouble Maximum=High[ArrayMaximum(High)]; // найдено значение High максимального бараCopyTime(_Symbol,_Period,start,kol_vo,Time_High);
datetime timemax=Time_High[maxbar];//получили время максимального бараAlert("maxbar=",maxbar,"Maximum=",Maximum);
//время максимального бара найдено начинаем с этого момента поиск минимума в последующих пяти барах//НИЖЕ БЛОК ПОЛУЧЕНИЯ ИНДЕКСА БАРА ДО ЗАДАННОГО КОЛИЧЕСТВА ПЯТИ БАРОВstaticdatetime t;//записываем старое времяdatetime New_Time[];//буффер для проверки нового бараArraySetAsSeries(New_Time,true);//направление индексацииCopyTime(_Symbol,_Period,0,1,New_Time);//копируем время нового бараif(New_Time[0]>t && i < 5){i=i+1; t=New_Time[0];}
//ВЫШЕ БЛОК ПОЛУЧЕНИЯ ИНДЕКСА БАРА ДО ЗАДАННОГО КОЛИЧЕСТВА ПЯТИ БАРОВ,НА КАЖДОМ НОВОМ БАРЕ ПОЛУЧАЕМ ИНДЕКС СТАРОГО БАРА+1int bar=maxbar-i;//бар с которого начнем поиск минимумаCopyLow(_Symbol,_Period,bar,i,Low);//копируем массив минимумов после максимумаint minbar=ArrayMinimum(Low);//получаем индекс бара минимума после максимума double Minimum=Low[ArrayMinimum(Low)];//получаем минимумAlert("minbar=",minbar,"Minimum=",Minimum);
最大値の形成時間を記録することは問題ない。次の8小節で最小値を検索するようにプログラムに指示する方法は明らかではありません。つまり、最大値より前のバーはカウントされず、最大値より後のバーで検索が行われる。Timing from and to は、その中の小節 数を指定することができないため、適さない。チャートで検索する最後のバーはゼロで、最後の矢印の後のバーはまだないとします。
最大値を発見→バーナンバーを覚える。小節数から8を引く→これで限界小節数がわかる。バー番号があれば、これらのバーのすべての特性(Open, Close, ..., Time)を知ることは問題ではありません。
確認したところ、すべて正しいようです。
さらにもし私が正しく学んだなら、最大バーインデックスは小節ごとに増加し、8を引き、この数字はリニア(一定)になります。
1番で最大値からスタートした場合、最大値が8番になったときだけ、検索にかかるのでしょうか?では、この関数はマイナス値を計算しないのですか?
とか、よくわからないことがある。
最大バーが1番の場合、-7となる。そして、ゼロになった後も、検索は行われます。
確認したところ、すべて正しいようです。
さらにもし私が正しく学んだなら、最大バーインデックスは小節ごとに増加し、8を引き、この数字はリニア(一定)になります。
1番で最大値からスタートした場合、最大値が8番になったときだけ、検索にかかるのでしょうか?では、この関数はマイナス値を計算しないのですか?
それとも何か誤解していたのだろうか。
こんにちは、シグナルの購読についての質問を書く場所が見つかりません。どこに貼ればいいのか、教えていただけませんか?
A 20 Pip Per Day Strategy シグナルを購読しています。
A 20 Pip Per Day Strategyシグナルを購読 しました。このシグナルの提供者は、600(初期)900ドルのロット0.10-0.15で取引しています。
320ドル(実質)のデポジットがあります。(リアル)、デポ使用率95%、取引ロットは常時0.01と非常に小さいです。少なくとも0.05〜0.1程度は欲しいところです。
自動で判定されるとのことですが、もしかしてまだ何かできるのでしょうか?
ご指摘ありがとうございました。
こんにちは、シグナルの購読についての質問を書く場所が見つかりません。書き込むべき場所を教えていただけませんか?
...
ヘルプ参照:例:バーナンバーを表示するインジケータhttps://www.mql5.com/ru/docs/array/arraysetasseries
新たにバーのチェックボックスを追加することで問題を解決しました。新しいバーができるたびに、バーインデックスに1本ずつ追加し、最大バーインデックスからこの金額を引きます。
この構造はスクリプトでは機能しませんが、Expert Advisorでは機能します。
アカウントにあるクレジットが商品代金より多いのに、マーケットで商品を買えないのはなぜか、教えてください。財布の中の資金が不足しているので、補充してください。??この問題はどこに書けばいいのでしょうか?誰に対して?
Servicedeskはあなたのプロフィールにあります。
MT4のターミナルファイル(experts-presetsなど)から、自分の設定をデスクトップや他のファイルにコピーしようとすると、「これらのファイルへのパスが見つからない」と言われます。
助けてください、もうおかしくなりそうです :( MT4とWindows 8の互換性の問題か、それとも別の問題でしょうか?
ありがとうございました。