포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 992

 
001 :

이 코드는 특정 시간에 어드바이저를 "침묵"으로 만듭니다.

다음 코드를 Expert Advisor에 붙여넣습니다.

extern int HourStart=0; // 건너뛸 세션의 시작 시간

///

extern int HourEnd=0; // 건너뛸 세션 종료 시간
//+----------------------------------------------- ------ --------------------+
정수 시작()
{
if(시()>=시 시작)
{
if(시()<=시종료)
{
리턴(0);

}

// 조언자 앞에 이 코드를 붙여넣습니다(위).

}
// 고문의 본문
}
//+----------------------------------------------- ------ --------------------+

매우 감사합니다!

아직 주문 마감...

 
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 :

안녕하세요!

나는 일종의 좋은 고문 (테스터에 따르면)을 발견하고 데모에서 시작했습니다. 그것은 일본 세션에 병합됩니다.

특정 시간에 실행하고 특정 시간에 모든 주문을 닫고 끄는 방법을 코드에 알려줄 수 있습니까?

그리고 이 코드를 삽입할 장소.

미리 감사드립니다!

처음에 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_М15,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을 썼습니다. 현재 차트에서 검색합니다.
"...다른 기간의 가격 확인..."
 
abeiks :
"...다른 기간의 가격 확인..."

iHighest 에서 두 번째 매개변수는 기간입니다.

   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 ());