전문가를 위한 질문 - 페이지 21

 
안녕하세요. 나는 시간에 따라 다음 기능으로 작업을 제한했습니다.
 bool isTradeTimeInt( int hb= 0 , int mb= 0 , int he= 0 , int me= 0 ) {
   datetime db, de;         
   int       hc;              

  db= StrToTime ( TimeToStr ( TimeCurrent (), TIME_DATE )+ " " +hb+ ":" +mb);
  de= StrToTime ( TimeToStr ( TimeCurrent (), TIME_DATE )+ " " +he+ ":" +me);
  hc= TimeHour ( TimeCurrent ());
   if (db>=de) {
     if (hc>=he) de+= 24 * 60 * 60 ; else db-= 24 * 60 * 60 ;
  }

   if ( TimeCurrent ()>=db && TimeCurrent ()<=de) return ( True );
   else return ( False );
}

그러나 공개 주문은 여전히 임의적입니다 ...

특정 시간에 어드바이저가 신규 주문을 하지 않고 오픈 주문을 동반하도록 하고 싶습니다.

특정 시간에 신호의 형성을 금지/허용하는 것이 가능하다고 생각합니다.

방법을 알려주세요.

 

I.Kim에는 이러한 임시 기능이 있었던 것으로 기억합니다. https://www.mql5.com/en/forum/131859 - page №9

isTradeTimeString - 시간 거래 활성화 플래그를 반환합니다.
isTradeTimeInt - 시간 거래 허가 플래그를 반환합니다.

미결제 주문이 우연히 남겨지는 것을 방지하려면 오픈 포지션에 대해서만 if (isTradeTimeString()==false) { ... 조건을 사용하십시오. 다른 모든 작업(후행, 수정, 포지션 닫기)에는 이 기능(이 조건)을 사용하지 마십시오.

Vinin :
댓글 삭제
덕분에.
 

모두를 환영합니다.

내 표시기는 별도의 창에 여러 줄을 그립니다. 예를 들어 - 두 통화의 MA. 그리고 그들의 차이의 선이기도 하다.

 #property indicator_separate_window
#property indicator_buffers 4
... ...
// Буферы для отображения данных
double Buf1[];     // Первый инструмент ма1
double Buf2[];     // Второй инструмент ма2
double BufS[];     // Средняя линия (ма1+ма2)/2
double BufW[];     // разность ма1-ма2
double BufW_Up[]; // Восходящиая разность
double BufW_Dn[]; // Нисходящая разность

...
int init() {
 IndicatorBuffers(7);
  
  SetIndexStyle(0,DRAW_LINE);
  SetIndexBuffer(0,Buf1);
  SetIndexLabel(0, Symbol1); 

  SetIndexStyle(1,DRAW_LINE);
  SetIndexBuffer(1,Buf2);
  SetIndexLabel(1,Symbol2); 

  SetIndexStyle(2,DRAW_LINE);
  SetIndexBuffer(2,BufW_Up);
  SetIndexLabel(2,"Channel width Up");

  SetIndexStyle(3,DRAW_LINE);
  SetIndexBuffer(3,BufW_Dn);
  SetIndexLabel(3,"Channel width Down");
  
  SetIndexBuffer(4,BufW);
  SetIndexBuffer(5,BufS);

Bonds 또는 Envelop과 같은 "첫 번째 표시기 데이터" 모드의 터미널에서 이 표시기에 다른 표시기를 수동으로 "매달"합니다.

이 두 번째 칠면조가 차이 라인에 정확히 "매달려"야 합니다. BufW 버퍼,

제발. 말해봐 - 어떻게 든 이것을 코드에서 프로그래밍 방식으로 설정할 수 있습니까? 다른 표시기의 경우 "첫 번째 표시기 데이터" 모드에서 "중단"되어 BufW 버퍼에서 차이 라인을 엄격하게 선택하시겠습니까?

현재에 두 번째 표시기가 첫 번째 기호 Buf1의 MA 라인에 지속적으로 "매달린" 순간.