AlexeyVik : 나는 그것을 확인하지 않았지만 당신이 직접 확인하는 것을 방해하는 것은 무엇입니까? 모든 지표와 함께 어드바이저 이름으로 템플릿을 저장하면 테스터에서 어드바이저가 시작될 때 모든 지표가 로드되고 올바르게 작동 할 수 있습니다. 그러나 "Trade" 및 "Account History" 탭에서 값을 가져올 수도 있습니다.
그런 것 - 마지막에 대한 최소 및 최대 가격 값(예: 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("구매 패턴이 형성되었습니다."); // 메시지
}
반품;
}
//------------------------------------------------ --------------------
그러나 어떤 이유로 각 틱마다 매수 패턴만 발행하지만 최소 또는 최대가 변경될 때만 신호를 보내야 합니다.
그런 것 - 마지막에 대한 최소 및 최대 가격 값(예: 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) 위의 경우
첫 번째 파일 news.csv를 연 후 프로그램은 값 1을 filehandle 변수에 할당했습니다. 다음으로 프로그램은 두 번째 파일 news150901.csv를 열고 값 2를 filehandle 변수에 할당했습니다. 두 번째 파일을 열 때만 핸들 값. 즉, 첫 번째 open 에 대한 핸들 값을 죽였습니다. 저것들. 데이터/콘텐츠에 액세스하고 닫기 두 번째 파일만 가능합니까? 열린 파일 핸들을 저장하기 위해 단일 변수를 사용하는 것이 실수입니까? 여는 각 파일의 핸들에 대한 변수를 생성해야 합니까?
나는 그것을 확인하지 않았지만 당신이 직접 확인하는 것을 방해하는 것은 무엇입니까? 모든 지표와 함께 어드바이저 이름으로 템플릿을 저장하면 테스터에서 어드바이저가 시작될 때 모든 지표가 로드되고 올바르게 작동 할 수 있습니다. 그러나 "Trade" 및 "Account History" 탭에서 값을 가져올 수도 있습니다.
시험을 마친. 그가 볼 때까지. 더 노력하겠습니다.
지표가 있는 그러한 변태가 필요합니까? 조언자에게 모든 것을 밀어 넣는 것이 더 쉽지 않습니까?
시간이 지남에 따라 고문은 올바른 작동을 위한 추가 조건을 획득하고 유연하지 않게 됩니다.
(변태가 가능합니다. 우리 러시아인은 쉬운 방법을 찾고 있지 않습니다 :)
Expert Advisor에서 "시장 폐쇄"를 어떻게 정의할 수 있습니까?
안녕하세요!
Expert Advisor에서 "시장 폐쇄"를 어떻게 정의할 수 있습니까?
왜 필요합니까? 시장이 닫히면 틱이 없으므로 EA가 작동하지 않습니다.
그러나 여전히 정말로 필요하다면 시도하십시오.
MarketInfo( Symbol (), MODE_TRADEALLOWED);
마켓이 열려 있으면 1을 반환하고, 마켓이 닫혀 있으면 0을 반환해야 하지만 틱이 없으면 어떻게 합니까? :)
그런 것 - 마지막에 대한 최소 및 최대 가격 값(예: 100개 막대)을 결정한 다음 가격이 하락/상승할 때 상승/하강을 수정해야 1 2 3 반전 패턴을 그릴 수 있습니다. ArrayMaximum 과 iHighest 함수의 차이점을 이해할 수 없습니다. 내가 올바르게 이해한다면 계산 결과는 지정된 배열 간격의 최대 막대 인덱스뿐입니까? 교과서의 문제 26과 같이 배열로 작업할 때 계산에 for 문을 사용해야 합니까? 이 코드를 다음과 같이 변경했습니다.
왜 필요합니까? 시장이 닫히면 틱이 없으므로 Expert Advisor가 작동하지 않습니다.
그러나 여전히 정말로 필요하다면 시도하십시오.
마켓이 열려 있으면 1을 반환하고, 마켓이 닫혀 있으면 0을 반환해야 하지만 틱이 없으면 어떻게 합니까? :)
정보를 위해. 틱 사이의 시간을 계산해야 합니다.
OnTimer()를 사용합니다.
그런 것 - 마지막에 대한 최소 및 최대 가격 값(예: 100개 막대)을 결정한 다음 가격이 하락/상승할 때 상승/하강을 수정해야 1 2 3 반전 패턴을 그릴 수 있습니다. ArrayMaximum과 iHighest 함수의 차이점을 이해할 수 없습니다. 내가 올바르게 이해한다면 계산 결과는 지정된 배열 간격의 최대 막대 인덱스뿐입니까? 교과서의 문제 26과 같이 배열로 작업할 때 계산에 for 문을 사용해야 합니까? 이 코드를 다음과 같이 변경했습니다.
이러한 신호를 거래하고 싶다면 하지 마십시오. 프로그래밍을 배우고 있다면 올바르게 작성하십시오.
더블
이러한 신호를 거래하고 싶다면 하지 마십시오. 프로그래밍을 배우고 있다면 올바르게 작성하십시오.
파일 작업 방법을 배우기 시작했습니다. 핸들이라는 용어를 만났습니다. 코드를 작성한 후 질문이 생겼습니다.
첫 번째 파일 news.csv를 연 후 프로그램은 값 1을 filehandle 변수에 할당했습니다. 다음으로 프로그램은 두 번째 파일 news150901.csv를 열고 값 2를 filehandle 변수에 할당했습니다. 두 번째 파일을 열 때만 핸들 값. 즉, 첫 번째 open 에 대한 핸들 값을 죽였습니다. 저것들. 데이터/콘텐츠에 액세스하고 닫기 두 번째 파일만 가능합니까? 열린 파일 핸들을 저장하기 위해 단일 변수를 사용하는 것이 실수입니까? 여는 각 파일의 핸들에 대한 변수를 생성해야 합니까?