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

 
Alexey Kozitsyn :
해보자 어떻게 해야 하는지에 대한 설명과 함께 주문을 반복하는 코드를 보여주어야만 무엇이 옳고 그른지 말할 수 있습니다. 함수의 이름만으로는 결과에 더 가까워지지 않습니다.

안녕하세요 ... 도움을 주셔서 감사합니다 ... 적절한 폴더에 필요한 이벤트를 추가하는 것만으로도 주문 마감을 알리는 작은 일이 될 것 같습니다. 그렇게 간단하지 않은 것으로 나타났습니다. .. 다음은 MQL4 참조 에서 가져온 코드의 예입니다.    거래 기능 :

int OrdersHistoryTotal ();

// 거래 내역에서 정보 검색
   int i,accTotal= OrdersHistoryTotal ();
   ( i=0;i<accTotal;i++)
{
      //---- 선택 결과 확인
      if ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)== false )
{
         Print ( "기록 데이터베이스에 액세스하는 동안 오류가 발생했습니다(" , GetLastError (), ")" );
         휴식 ;
}
      // 주문으로 작업 ...

}

... 이 함수는 클라이언트 터미널에 로드된 현재 계정 내역에서 마감 및 삭제된 주문 수를 반환합니다. 내역 목록의 크기는 터미널의 "계정 내역" 탭의 현재 설정에 따라 다릅니다.

그녀가 그것들을 어떻게 분류할 것인지, 그리고 이것이 왜 필요한지, 이해가 되지 않습니다... 아마도 방해하지 않기 위해 기억하고 버리기 위한 것 외에는?

새로 마감된 주문이 마감되는 순간에 짧은 음성 신호로 음성을 전달해야 합니다. 내 클라이언트 터미널의 모든 마감된 주문은 TrailStopLossTakeProfit 평균 가지 유형만 있습니다 . 오더(오더 그룹)를 체결할 때 방향( 매도 또는 매수 )에 상관없이 StopLoss 를 청산하는 명령 유형으로만 구분하면 됩니다.   또는 이익을 취하십시오,   적절한 PlaySound 함수에 전달합니다.

Справочник MQL4
Справочник MQL4
  • docs.mql4.com
Справочник MQL4
 
bablusut :

안녕하세요 ... 도움을 주셔서 감사합니다 ... 적절한 폴더에 필요한 이벤트를 추가하는 것만으로도 주문 마감을 알리는 작은 일이 될 것 같습니다. 그렇게 간단하지 않은 것으로 나타났습니다. .. 다음은 MQL4 참조 에서 가져온 코드의 예입니다.    거래 기능 :

int OrdersHistoryTotal ();

// 거래 내역에서 정보 검색
   int i,accTotal= OrdersHistoryTotal ();
   ( i=0;i<accTotal;i++)
{
      //---- 선택 결과 확인
      if ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)== false )
{
         Print ( "기록 데이터베이스에 액세스하는 동안 오류가 발생했습니다(" , GetLastError (), ")" );
         휴식 ;
}
      // 주문으로 작업 ...

}

... 이 함수는 클라이언트 터미널에 로드된 현재 계정 내역에서 마감 및 삭제된 주문 수를 반환합니다. 내역 목록의 크기는 터미널의 "계정 내역" 탭의 현재 설정에 따라 다릅니다.

그녀가 그것들을 어떻게 분류할 것인지, 그리고 이것이 왜 필요한지, 이해가 되지 않습니다... 아마도 방해하지 않기 위해 기억하고 버리기 위한 것 외에는?

새로 마감된 주문이 마감되는 순간에 짧은 음성 신호로 음성을 전달해야 합니다. 내 클라이언트 터미널의 모든 마감된 주문은 TrailStopLossTakeProfit 평균 가지 유형만 있습니다 . 주문(주문 그룹)을 마감할 때 방향( Sell or Buy )에 상관없이 StopLoss 닫으 려면 명령 유형으로만 구분하면 됩니다.   또는 이익을 취하십시오,   적절한 PlaySound 함수에 전달합니다.

순서를 역순으로 정렬해야 하기 때문입니다. 0이 맨 처음입니다. accTotal-1이 마지막입니다. 이 코드에서 "// working with the order" 뒤의 주석을 기억하고 SL 또는 TP의 닫기 주석이 포함되어 있는지 확인하십시오.
 
Alexey Kozitsyn :
순서를 역순으로 정렬해야 하기 때문에 0이 맨 처음입니다. accTotal-1이 마지막입니다. 이 코드에서 "// working with the order" 뒤의 주석을 기억하고 SL 또는 TP의 닫기 주석이 포함되어 있는지 확인하십시오.

int OrdersHistoryTotal ();

// 거래 내역에서 정보 검색
   int i,accTotal= OrdersHistoryTotal ();
   ( i=0;i<accTotal;i++)
{
      //---- 선택 결과 확인
      if ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)== false )
{
         Print ( "기록 데이터베이스에 액세스하는 동안 오류가 발생했습니다(" , GetLastError (), ")" );
         휴식 ;
}
      // 주문으로 작업 ...

}

문자열 주문 주석 ( );

  코멘트 ;
   if ( OrderSelect (10,SELECT_BY_TICKET)== false )
{
      Print ( "OrderSelect()가 오류를 반환했습니다. - " , GetLastError ());
      리턴 (0);
}
   주석 = 주문 주석 ();

   // ...

답변 감사합니다... OrderComment 기능 코드를 추가한 후( MQL4 참조    OrdersHistoryTotal 함수에 의해 선택된 주문의 주석을 반환하는 거래 함수 , 일반 코드는 다음과 같은 형식을 취합니다... 터미널 히스토리에 새로운 마감 주문을 추적하는 함수가 없나요? ... " 0 - 맨 처음. accTotal-1 - 마지막" - 터미널의 역사에서 "첫 번째 닫힘"과 "마지막"을 의미합니다. 시간이 지났습니까? ... 제대로 이해 했습니까?


Справочник MQL4
Справочник MQL4
  • docs.mql4.com
Справочник MQL4
 
bablusut :

터미널 히스토리에 새로운 마감 주문을 추적하는 기능이 없나요?

표준어는 없습니다.

   int i,accTotal= OrdersHistoryTotal ();
   string comment;
   for (i=accTotal- 1 ;i>= 0 ;i++)
    {
     //---- check selection result
     if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )== false )
       {
         Print ( "Ошибка при доступе к исторической базе (" , GetLastError (), ")" );
         break ;
       }
     // работа с ордером ...
     comment = OrderComment ();
     // Проверяем, есть ли в комментарии признак закрытия ордера по ТП или СЛ
    }
한 문자열이 다른 문자열에 있는지 확인하려면 문자열 작업 기능을 사용하십시오.
 
Alexey Kozitsyn :

표준어는 없습니다.

   int i,accTotal= OrdersHistoryTotal ();
   string comment;
   for (i=accTotal- 1 ;i>= 0 ;i++)
    {
     //---- check selection result
     if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )== false )
       {
         Print ( "Ошибка при доступе к исторической базе (" , GetLastError (), ")" );
         break ;
       }
     // работа с ордером ...
     comment = OrderComment ();
     // Проверяем, есть ли в комментарии признак закрытия ордера по ТП или СЛ
    }
한 문자열이 다른 문자열에 있는지 확인하려면 문자열 작업 기능을 사용하십시오.

감사합니다... StringFind = 문자열에서 부분 문자열 검색 기능을 의미합니다.

정수 문자열 찾기(
string string_value, // 찾고자 하는 문자열
string match_substring, // 우리가 찾고 있는 것
int start_pos=0 // 검색을 시작할 위치

);

옵션
문자열 값
【인】 검색할 문자열입니다.
match_substring
【인】 검색된 하위 문자열입니다.
start_pos=0
【인】 검색을 시작해야 하는 문자열의 위치입니다.
반환 값

검색된 하위 문자열이 시작되는 문자열의 위치 번호를 반환하거나 하위 문자열을 찾을 수 없는 경우 -1을 반환합니다.

... 또는 StringCompare 함수 - 두 문자열을 비교 합니까?...


StringCompare - Строковые функции - Справочник MQL4
StringCompare - Строковые функции - Справочник MQL4
  • docs.mql4.com
StringCompare - Строковые функции - Справочник MQL4
 
bablusut :

감사합니다... StringFind = 문자열에서 부분 문자열 검색 기능을 의미합니다.

정수 문자열 찾기(
string string_value, // 찾고자 하는 문자열
string match_substring, // 무엇을 찾고 있습니까?
int start_pos=0 // 검색을 시작할 위치

);

옵션
문자열 값
【인】 검색할 문자열입니다.
match_substring
【인】 검색된 하위 문자열입니다.
start_pos=0
【인】 검색을 시작해야 하는 문자열의 위치입니다.
반환 값

검색된 하위 문자열이 시작되는 문자열의 위치 번호를 반환하거나 하위 문자열을 찾을 수 없는 경우 -1을 반환합니다.

...


권리.
 
Alexey Kozitsyn :
권리.

감사합니다... 코드는 다음과 같습니다.

  int  i,accTotal= OrdersHistoryTotal ();
   string  comment;
   for (i=accTotal- 1 ;i>= 0 ;i++)
    {
      //---- check selection result
      if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )== false )
       {
         Print ( "Ошибка при доступе к исторической базе (" , GetLastError (), ")" );
         break ;
       }
      // работа с ордером ...
     comment =  OrderComment ();
      // Проверяем, есть ли в комментарии признак закрытия ордера по ТП или СЛ
    }

int   StringFind (
    string    string_value ,         // строка, в которой ищем
    string    match_substring ,     //  что ищем
    int       start_pos=0            // с какой позиции начинать поиск

   );  



 

 
bablusut :

감사합니다... 코드는 다음과 같습니다.

  int  i,accTotal= OrdersHistoryTotal ();
   string  comment;
   for (i=accTotal- 1 ;i>= 0 ;i++)
    {
      //---- check selection result
      if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )== false )
       {
         Print ( "Ошибка при доступе к исторической базе (" , GetLastError (), ")" );
         break ;
       }
      // работа с ордером ...
     comment =  OrderComment ();
      // Проверяем, есть ли в комментарии признак закрытия ордера по ТП или СЛ
    }

int   StringFind (
    string    string_value ,         // строка, в которой ищем
    string    match_substring ,     //  что ищем
    int       start_pos=0            // с какой позиции начинать поиск

   );  



 

아니요. 당신이하고있는 일을 이해하려고 노력하십시오. 당신이 작성한 것은 단지 함수 프로토타입 (즉, 설명, 기능)일 뿐입니다. 저것들. 방금 문서에서 일부를 찢었습니다. 당신은 그것을 사용할 필요가 있습니다. 저것들. 인수를 자신의 값으로 대체하십시오. 그리고 이 함수는 결과를 반환합니다. 또한 이 결과를 처리해야 합니다.
 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

초보자의 질문

에이원엑스핏 , 2016.11.30 22:14

Prompt OrderSelect SELECT_BY_POS로 마지막 주문과 첫 주문 중 0번째 주문은 무엇입니까? 때로는 그 반대도 시도하고 수정 #0 오류가 충돌합니다.

 
Vladimir Karputov :

코드를 보자