초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 20

 
Vitalie Postolache :
다시. 주문으로 작업할 때 OrderSelect가 첫 번째 위치에 있어야 합니다. 그런 다음 다른 모든 것.
답변 감사합니다... if( OrderSelect (i=0;i<accTotal;i++) ==true) 행이 잘못 작성되었거나 코드의 잘못된 위치에 작성되었다는 말씀이신가요? ...
 
bablusut :
답변 감사합니다... if(OrderSelect (i=0;i<accTotal;i++) ==true) 행이 잘못 작성되었거나 코드의 잘못된 위치에 작성되었다는 말씀이신가요? ...
세부 사항을 추가했습니다.
 

Renat Akhtyamov :
по ссылке пройдите, она у Вас в посте выделена.

이미 보았다. 거기에는 필요한 정보가 없습니다. 빈 버퍼 10 및 숫자 값 및 신호가 있는 경우 - 가격의 값... 그리고 mql4 코드에 표시된 버퍼의 값의 부재 또는 존재 방법 ? (한번 이상 사용했는데 깜빡했네요...)

if( iCustom(NULL,t,"T...c",1,b) != .......).....

 

atik441 : уже смотрел. нет там нужной информации .в пустом буфере 10и значное значение  а при наличии сигнала - значение цены... и как в коде mql4 обозначается отсутствие или наличие значения в буфере ? (пользовался не раз ,да забыл ...)  

if( iCustom(NULL,t,"T...c",1,b) != EMPTY_VALUE ).....
 
Vitalie Postolache :
if( iCustom(NULL,t,"T...c",1,b) != EMPTY_VALUE ).....In ! 무엇을 해야 할까요 ... 알림 주셔서 감사합니다!
 

이해하도록 도와주세요. 두 개의 서로 다른 지시가 있는 경우 주문을 순차적으로 실행할 수 있습니까?

공개 거래, 우선 모든 거래의 TP가 트리거 된 다음 SL 만 트리거되지만 SL 수준을 거래하는 과정에서

거래가 먼저 완료되었습니까?

 
ganri :

이해하도록 도와주세요. 두 개의 서로 다른 지시가 있는 경우 주문을 순차적으로 실행할 수 있습니까?

공개 거래, 우선 모든 거래의 TP가 트리거 된 다음 SL 만 트리거되지만 SL 수준을 거래하는 과정에서

거래가 먼저 완료되었습니까?

요청/입찰 분석
 
Vitalie Postolache :

다시. 주문으로 작업할 때 첫 번째 위치는 OrderSelect여야 합니다. 그런 다음 다른 모든 것.

주문을 통해 정렬하는 주기로 작업하는 경우 절차는 다음과 같습니다.

1. 확인(OrderSelect())

2. 이것이 주문인지 확인하는 경우 일반적으로 기호와 마법을 확인한 다음 필요한 경우 유형을 확인합니다. if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2) - 이 시장 기호만 현재 상품에 지정된 마법으로 처리된 주문인 경우

3. OrderComment(), OrderProfit() 등과 같은 기타 데이터 처리

다음과 같이 보일 것입니다.

for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--) //перебираем историю торгов
{
       if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) //если ордер выбран то работаем дальше, иначе смысла нет
      {
         if ( OrderSymbol ()== _Symbol && OrderMagicNumber ()==Magic && OrderType ()< 2 ) //Если ордер тот, что нам нужен (эту проверку можно и опустить, если нужно обработать все ордера в истории)
         {
             if ( StringFind ( OrderComment (), "[tp]" , 0 )>- 1 ) //если найден признак закрытия профитом
             Print ( "Order #" , OrderTicket (), " profit: " , OrderTakeProfit ());
             if ( StringFind ( OrderComment (), "[sl]" , 0 )>- 1 ) //если найден признак закрытия стоплосс
             Print ( "Order #" , OrderTicket (), " loss: "OrderTakeProfit ());
         }
      }
}

답변 감사합니다... 그래서 거래 내역의 주문을 반복하기 위해 OrdersHistoryTotal 함수를 사용합니다. 이 함수는 필요하지 않은 모든 것을 버린 후 다음과 같이 나타납니다.

for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--) // - 여기서 질문은 우리가 떨어뜨린 함수 템플릿에서 " acTotal"이 무엇을 의미 합니까? 그리고 왜 "나--"를 취했습니까? 템플릿에서와 같이 " i++" 가 아니라?
- 두 번째 함수 OrderComment 는 이전 함수 OrdersHistoryTotal 에 의해 선택된 경우 선택한 주문의 주석을 반환합니다. 형식은 다음과 같습니다.

if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) //- 여기서 " i " 이전 함수 " i>= 0 "이고 " SELECT_BY_TICKET"은 " SELECT_BY_POS "로 대체되고 " MODE_HISTOR Y " 가 추가되었습니다 . - 왜 그럴까요?

- 세 번째 줄은 정의이며, 이 기록에서는 TP에 의해 마감된 시장 주문만 있기 때문에 필요한 주문의 검증은 원칙적으로 필요하지 않습니다. 및 SL.(닫힌 보류 주문이 있을 수 있지만 드물게 발생함), 다른 모든 주문 매개변수는 중요하지 않습니다. 또 다른 것이 중요합니다. 기록에서 마감된 주문의 수가 지속적으로 증가할 것입니다. 다시 계산할 때 모든 마감된 주문이 선택되지 않고 마지막 주문의 특정 수(예: 5 - 10)가 취해지도록 할 수 있습니까?

- 마지막 네 줄은 일반적으로 이해할 수 있습니다. 유일한 질문은 PlaySound 함수이며, 코드는 각 줄 뒤에 삽입해야 합니다. " Print ( "..." 이 형식:  

bool 플레이사운드(

문자열 지불 // 파일 이름

);

... 아니면 어떻게 든 변형 된 것입니까?

 
bablusut :

루프, 구성 및 작동 방식에 대해 읽고 일반적으로 초보자를 위한 C++ 튜토리얼은 공부하는 것이 좋습니다. C++는 MQL과 매우 유사하며 차이점은 거래 기능에만 있습니다.

또한 MQL 자습서 및 컴파일러 도움말, 포럼의 기사를 읽으십시오. 파란색 배경의 창 상단 가장자리에 있습니다. 글쎄, 포럼에서 전체 과정을 다시 말하고 설명하는 것은 불가능합니다.

Учебник по MQL4
Учебник по MQL4
  • book.mql4.com
Учебник по MQL4
 
Vitalie Postolache :

주기, 구성 방법 및 작동 방식에 대해 읽고 일반적으로 초보자를 위한 C++ 자습서는 공부하는 것이 좋습니다. C++는 MQL과 매우 유사하며 차이점은 거래 기능에만 있습니다.

또한 MQL 자습서 및 컴파일러 도움말, 포럼의 기사를 읽으십시오. 파란색 배경의 창 상단 가장자리에 있습니다. 글쎄, 포럼에서 전체 과정을 다시 말하고 설명하는 것은 불가능합니다.

도움을 주신 Vitalie Postolache 에게 감사드립니다. 조언에 감사드립니다. 60대에 이 교과서에 대한 정보를 공부하기에는 너무 늦었습니다. 아마 그렇게 많이 당기지 않을 것입니다. 더 일찍 해야 했지만, 시간 없다. 여기 있는 너한테 꽤 지쳤어, 미안하지만, 더 이상은 안 할게. 그냥 이대로 갈게.