どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 87

 
Forexman77:

今度は、この時間帯の最高値を求める必要があります。最高値が分かる。

が、時間帯と結びつかない。どうすればいいか教えてください。

作り込んだが、まだテストしていない。動作するようです

int start(){
 int StartHour=8,StartMinute=1;// Время 08:01
 int StopHour=23,StopMinute=58; // Время 23:58
 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.1970
 int start=0;// Если конец временного диапазона ещё не наступил, начинаем поиск максимума с текущего бара
 if(CurrentMinutesFromDayStart>StopTime) {
  datetime ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
  start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
 }
 int count=0;// Сколько баров до StartTime
 if(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);
}
 
GBDD21:
EAはどのように設定するのですか?
手で、そしてもちろん頭で...。:)
そして、何もないところでも、読む ことができるのです。
 
GBDD21:
EAを設定するには?
ドライバーで
 
それにしても、与えられた時間間隔の最大値を求めるには どうしたらいいのだろう。これと確認のためのアラートを試しましたが、うまくいきません。
datetime StartTime1=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" 12:00");
datetime StopTime1=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" 23:00");

if(TimeCurrent()>=StartTime1 && TimeCurrent()<=StopTime1)
    {
    int BarStart = iBarShift(NULL,0,StartTime1,false);
    int BarEnd   = iBarShift(NULL,0,StopTime1,false);
    double Max_Price=iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,BarStart-BarEnd,BarEnd));
       if (Max_Price==true)
            {
            Alert(" Max_Price= ",Max_Price);
            }
   }
 
GBDD21:
EAを設定するには?
https://www.mql5.com/ru/articles/1385- 記事 "EAのテストと最適化"
 
皆さんこんにちは!知っている人教えてください!私は取引シグナル(有料)を購読 し、日中はデスクトップコンピュータで作業し、夜は私のネットブックにそれを残しておきたいのですが・・・。シグナルを受信したいのですが、2つ目の端末を開くと空っぽで、受信ができません...。もっと正確な質問をしたいのですが、異なるターミナル(もちろん1つのアカウントで)で1つの同じ購読(シグナル)を開くことは可能でしょうか?
 
Forexman77:
それにしても、与えられた時間間隔の最大値を求めるにはどうしたらいいのだろう。この方法で、アラートを確認しようとしたのですが、うまくいきません。

まあ、すでに書いて、今、テストしてみたら、うまくいったんですけどね。

#property copyright "Copyright 2013, Mikhail <Sepulca>  Kozhemyako"
#property link      "ua3xcm@obninsk.ru"
extern int StartHour=8;
extern int StartMinute=1;
extern int StopHour=23;
extern int 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.1970
 int start=0;// Если конец временного диапазона ещё не наступил, начинаем поиск максимума с текущего бара
 if(CurrentMinutesFromDayStart>StopTime) {
  datetime ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
  start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
 }
 int count=0;// Сколько баров до StartTime
 if(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);
}
削除済み  
こんにちは。VPSにメタトレーダーのテンプレートをインストールしようとしているのですが、自宅のパソコンではすべてうまくいくのにうまくいきません。
 
Sepulca:

さて、私はすでに書いていて、今テストしたところ、それはうまくいきました。


ありがとうございました。ただ、今日はワゴンから落ちました。キウイの財布からお金を盗まれた((( 今、盗難についてのメールを終えたところです。

 
artmedia70:
ドライバー
大雑把な調整だなー。魂が歌うような薄めのチューニング!