MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 30 1...232425262728293031323334353637...1953 새 코멘트 Sergey Gritsay 2016.12.08 23:18 #291 yaaarik777 : 저는 그냥 배우는 중이고 참고서를 사용하려고 합니다. 하지만 일종의 말도 안 되는 것으로 판명된다는 것을 이해합니다. 어떻게 하는지 예시를 보고 싶습니다. 이 기사를 읽으면 유용할 것입니다 https://www.mql5.com/en/articles/1399 События в МetaТrader 4 2006.05.29Andrey Khatimlianskiiwww.mql5.com Статья посвящена программному отслеживанию событий в терминале МetaТrader 4, таких как открытие, закрытие и модификация ордеров, и рассчитана на пользователя, обладающего базовыми навыками работы с терминалом и программирования на MQL 4. [삭제] 2016.12.09 13:10 #292 yaaarik777 : 모두 좋은 하루! 어드바이저에 주문 삭제 넣는 방법을 알려주세요. 상황은 이렇습니다. 우리는 다른 방향으로 2개의 보류 중인 주문 을 배치합니다. 그 중 하나가 실행되는 즉시 다른 하나는 삭제되고 더 이상 배치되지 않습니다. 도움을 주시면 대단히 감사하겠습니다. 고맙습니다. 그런 것 for ( int pos= OrdersTotal ()- 1 ,ticket= 0 ,trade= 0 ;pos!=- 1 ;pos--) { if ( OrderSelect (pos, SELECT_BY_POS , MODE_TRADES ) && OrderType ()> 1 ) //Если найденный ордер отложенный { ticket= OrderTicket (); //Запомним его тикет } else //Если ордер не отложенный { trade= 1 ; //Запомним,что есть открытая позиция } if (ticket!= 0 && trade== 1 ) //И если известен отложенный и открыта позиция { int OD= OrderDelete (ticket); //Удаляем отложенный } } Any questions from newcomers Determine Order Status Questions from Beginners MQL4 Vitalie Postolache 2016.12.09 14:17 #293 Nikolay Gaylis : "계속 봅시다" - 제거해야 합니다! 포럼에서 게시물을 직접 수정할 수 있습니다. 위의 별도 게시물에 작성하신 모든 내용을 하나로 통합할 수 있습니다. [삭제] 2016.12.09 14:27 #294 Vitalie Postolache : 포럼에서 게시물을 직접 수정할 수 있습니다. 위의 별도 게시물에 작성하신 모든 내용을 하나로 통합할 수 있습니다. 감사하다! владимир 2016.12.10 08:00 #295 안녕하세요! 다음 알고리즘에 따라 이익실현 추적을 도입했습니다. if(총>0) {for (int i=OrdersTotal()-1; i>=0; i--) if( 주문선택(i, SELECT_BY_POS )==true) { if(OrderMagicNumber()==매직 && OrderSymbol()==자산 && OrderType()==OP_BUY) { 새로 고침(); if(TimeCurrent()>OrderOpenTime() && TimeCurrent()<=(OrderOpenTime()+3600)) { TAKEPROFIT 트레일 조건; 새로운 이익 실현을 위한 주문 수정, } } } } 그러나 어떤 이유로 시간 제한이 작동하지 않고 현재 시간 프레임에서 포지션이 닫히지 않으면 조건이 충족된다면 다음 시간 프레임에서 추적됩니다. 내 마지막 if()에 무슨 문제가 있습니까? Any questions from newcomers How to code? 코딩하는 방법? Artyom Trishkin 2016.12.10 08:36 #296 владимир : 안녕하세요! 다음 알고리즘에 따라 이익실현 추적을 도입했습니다. if(총>0) {for (int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS)==true) { if(OrderMagicNumber()==매직 && OrderSymbol()==자산 && OrderType()==OP_BUY) { 새로 고침(); if(TimeCurrent()>OrderOpenTime() && TimeCurrent()<=(OrderOpenTime()+3600)) { TAKEPROFIT 트레일 조건; 새로운 이익 실현을 위한 주문 수정, } } } } 그러나 어떤 이유로 시간 제한이 작동하지 않고 현재 시간 프레임에서 포지션이 닫히지 않으면 조건이 충족된다면 다음 시간 프레임에서 추적됩니다. 내 마지막 if()에 무슨 문제가 있습니까? 글쎄, 나는 지금 거기에서 무엇이 잘못되었는지 알지 못한다. 주문 수에 대한 추가 확인을 제거하고(주기 조건에 이미 존재함) 두 가지 유형의 포지션(구매 및 판매)에 대한 확인을 추가했습니다. //+------------------------------------------------------------------+ for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS )) { if ( OrderType ()> OP_SELL ) continue ; if ( OrderMagicNumber ()==magic && OrderSymbol ()==asset) { if ( TimeCurrent ()> OrderOpenTime () && TimeCurrent ()<= OrderOpenTime ()+ PeriodSeconds ( PERIOD_H1 )) { // УСЛОВИЕ ТРАЛА ТЭЙКПРОФИТА; // МОДИФИКАЦИЯ ОРДЕРА НА НОВЫЙ ТЭЙКПРОФИТ; } } } } //+------------------------------------------------------------------+ // 후행 및 수정 조건이 있는 곳에서 시간 변수의 값과 함께 Print()를 삽입하고 로그에 기록될 내용을 확인합니다. Any questions from newcomers 코딩하는 방법? [아카이브!] 포럼을 어지럽히 지 владимир 2016.12.10 09:45 #297 Artyom Trishkin : 글쎄, 나는 아직 거기에 무엇이 잘못되었는지 알 수 없다. 주문 수에 대한 추가 확인을 제거하고(주기 조건에 이미 존재함) 두 가지 유형의 포지션(구매 및 판매)에 대한 확인을 추가했습니다. //+------------------------------------------------------------------+ for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS )) { if ( OrderType ()> OP_SELL ) continue ; if ( OrderMagicNumber ()==magic && OrderSymbol ()==asset) { if ( TimeCurrent ()> OrderOpenTime () && TimeCurrent ()<= OrderOpenTime ()+ PeriodSeconds ( PERIOD_H1 )) { // УСЛОВИЕ ТРАЛА ТЭЙКПРОФИТА; // МОДИФИКАЦИЯ ОРДЕРА НА НОВЫЙ ТЭЙКПРОФИТ; } } } } //+------------------------------------------------------------------+ // 후행 및 수정 조건이 있는 곳에서 시간 변수의 값과 함께 Print()를 삽입하고 로그에 기록될 내용을 확인합니다. CELL의 경우 트레일 조건이 다르기 때문에 BUY만 표시했습니다. "시간 변수 값으로" - TimeCurrent()를 의미합니까? 이것이 당신을 놀라게 했다면 죄송합니다. 저는 프로그래밍에서 마이너스가 0입니다. 그리고 나는 이것을 이해하지 못했다 - OrderType ()> OP_SELL. 왜 >? 연산 유형 OP_SELL 의 값은 1이고 OP_BUY는 0입니다. 따라서 <= ? 고맙습니다. Artyom Trishkin 2016.12.10 13:33 #298 владимир : CELL의 경우 트레일 조건이 다르기 때문에 BUY만 표시했습니다. "시간 변수 값으로" - TimeCurrent()를 의미합니까? 이것이 당신을 놀라게 했다면 죄송합니다. 저는 프로그래밍에서 마이너스가 0입니다. 그리고 나는 이것을 이해하지 못했다 - OrderType ()> OP_SELL. 왜 >? 연산 유형 OP_SELL 의 값은 1이고 OP_BUY는 0입니다. 따라서 <= ? 고맙습니다. 유형이 1보다 크면 루프의 다음 반복으로 이동합니다. Andrei Sokolov 2016.12.10 17:28 #299 인사말. 왜 그런 기록을 가지고 있는지 말해줘 if (x!=maxpr1){x=maxpr1; 주문삭제(티켓D);} if (z!=minpr1){z=minpr1; 주문삭제(티켓업);} 항상 오류를 던진다 : OrderDelete 기능 에 대한 유효하지 않은 티켓 : 주문 삭제 오류 4051 설명서에 따르면 유효하지 않은 함수 매개변수 값 매개 변수가 동일한 것처럼 보이지만. 조건을 제거하고 그대로 두면 주문삭제(티켓D); 주문삭제(티켓업); 성공적으로 삭제됩니다(그러나 조건에 따라 필요함). 내가 무엇을 잘못하고 있지? Vitalie Postolache 2016.12.10 17:49 #300 spoiltboy : 인사말. 말해줘 제발 왜 그런 기록을 가지고 if (x!=maxpr1){x=maxpr1; 주문삭제(티켓D);} if (z!=minpr1){z=minpr1; 주문삭제(티켓업);} 항상 오류를 던진다 : OrderDelete 기능 에 대한 유효하지 않은 티켓 : 주문 삭제 오류 4051 설명서에 따르면 유효하지 않은 함수 매개변수 값 매개 변수가 동일한 것처럼 보이지만. 조건을 제거하고 그대로 두더라도 주문삭제(티켓D); 주문삭제(티켓업); 성공적으로 삭제됩니다(그러나 조건에 따라 필요함). 내가 무엇을 잘못하고 있지? 오류는 주문 선택 영역의 코드 어딘가에 있습니다. 1...232425262728293031323334353637...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
저는 그냥 배우는 중이고 참고서를 사용하려고 합니다. 하지만 일종의 말도 안 되는 것으로 판명된다는 것을 이해합니다. 어떻게 하는지 예시를 보고 싶습니다.
모두 좋은 하루! 어드바이저에 주문 삭제 넣는 방법을 알려주세요.
상황은 이렇습니다.
우리는 다른 방향으로 2개의 보류 중인 주문 을 배치합니다. 그 중 하나가 실행되는 즉시 다른 하나는 삭제되고 더 이상 배치되지 않습니다.
도움을 주시면 대단히 감사하겠습니다.
고맙습니다.
그런 것
{
if ( OrderSelect (pos, SELECT_BY_POS , MODE_TRADES ) && OrderType ()> 1 ) //Если найденный ордер отложенный
{
ticket= OrderTicket (); //Запомним его тикет
}
else //Если ордер не отложенный
{
trade= 1 ; //Запомним,что есть открытая позиция
}
if (ticket!= 0 && trade== 1 ) //И если известен отложенный и открыта позиция
{
int OD= OrderDelete (ticket); //Удаляем отложенный
}
}
"계속 봅시다" - 제거해야 합니다!
포럼에서 게시물을 직접 수정할 수 있습니다. 위의 별도 게시물에 작성하신 모든 내용을 하나로 통합할 수 있습니다.
안녕하세요! 다음 알고리즘에 따라 이익실현 추적을 도입했습니다.
if(총>0)
{for (int i=OrdersTotal()-1; i>=0; i--)
if( 주문선택(i, SELECT_BY_POS )==true)
{
if(OrderMagicNumber()==매직 && OrderSymbol()==자산 && OrderType()==OP_BUY)
{
새로 고침();
if(TimeCurrent()>OrderOpenTime() && TimeCurrent()<=(OrderOpenTime()+3600))
{
TAKEPROFIT 트레일 조건;
새로운 이익 실현을 위한 주문 수정,
}
}
}
}
그러나 어떤 이유로 시간 제한이 작동하지 않고 현재 시간 프레임에서 포지션이 닫히지 않으면 조건이 충족된다면 다음 시간 프레임에서 추적됩니다.
내 마지막 if()에 무슨 문제가 있습니까?
안녕하세요! 다음 알고리즘에 따라 이익실현 추적을 도입했습니다.
if(총>0)
{for (int i=OrdersTotal()-1; i>=0; i--)
if(OrderSelect(i,SELECT_BY_POS)==true)
{
if(OrderMagicNumber()==매직 && OrderSymbol()==자산 && OrderType()==OP_BUY)
{
새로 고침();
if(TimeCurrent()>OrderOpenTime() && TimeCurrent()<=(OrderOpenTime()+3600))
{
TAKEPROFIT 트레일 조건;
새로운 이익 실현을 위한 주문 수정,
}
}
}
}
그러나 어떤 이유로 시간 제한이 작동하지 않고 현재 시간 프레임에서 포지션이 닫히지 않으면 조건이 충족된다면 다음 시간 프레임에서 추적됩니다.
내 마지막 if()에 무슨 문제가 있습니까?
글쎄, 나는 지금 거기에서 무엇이 잘못되었는지 알지 못한다. 주문 수에 대한 추가 확인을 제거하고(주기 조건에 이미 존재함) 두 가지 유형의 포지션(구매 및 판매)에 대한 확인을 추가했습니다.
for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) {
if ( OrderSelect (i, SELECT_BY_POS )) {
if ( OrderType ()> OP_SELL ) continue ;
if ( OrderMagicNumber ()==magic && OrderSymbol ()==asset) {
if ( TimeCurrent ()> OrderOpenTime () && TimeCurrent ()<= OrderOpenTime ()+ PeriodSeconds ( PERIOD_H1 )) {
// УСЛОВИЕ ТРАЛА ТЭЙКПРОФИТА;
// МОДИФИКАЦИЯ ОРДЕРА НА НОВЫЙ ТЭЙКПРОФИТ;
}
}
}
}
//+------------------------------------------------------------------+
// 후행 및 수정 조건이 있는 곳에서 시간 변수의 값과 함께 Print()를 삽입하고 로그에 기록될 내용을 확인합니다.
글쎄, 나는 아직 거기에 무엇이 잘못되었는지 알 수 없다. 주문 수에 대한 추가 확인을 제거하고(주기 조건에 이미 존재함) 두 가지 유형의 포지션(구매 및 판매)에 대한 확인을 추가했습니다.
for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) {
if ( OrderSelect (i, SELECT_BY_POS )) {
if ( OrderType ()> OP_SELL ) continue ;
if ( OrderMagicNumber ()==magic && OrderSymbol ()==asset) {
if ( TimeCurrent ()> OrderOpenTime () && TimeCurrent ()<= OrderOpenTime ()+ PeriodSeconds ( PERIOD_H1 )) {
// УСЛОВИЕ ТРАЛА ТЭЙКПРОФИТА;
// МОДИФИКАЦИЯ ОРДЕРА НА НОВЫЙ ТЭЙКПРОФИТ;
}
}
}
}
//+------------------------------------------------------------------+
// 후행 및 수정 조건이 있는 곳에서 시간 변수의 값과 함께 Print()를 삽입하고 로그에 기록될 내용을 확인합니다.
CELL의 경우 트레일 조건이 다르기 때문에 BUY만 표시했습니다.
"시간 변수 값으로" - TimeCurrent()를 의미합니까? 이것이 당신을 놀라게 했다면 죄송합니다. 저는 프로그래밍에서 마이너스가 0입니다.
그리고 나는 이것을 이해하지 못했다 - OrderType ()> OP_SELL. 왜 >? 연산 유형 OP_SELL 의 값은 1이고 OP_BUY는 0입니다. 따라서 <= ? 고맙습니다.
CELL의 경우 트레일 조건이 다르기 때문에 BUY만 표시했습니다.
"시간 변수 값으로" - TimeCurrent()를 의미합니까? 이것이 당신을 놀라게 했다면 죄송합니다. 저는 프로그래밍에서 마이너스가 0입니다.
그리고 나는 이것을 이해하지 못했다 - OrderType ()> OP_SELL. 왜 >? 연산 유형 OP_SELL 의 값은 1이고 OP_BUY는 0입니다. 따라서 <= ? 고맙습니다.
인사말. 왜 그런 기록을 가지고 있는지 말해줘
if (x!=maxpr1){x=maxpr1; 주문삭제(티켓D);}
if (z!=minpr1){z=minpr1; 주문삭제(티켓업);}
항상 오류를 던진다
: OrderDelete 기능 에 대한 유효하지 않은 티켓
: 주문 삭제 오류 4051
설명서에 따르면
유효하지 않은 함수 매개변수 값
매개 변수가 동일한 것처럼 보이지만.
조건을 제거하고 그대로 두면
주문삭제(티켓D);
주문삭제(티켓업);
성공적으로 삭제됩니다(그러나 조건에 따라 필요함). 내가 무엇을 잘못하고 있지?
인사말. 말해줘 제발 왜 그런 기록을 가지고
if (x!=maxpr1){x=maxpr1; 주문삭제(티켓D);}
if (z!=minpr1){z=minpr1; 주문삭제(티켓업);}
항상 오류를 던진다
: OrderDelete 기능 에 대한 유효하지 않은 티켓
: 주문 삭제 오류 4051
설명서에 따르면
유효하지 않은 함수 매개변수 값
매개 변수가 동일한 것처럼 보이지만.
조건을 제거하고 그대로 두더라도
주문삭제(티켓D);
주문삭제(티켓업);
성공적으로 삭제됩니다(그러나 조건에 따라 필요함). 내가 무엇을 잘못하고 있지?