MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1534 1...152715281529153015311532153315341535153615371538153915401541...1953 새 코멘트 Tretyakov Rostyslav 2021.07.07 08:00 #15331 Eugen8519 : 이렇게 주문이 마감됩니다 위에 쓴대로 하세요... 또는 OnTick() 코드 게시 Tretyakov Rostyslav 2021.07.07 08:20 #15332 Eugen8519 : 이렇게 주문이 마감됩니다 이러한 구조는 다음과 같아야 합니다. //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick () { //--- if (UseTimeLimit) { YesStop= true ; MqlDateTime str1; TimeToStruct ( TimeCurrent () , str1); if (str1.hour > startHour && str1.hour < stopHour) YesStop= false ; } if (YesStop== false ) { if (EMA0...) { ..... OPENORDER( "Sell" ); } if (EMA0...) { ..... OPENORDER( "Buy" ); } } //--- if (EMA0...) { ..... CLOSEORDER( "Sell" ); } if (EMA0...) { ..... CLOSEORDER( "Buy" ); } } //+------------------------------------------------------------------+ void CLOSEORDER( string ord) { ..... } //--- void OPENORDER( string ord) { ..... } Eugen8519 2021.07.07 08:30 #15333 음, 조언 감사합니다. 저녁에 확인하고 구독을 취소하겠습니다. Vitaly Muzichenko 2021.07.07 08:30 #15334 MakarFX : 이러한 구조는 다음과 같아야 합니다. 내가 틀리지 않았다면, 당신은 이렇게 쓸 수 있습니다 if (UseTimeLimit) { YesStop= true ; MqlDateTime str1; TimeCurrent (str1); if (str1.hour > startHour && str1.hour < stopHour) YesStop= false ; } Tretyakov Rostyslav 2021.07.07 08:40 #15335 Eugen8519 : 음, 조언 감사합니다. 저녁에 확인하고 구독을 취소하겠습니다. 올빼미가 시작될 때 설정에서 UseTimeLimit이 설정되어 있으면 이 함수는 OnTick () 대신 OnInit()에서 더 좋습니다. Tretyakov Rostyslav 2021.07.07 08:44 #15336 Vitaly Muzichenko : 내가 틀리지 않았다면, 당신은 이렇게 쓸 수 있습니다 나는 일반적으로 이렇게 쓴다. if (TimeHour(time[i])>=Time_Start&&TimeHour(time[i])<TimeFinish) 또는 더 쉽게 if (Hour()>=Time_Start&&Hour()<TimeFinish) Oleksandr Nozemtsev 2021.07.07 08:54 #15337 안녕하세요! 표시선의 평균을 올바르게 계산하는 방법을 알려주시겠습니까? Per_1 주기가 있는 주 곡선은 평균 주기 Per_2 가 있는 Buffer_2[] 버퍼가 있는 간단한 평균 블록을 추가할 때까지 정상적으로 그려집니다(Buffer_1[]). int OnCalculate(표준 옵션) { int i, j, 한계; if(rates_total <= Per_1) 반환(0); // 마지막으로 계산된 막대가 다시 계산됩니다. 제한 = rate_total - prev_calculated - Per_1; if(prev_calculated > 0) 제한++; // 표시기 버퍼의 계산 및 채우기 for(i=0; i < 한계; i++) { // 인디케이터의 메인 라인 계산 Buffer_1[i] = 곡선 공식 이중 합계 = 0; for(j = i; j < Per_2 + i; j++) { // 평균 라인 계산 합계 += Buffer_1[j]; Buffer_2[i] = 합계 / Per_2; } } 반환(요금 합계); } Any questions from newcomers 구피 다중 이동 평균 코딩 도움말 Tretyakov Rostyslav 2021.07.07 08:58 #15338 Oleksandr Nozemtsev : 안녕하세요! 코드 붙여넣기 이것은 귀하의 질문에 대한 답변인 것 같습니다. Vitaly Muzichenko 2021.07.07 09:03 #15339 Eugen8519 : 그것이 문제입니다. 시작 시간->정지 시간 주문만 열고 닫습니다. 그리고 미결 주문은 스톱아워 이후에 닫히지 않습니다. 스톱아워 이후에는 거래할 수 없기 때문에 저는 오랫동안 포지션에 대한 클로징, 후행 및 기타 지원 이전의 오픈 로직을 작성해 왔습니다. 더 큰 범위에서 사실입니다. 다른 것을 열기 전에 이미 열려 있는 것을 확인해야 합니다. 철자가 정확하면 블록을 다음과 같이 변경하면 됩니다. MqlDateTime str; void OnTick () { // Close Positions TrailingStop(); if (условие_закрытия) { ClosePos(); } // Open Positions if (UseTimeLimit) { TimeCurrent (str); if (str.hour > startHour && str.hour < stopHour) { OpesPos(...); ... } } // end } Oleksandr Nozemtsev 2021.07.07 09:22 #15340 MakarFX : 코드 붙여넣기 이것은 귀하의 질문에 대한 답변인 것 같습니다. 시원한! 작동합니다. 감사합니다! 1...152715281529153015311532153315341535153615371538153915401541...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
이렇게 주문이 마감됩니다
위에 쓴대로 하세요...
또는 OnTick() 코드 게시
이렇게 주문이 마감됩니다
이러한 구조는 다음과 같아야 합니다.
이러한 구조는 다음과 같아야 합니다.
내가 틀리지 않았다면, 당신은 이렇게 쓸 수 있습니다
음, 조언 감사합니다. 저녁에 확인하고 구독을 취소하겠습니다.
올빼미가 시작될 때 설정에서 UseTimeLimit이 설정되어 있으면
이 함수는 OnTick () 대신 OnInit()에서 더 좋습니다.
내가 틀리지 않았다면, 당신은 이렇게 쓸 수 있습니다
나는 일반적으로 이렇게 쓴다.
if (TimeHour(time[i])>=Time_Start&&TimeHour(time[i])<TimeFinish)
또는 더 쉽게
if (Hour()>=Time_Start&&Hour()<TimeFinish)
안녕하세요! 표시선의 평균을 올바르게 계산하는 방법을 알려주시겠습니까? Per_1 주기가 있는 주 곡선은 평균 주기 Per_2 가 있는 Buffer_2[] 버퍼가 있는 간단한 평균 블록을 추가할 때까지 정상적으로 그려집니다(Buffer_1[]).
int OnCalculate(표준 옵션)
{
int i, j, 한계;
if(rates_total <= Per_1)
반환(0);
// 마지막으로 계산된 막대가 다시 계산됩니다.
제한 = rate_total - prev_calculated - Per_1;
if(prev_calculated > 0)
제한++;
// 표시기 버퍼의 계산 및 채우기
for(i=0; i < 한계; i++)
{
// 인디케이터의 메인 라인 계산
Buffer_1[i] = 곡선 공식
이중 합계 = 0;
for(j = i; j < Per_2 + i; j++)
{
// 평균 라인 계산
합계 += Buffer_1[j];
Buffer_2[i] = 합계 / Per_2;
}
}
반환(요금 합계);
}
안녕하세요!
코드 붙여넣기
이것은 귀하의 질문에 대한 답변인 것 같습니다.그것이 문제입니다. 시작 시간->정지 시간 주문만 열고 닫습니다.
스톱아워 이후에는 거래할 수 없기 때문에
저는 오랫동안 포지션에 대한 클로징, 후행 및 기타 지원 이전의 오픈 로직을 작성해 왔습니다. 더 큰 범위에서 사실입니다. 다른 것을 열기 전에 이미 열려 있는 것을 확인해야 합니다.
철자가 정확하면 블록을 다음과 같이 변경하면 됩니다.
코드 붙여넣기
이것은 귀하의 질문에 대한 답변인 것 같습니다.시원한! 작동합니다. 감사합니다!