MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 103

 
trader781 :
전체 파일 업로드
알렉세이 빅토로프 :
1. 주문을 열 때 티켓을 전역 또는 정적 변수에 쓴 다음 파란색 이 될 때까지 이 주문을 모니터링합니다. 주문이 마감되었습니다.

2. GOTO 문을 바꾸는 것이 훨씬 더 효율적입니다. 기능에 대한 설명서를 읽으십시오.

몇 가지 예를 들어 보여줄 수 있습니까? 이전 거래가 종료될 때까지 어떻게 기다릴 수 있습니까?

double Lot = 0.1 ;      

double loss = 100 ;  



int start()

  {

   int order;

     if ( OrdersTotal ()== 0 )                            

    {                  

      order = OrderSend ( Symbol (), OP_BUY ,Lot, Ask , 1 * Point , Ask -loss* Point , Ask +loss* Point );   // Вверх

      order = OrderSend ( Symbol (), OP_SELL ,Lot, Bid , 1 * Point , Bid +loss* Point , Bid -loss* Point );     // Вниз

    }



   return ( 0 );

  }

//+------------------------------------------------------------------+

 
DenZell :

몇 가지 예를 들어 보여줄 수 있습니까? 이전 거래가 종료될 때까지 어떻게 기다릴 수 있습니까?

double Lot = 0.1 ;      

double loss = 100 ;  



int start()

  {

   int order;

     if ( OrdersTotal ()== 0 )                            

    {                  

      order = OrderSend ( Symbol (), OP_BUY ,Lot, Ask , 1 * Point , Ask -loss* Point , Ask +loss* Point );   // Вверх

      order = OrderSend ( Symbol (), OP_SELL ,Lot, Bid , 1 * Point , Bid +loss* Point , Bid -loss* Point );     // Вниз

    }



   return ( 0 );

  }

//+------------------------------------------------------------------+

몇 가지 옵션이 있습니다.

가장 간단한 것은 일련의 작업입니다. 먼저, 이미 열려 있는 주문으로 무언가를 하려고 시도한 다음, 열려 있는 주문이 없는 경우 이를 배치하려고 합니다.

별도의 위치 유지 관리 및 새 주문을 두 개의 개별 사용자 지정 기능으로 엽니다. 그런 다음 OnTick() 함수에서 미결 주문이 있는지 확인하고 결과에 따라 하나 또는 다른 함수를 호출합니다.

말로 표현하면 다음과 같습니다.

void OnTick ()
{
if ( OrdersTotal () > 0 )
  открытие();
else
  сопровождение();
}

bool открытие()
{
// здесь код открытия
}

bool сопровождение()
{
// здесь код сопровождения
}
음, 훨씬 더 어려운 것은 OrderCloseTime() > 0에 대한 특정 주문을 확인하는 것입니다.

계정이 다른 고문의 작업을 제공하거나 수동으로 주문을 여는 경우가 대부분입니다.
 
터미널에서 계정 기록의 시작 날짜를 프로그래밍 방식으로 선택할 수 있습니까?
 
Money_Maker :
터미널에서 계정 기록의 시작 날짜를 프로그래밍 방식으로 선택할 수 있습니까?
할 수 있다. 이것은 유형 6 - 균형 작동으로 역사상 최초의 주문이 될 것입니다. 이 주문 의 시작 시간은 계정 기록의 시작입니다.
 
Artyom Trishkin :
할 수 있다. 이것은 유형 6 - 균형 작동으로 역사상 최초의 주문이 될 것입니다.
나는 역사의 첫 번째 순서가 필요하지 않습니다 .. 역사가 최대로 열리고 특정 날짜의 기록이 필요합니다 .. 프로그래밍 방식으로 설정할 것입니다 (분명히 질문이 세부 사항으로 인해 간소화 된 것으로 판명 됨)
 
Money_Maker :
나는 역사의 첫 번째 순서가 필요하지 않습니다 .. 역사가 최대로 열리고 특정 날짜의 기록이 필요합니다 .. 프로그래밍 방식으로 설정할 것입니다 (분명히 질문이 세부 사항으로 인해 간소화 된 것으로 판명 됨)
답변도 가능합니다.

그러나 여전히 질문이 "간소화"되어 있으므로 주문을 건너뛸 필요가 있다고 말씀드리고 싶습니다 . 시작 시간은 바로 이 "특정 날짜"보다 빠릅니다.
 
Artyom Trishkin :
답변도 가능합니다.

그러나 여전히 질문이 "간소화"되어 있으므로 주문을 건너뛸 필요가 있다고 말씀드리고 싶습니다 . 시작 시간은 바로 이 "특정 날짜"보다 빠릅니다.
물론 날짜순으로 필터를 하자면 정말 생각지도 못한 일이지만.. 7년동안 많은 주문을 받았습니다.
스크린샷에서 질문에 빨간색 밑줄이 그어져 있습니다. 거기에 특정 날짜를 삽입해야 합니다. 그래서 질문이 간소화되지 않습니까?
 
Money_Maker :
물론 날짜순으로 필터를 하자면 정말 생각지도 못한 일이지만.. 7년동안 많은 주문을 받았습니다.
스크린샷에서 질문에 빨간색 밑줄이 그어져 있습니다. 거기에 특정 날짜를 삽입해야 합니다. 그래서 질문이 간소화되지 않습니까?
귀하의 질문이 명확하지 않습니다 :(

프로그래밍 방식으로 정확히 무엇을 하시겠습니까?
 
Artyom Trishkin :
귀하의 질문이 명확하지 않습니다 :(

프로그래밍 방식으로 정확히 무엇을 하시겠습니까?
빨간색 밑줄이 그어진 곳에 날짜를 입력하고 실제로 확인을 누릅니다 .. 보고서의 기록 깊이를 결정합니다.
 
Money_Maker :
빨간색 밑줄이 그어진 곳에 날짜를 입력하고 실제로 확인을 누릅니다 .. 보고서의 기록 깊이를 결정합니다.
순수 mql에서는 프로그래밍 방식으로 불가능합니다. WinAPI를 통해 이 창과 날짜를 찾아야 한다고 생각합니다.