int start(){
int StartHour=8,StartMinute=1;// Время 08:01int StopHour=23,StopMinute=58; // Время 23:58int StartTime=StartHour*60+StartMinute;
int StopTime=StopHour*60+StopMinute;
int CurrentMinutesFromDayStart=Hour()*60+Minute();// Текущее время в минутах от начала дняif(CurrentMinutesFromDayStart>=StartTime && CurrentMinutesFromDayStart<=StopTime) {
// Для торговли внутри дня
}
// Ищем максимум
datetime td=iTime(Symbol(),PERIOD_D1,0);// Время открытия дневного бара в секундах от 01.01.1970int start=0;// Если конец временного диапазона ещё не наступил, начинаем поиск максимума с текущего бараif(CurrentMinutesFromDayStart>StopTime) {
datetime ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
}
int count=0;// Сколько баров до StartTimeif(CurrentMinutesFromDayStart>StartTime) {
ts=td+StartTime*60;// начало временного диапазона в секундах от 01.01.1970
count= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
count= count-start;// Сколько баров длится временной интервал
}
double Maximum=iHigh(Symbol(),PERIOD_M1,iHighest(Symbol(),PERIOD_M1,MODE_HIGH,count,start));//Находим максимум на заданном временном интервалеreturn(0);
}
#property copyright "Copyright 2013, Mikhail <Sepulca> Kozhemyako"#property link "ua3xcm@obninsk.ru"externint StartHour=8;
externint StartMinute=1;
externint StopHour=23;
externint StopMinute=58;
int OldBar;
int init() { OldBar=Bars-1;return(0);}
int deinit() {return(0);}
int start(){
double Maximum;
int StartTime=StartHour*60+StartMinute;
int StopTime=StopHour*60+StopMinute;
int CurrentMinutesFromDayStart=Hour()*60+Minute();// Текущее время в минутах от начала дняif(CurrentMinutesFromDayStart>=StartTime && CurrentMinutesFromDayStart<=StopTime) {
// Для торговли внутри дня
}
datetime td=iTime(Symbol(),PERIOD_D1,0);// Время открытия дневного бара в секундах от 01.01.1970int start=0;// Если конец временного диапазона ещё не наступил, начинаем поиск максимума с текущего бараif(CurrentMinutesFromDayStart>StopTime) {
datetime ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
}
int count=0;// Сколько баров до StartTimeif(CurrentMinutesFromDayStart>StartTime) {
ts=td+StartTime*60;// начало временного диапазона в секундах от 01.01.1970
count= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
count= count-start;// Сколко баров длится временной интервал
Maximum=iHigh(Symbol(),PERIOD_M1,iHighest(Symbol(),PERIOD_M1,MODE_HIGH,count,start));//Находим максимум на заданном временном интервале
}
else Maximum=-1;
if(OldBar<Bars){Print("Текущее время в минутах=",CurrentMinutesFromDayStart," Максимум с ",StartTime," минуты по ",StopTime," минуту =",DoubleToStr(Maximum,Digits));OldBar=Bars;}
return(0);
}
今度は、この時間帯の最高値を求める必要があります。最高値が分かる。
が、時間帯と結びつかない。どうすればいいか教えてください。作り込んだが、まだテストしていない。動作するようです
EAはどのように設定するのですか?
そして、何もないところでも、読む ことができるのです。
EAを設定するには?
EAを設定するには?
それにしても、与えられた時間間隔の最大値を求めるにはどうしたらいいのだろう。この方法で、アラートを確認しようとしたのですが、うまくいきません。
まあ、すでに書いて、今、テストしてみたら、うまくいったんですけどね。
さて、私はすでに書いていて、今テストしたところ、それはうまくいきました。
ありがとうございました。ただ、今日はワゴンから落ちました。キウイの財布からお金を盗まれた((( 今、盗難についてのメールを終えたところです。
ドライバー