초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 879

 
lil_lil :

고맙습니다.

지금 무슨 일이야?

나는 HistorySelectByPosition으로 시작하도록 제안했고 당신은 그것을 if...

네팅 계정당 기호당 하나의 위치만 있을 수 있습니다. 우리는 포지션 ID를 얻었고, 이 포지션의 형성과 관련된 거래 목록을 얻었고, 거래의 방향 과 주문 유형에 따라 그것들을 계산했습니다.

 
Alexey Kozitsyn :

Artyom, 질문을 반복합니다. 답변해 주십시오.


질문을 보지 못했습니다 :)

솔직히 - 기억이 안 나지만 제 생각에는 MT5에서 작동하지 않나요?

그러나 결국 테스터에 지연을 넣었습니다 ... 그리고 마우스로 작업했습니다. 내가 이미 속았고 실제 차트에서 마우스로 작업했으며 테스터에서는 버튼으로 어리석게 작업했습니다 ...

추측할 수 없습니다. 6개월 전에 전체 라이브러리를 나사로 분해했는데 빨리 확인할 수 없습니다. 네, 재창조를 위해 가을로 미루었습니다. 따라서 테스터에서 OnChartEvent() 이벤트 모델의 작동을 확인하는 것이 더 빠릅니다. 하지만 아직 그럴 시간이 없어요 - 죄송합니다 :)

 
Artyom Trishkin :

질문을 보지 못했습니다 :)

솔직히 - 기억이 안 나지만 제 생각에는 MT5에서 작동하지 않나요?

그러나 결국 테스터에 지연을 넣었습니다 ... 그리고 마우스로 작업했습니다. 내가 이미 속았고 실제 차트에서 마우스로 작업했으며 테스터에서는 버튼으로 어리석게 작업했습니다 ...

추측할 수 없습니다. 6개월 전에 전체 라이브러리를 나사로 분해했는데 빨리 확인할 수 없습니다. 네, 재창조를 위해 가을로 미루었습니다. 따라서 테스터에서 OnChartEvent() 이벤트 모델의 동작을 확인하는 것이 더 빠릅니다. 하지만 아직 그럴 시간이 없어요 - 죄송합니다 :)

전체 인증 코드가 있습니다.

 switch ( id )
{
default :
   Print ( __FUNCTION__ , ": id = " + EnumToString ( ( ENUM_CHART_EVENT )id ) );
}

불행히도 테스터에는 반응이 없습니다. OnChartEvent() 함수 에서 . 전문가에게 전화하세요.

 
Alexey Kozitsyn :

전체 인증 코드가 있습니다.

불행히도 테스터에는 반응이 없습니다. OnChartEvent() 함수 에서 .

CHART_EVENT_MOUSE_MOVE=true가 설정되어 있습니까?
 
Alexey Viktorov :

나는 HistorySelectByPosition으로 시작하도록 제안했고 당신은 그것을 if...

네팅 계정당 기호당 하나의 위치만 있을 수 있습니다. 우리는 포지션 ID를 얻었고, 이 포지션의 형성과 관련된 거래 목록을 얻었고, 거래의 방향 과 주문 유형에 따라 그것들을 계산했습니다.

상계와 헤징을 위한 보편적인 계산 기능을 만들고 싶어서 넣은 건가요, 아니면 불가능한 건가요?

 
Artyom Trishkin :
CHART_EVENT_MOUSE_MOVE=true가 설정되어 있습니까?

아니요, 하지만 이것이 문제를 해결할 가능성은 낮습니다. 및 ctrl, shift 및 기타 키를 눌렀습니다 ... 반응이 없었습니다.

 
lil_lil :

상계와 헤징을 위한 보편적인 계산 기능을 만들고 싶어서 넣은 건가요, 아니면 불가능한 건가요?

아마도. 그러나 접근 방식은 다르며 먼저 올바르게 계획해야하며 모든 것을 한 줄에 한 코드에 붓지 않아야합니다 ...

 
Alexey Kozitsyn :

아니요, 하지만 이것은 문제를 해결할 가능성이 낮습니다. 및 ctrl, shift 및 기타 키를 눌렀습니다 ... 반응이 없었습니다.

일반적으로 지금은 실험할 시간이 없습니다. 내 일은 아직 보류 중입니다.

어쩌면 나는 정말로 잊었다. 하지만 테스터에 지연을 넣었습니다. 같은 버튼일 가능성이 큽니다. 그리고 내가 마우스로 무엇을 넣었는지 - 나도 압니다. 하지만 라이브 차트에서는...

 
Artyom Trishkin :

아마도. 그러나 접근 방식은 다르며 먼저 올바르게 계획해야하며 모든 것을 한 줄에 한 코드에 붓지 않아야합니다 ...

그래서 일단은 따로 하겠습니다.

내가 놓친 게 무엇입니까?

 int GetNum( const string aSymbol)
  {
   int     count= 0 ;
   if ( PositionSelect (aSymbol))
     {
       long pos_id= long ( PositionGetInteger ( POSITION_IDENTIFIER ));

       if (pos_id> 0 )
        {
         if ( HistorySelectByPosition ( ulong (pos_id)))
           {
             int deals= HistoryDealsTotal ();

             for ( int i= 0 ; i<deals; i++)
              {
               ulong deal_ticket= HistoryDealGetTicket (i);
               ulong order_ticket= ulong ( HistoryDealGetInteger (deal_ticket, DEAL_ORDER ));

               if (order_ticket> 0 )
                 {
                   long deal_entry= long ( HistoryDealGetInteger (deal_ticket, DEAL_ENTRY ));

                   if (deal_entry== DEAL_ENTRY_IN )
                    {
                     if (m_position.PositionType()== POSITION_TYPE_SELL )
                       {
                        count++;
                       }
                    }
                 }
              }
             if ( count > 0 ) return (count);
           }
         else
           {
             Print ( "Не возможно получить историю позиции по символу " ,aSymbol);
           }
        }
       else
        {
         Print ( "Не возможно определить идентификатор позиции по символу " ,aSymbol);
        }
     }
   return ( 0 );
  }
////////////
 
먼저 그는 올바르게 계산한 다음 5개의 제한 판매가 활성화되면 댓글 6에 씁니다. 여섯 번째는 어디에서 왔습니까?
사유: