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

 
001:

このコードにより、EAは特定の時間帯に「無音」になります。

このコードをEAに貼り付けてください。

extern HourStart=0; // スキップするセッションの開始時間

///

extern HourEnd=0; // スキップする必要があるセッションの終了時間
//+------------------------------------------------------------------+
int start()
{
if(Hour()>=HourStart)とする。
{
{ if(Hour()<=HourEnd)の場合
{
return(0)です。

}

//このコード(上記)をあなたのEAの前に貼り付けます。

}
// あなたのEA本体
}
//+------------------------------------------------------------------+

ありがとうございました。

また、注文を締め切ることになる...

 
Vinin:
何が欲しかったんだ?
例えば、1年間で、03:00に20回、05:00に30回というように、時間ごとのピークを示す指標です。インジケーターは別ウィンドウで表示されます。
 
SAnd7:

ありがとうございました。

ワラントも閉じてくれないかなぁ...。

もし時間によって、我々は関数を見つける必要があります

OrderClose()

と前面に出す。

if(Hour()>=HourClose)

結論から言うと

extern int    HourClose=0;          // Вставить там где вставили extern int    HourStart=0;  Это час закрытия

//+------------------------------------------------------------------+



//+------------------------------------------------------------------+
if(Hour()>=HourClose) OrderClose(...............);// Найти функцию OrderClose и поставить передней if(Hour()>=HourClose)


 

ありがとうございます!!!

できたと思う。

 
SAnd7:

ありがとうございます!!!

わかったような気がします。

まだまだ分単位で遊べます。

  Minute()
 
SAnd7:

こんにちは。

良いExpert Advisor(テスターによる)を見つけたのでデモで動かしてみたところ、日本のセッションで損をしているのです。

もし、コードを知っているならば、どのようにすれば、ある時間に、私の注文をすべて決済して終了するように実行させることができるでしょうか。

また、このコードを挿入する場所。

ありがとうございました。

最初に2つの変数を作る。

extern int    Start    = 2,
              End      = 8;
//-----------------------------------
  int hour = TimeHour(TimeCurrent()); // в начале основной части советника

そして、ポジションが残っている場合に備えて、オープニングとクロージングの条件にも!

     if(hour >= Start && hour < End) // можно открывать
//-----------------------------------------------------
     if(hour < Start || hour >= End) // закрыть, если есть
 

こんにちは。

現在、この関数は現在のチャート(double High[])に連動しています。異なるタイムフレームの価格を取得できるように関数を修正するにはどうすればよいですか? High_Lim(PERIOD_H4,10,1) High_Lim(PERIOD_M15,10,1)

double High_Lim(ENUM_TIMEFRAMES GrafPeriod, int Bari_atp, int Bari_shift)
{
double HighLim=0; 
       HighLim = (High[iHighest(NULL,GrafPeriod,MODE_HIGH,Bari_atp,Bari_shift)]);
          
return(HighLim);
}

void OnTick()
  {
//---
Print("::::::::::::::::::::::::: High_Lim(PERIOD_M15,10,1) = ", High_Lim(PERIOD_M15,10,1));  
Print("::::::::::::::::::::::::: High_Lim(PERIOD_H4,10,1) = ", High_Lim(PERIOD_H4,10,1));     
  }
 
abeiks:

こんにちは。

現在、この関数は現在のチャート(double High[])に連動しています。異なるタイムフレームの価格を取得できるように関数を修正するにはどうすればよいですか? High_Lim(PERIOD_H4,10,1) High_Lim(PERIOD_M15,10,1)

他のシンボルから最高値の値を見つけるには、iHighest を使用します。引数1の代わりに、シンボル名を書いてください。"EURUSD "です。あなたの関数では、NULLと書かれていますが、これはつまり、現在のチャートを検索していることになります。
 
paladin80:
他のシンボルから最高値の値を見つけるには、iHighest を使用します。引数1の代わりにシンボルの名前を書いてください,例."EURUSD "です。あなたの関数では、NULLと書かれていますが、これはつまり、現在のチャートを検索していることになります。
"...get prices of different timeframes..."
 
abeiks:
"...get prices of different timeframes..."

iHighestでは、2番目のパラメータがタイムフレームになります。

   double val;
//--- расчет максимального значения цены на 20 последовательных барах
//--- с индекса 4 по индекс 23 включительно на графике  EURUSD на М30 
   int val_index=iHighest("EURUSD",PERIOD_M30,MODE_HIGH,20,4);
   if(val_index!=-1) val=High[val_index];
   else PrintFormat("Ошибка вызова iHighest. Код ошибки=%d",GetLastError());