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

 
AlexeyVik :
나는 그것을 확인하지 않았지만 당신이 직접 확인하는 것을 방해하는 것은 무엇입니까? 모든 지표와 함께 어드바이저 이름으로 템플릿을 저장하면 테스터에서 어드바이저가 시작될 때 모든 지표가 로드되고 올바르게 작동 할 수 있습니다. 그러나 "Trade" 및 "Account History" 탭에서 값을 가져올 수도 있습니다.
시험을 마친. 그가 볼 때까지. 더 노력하겠습니다.
 
kosmos0975 :
시험을 마친. 그가 볼 때까지. 더 노력하겠습니다.
지표가 있는 그러한 변태가 필요합니까? 조언자에게 모든 것을 밀어 넣는 것이 더 쉽지 않습니까?
 
AlexeyVik :
지표가 있는 그러한 변태가 필요합니까? 조언자에게 모든 것을 밀어 넣는 것이 더 쉽지 않습니까?

시간이 지남에 따라 고문은 올바른 작동을 위한 추가 조건을 획득하고 유연하지 않게 됩니다.

(변태가 가능합니다. 우리 러시아인은 쉬운 방법을 찾고 있지 않습니다 :)

 
안녕하세요!
Expert Advisor에서 "시장 폐쇄"를 어떻게 정의할 수 있습니까?
 
abeiks :
안녕하세요!
Expert Advisor에서 "시장 폐쇄"를 어떻게 정의할 수 있습니까?

왜 필요합니까? 시장이 닫히면 틱이 없으므로 EA가 작동하지 않습니다.

그러나 여전히 정말로 필요하다면 시도하십시오.

MarketInfo( Symbol (), MODE_TRADEALLOWED);

마켓이 열려 있으면 1을 반환하고, 마켓이 닫혀 있으면 0을 반환해야 하지만 틱이 없으면 어떻게 합니까? :)

 

그런 것 - 마지막에 대한 최소 및 최대 가격 값(예: 100개 막대)을 결정한 다음 가격이 하락/상승할 때 상승/하강을 수정해야 1 2 3 반전 패턴을 그릴 수 있습니다. ArrayMaximum 과 iHighest 함수의 차이점을 이해할 수 없습니다. 내가 올바르게 이해한다면 계산 결과는 지정된 배열 간격의 최대 막대 인덱스뿐입니까? 교과서의 문제 26과 같이 배열로 작업할 때 계산에 for 문을 사용해야 합니까? 이 코드를 다음과 같이 변경했습니다.

 //------------------------------------------------ --------------------
// extremumprice.mq4 
// MQL4 튜토리얼에서 예제로 사용하도록 설계되었습니다.
//------------------------------------------------ --------------------
외부 정수 Quant_Bars=100; // 막대의 수
//------------------------------------------------ --------------------
int start() // 사양. 시작 기능
  {
   정수 나; // 바 번호 
   double Minimum=Bid, // 최저 가격
          최대=입찰가 // 최고가
         
   for(i=0;i<=Quant_Bars-1;i++) // 0(!)에서 ..
                                               // ..Quant_Bars-1(!)
      if (Low[i]< Minimum) // If < 알려진 경우
         최소=낮음[i]; // 그러면 최소값이 됩니다.
      if (High[i]> Maximum) // If > 알려진 경우
         최대=높음[i]; // 그러면 최대값이 됩니다.
    
   
   더블
   Level_1, // 신호 레벨 1
   Level_2, // 신호 레벨 2
   가격; // 현재 가격
   Level_1=최소; // 최소 레벨 설정 
   Level_2=최대; // 최대 레벨 설정 
   가격=입찰가; // 가격 요청
   
   if (가격<레벨_1) 
   { // 복잡한 조건 확인  
      Alert("매도 패턴이 형성되었습니다."); 
      } 
        if (가격<레벨_2) 
   { // 복잡한 조건 확인  
      Alert("구매 패턴이 형성되었습니다."); // 메시지 
  }
   반품; 
   }                               
  //------------------------------------------------ --------------------


그러나 어떤 이유로 각 틱마다 매수 패턴만 발행하지만 최소 또는 최대가 변경될 때만 신호를 보내야 합니다.  
 
silachara :

왜 필요합니까? 시장이 닫히면 틱이 없으므로 Expert Advisor가 작동하지 않습니다.

그러나 여전히 정말로 필요하다면 시도하십시오.

마켓이 열려 있으면 1을 반환하고, 마켓이 닫혀 있으면 0을 반환해야 하지만 틱이 없으면 어떻게 합니까? :)

고맙습니다!
정보를 위해. 틱 사이의 시간을 계산해야 합니다.
OnTimer()를 사용합니다.
 
Deniskaaa :

그런 것 - 마지막에 대한 최소 및 최대 가격 값(예: 100개 막대)을 결정한 다음 가격이 하락/상승할 때 상승/하강을 수정해야 1 2 3 반전 패턴을 그릴 수 있습니다. ArrayMaximum과 iHighest 함수의 차이점을 이해할 수 없습니다. 내가 올바르게 이해한다면 계산 결과는 지정된 배열 간격의 최대 막대 인덱스뿐입니까? 교과서의 문제 26과 같이 배열로 작업할 때 계산에 for 문을 사용해야 합니까? 이 코드를 다음과 같이 변경했습니다.




이러한 신호를 거래하고 싶다면 하지 마십시오. 프로그래밍을 배우고 있다면 올바르게 작성하십시오.

더블

 Level_1, // 신호 레벨 1
   Level_2, // 신호 레벨 2
   가격; // 현재 가격
 위에.
 for(i=0;i<=Quant_Bars-1;i++) for(i=0; i<Quant_Bars; i ++) 대체
 {
	if (Low[i]< 최소값) // If < 알려진 경우
         	최소=낮음[i]; // 그러면 최소값이 됩니다.
      	if (High[i]> Maximum) // If > 알려진 경우
         	최대=높음[i]; // 그러면 최대값이 됩니다.
 }
 중괄호를 추가했습니다.
 if (Price<Level_2) 기호 변경 if (Price > Level_2) 위의 경우
 
kosmos0975 :

이러한 신호를 거래하고 싶다면 하지 마십시오. 프로그래밍을 배우고 있다면 올바르게 작성하십시오.


당신의 답변에 감사드립니다.
 

파일 작업 방법을 배우기 시작했습니다. 핸들이라는 용어를 만났습니다. 코드를 작성한 후 질문이 생겼습니다.

 int filehandle;
filehandle= FileOpen ( "news.csv" , FILE_READ );
Print ( "Файл открыт успешно. Хендл файла=" , filehandle);
filehandle= FileOpen ( "news150901.csv" , FILE_READ );
Print ( "Файл открыт успешно. Хендл файла=" , filehandle);

첫 번째 파일 news.csv를 연 후 프로그램은 값 1을 filehandle 변수에 할당했습니다. 다음으로 프로그램은 두 번째 파일 news150901.csv를 열고 값 2를 filehandle 변수에 할당했습니다. 두 번째 파일을 열 때만 핸들 값. 즉, 첫 번째 open 에 대한 핸들 값을 죽였습니다. 저것들. 데이터/콘텐츠에 액세스하고 닫기 두 번째 파일만 가능합니까? 열린 파일 핸들을 저장하기 위해 단일 변수를 사용하는 것이 실수입니까? 여는 각 파일의 핸들에 대한 변수를 생성해야 합니까?