개발자! 당신은 당신이 만드는 것을 전혀 테스트합니까? - 페이지 9

 
Mikalas :

P-4 제 생각에는 운영 정보를 얻는 것이 훨씬 더 중요합니다.

더 흥미로운 역사. 도구에 대해 두 가지 사항을 알아야 합니다.

1. 주문

2. 위치

그리고 거래를 분석하는 것이 훨씬 더 중요한 것 같습니다. 왜냐하면. 그들은 가장 낮은 수준에 있으며 주문과 위치를 찾을 수 있지만 그 반대는 사실이 아닙니다. 글쎄, 신이 그들과 함께.

OnInit()는 프로그램의 시작 부분에서 한 번 실행되며, 내부에 필요한 검사 블록이 꿰매어집니다. 그러나 검사 블록은 하나만 있어야 합니다. 어드바이저의 상태를 현재 상황과 동기화합니다. 그리고 새로운 데이터가 초기화 시점 의 주문 내역, 실행 시점의 내역 또는 OnTradeTransaction 이벤트 중 어느 쪽에서 왔는지는 중요하지 않습니다. 결과는 동일해야 합니다. 그것을 담당하는 블록도 단 하나입니다.

 

Basil은 "기본" 코드입니다.

여기에서는 모든 것이 간단합니다. 주문을 받고 작업을 하면 됩니다....

my_order = temp_order;

한 줄!

 
papaklass :

현재 형식의 OnTradeTransaction 이벤트가 정말로 필요합니까?

당신은 여전히 역사에서 정보를 가져와야하기 때문에 그렇지 않은 것으로 나타났습니다.
 

Mikalas :

나는 제품이 반드시 테스트되어야 한다는 것을 알게 되었습니다(나는 내 돈을 위해 테스트합니다)!

나는 이것이 주제를 벗어나고 있다고 생각합니다.

글쎄, 당신은 잡지와 코드를 제공합니까?

도와주러 왔습니다.

 
C-4 :
당신은 여전히 역사에서 정보를 가져와야하기 때문에 그렇지 않은 것으로 나타났습니다.

여기 그 시간들이 있습니다! 역사에 사실입니까?

papaklass는 아마도 OnTradeTransaction 이 오류를 반환한다는 의미일까요?

 

sergeev -> 도와주러 왔습니다.

미안하지만 난 도움이 필요하지 않아.

 
Mikalas :

sergeev -> 도와주러 왔습니다.

미안하지만 난 도움이 필요하지 않아.

왜 9페이지에 침을 흘리지?
 
Mikalas :

Basil은 "기본" 코드입니다.

여기에서는 모든 것이 간단합니다. 주문을 받고 작업을 하면 됩니다....

한 줄!

한 줄인지 백 줄인지는 중요하지 않습니다. 접근의 문제입니다. 확인. 다음은 내가 의미하는 바를 확인하는 예제 코드입니다. TradeTransaction 이벤트의 유무에 관계없이 초기화 또는 새 주문의 도착 여부에 관계없이 새 주문의 도착을 추적하는 것이 보장됩니다.

 /*Какое бы событие не наступило, оно будет обработано OnRefresh()*/

OnInit ()
{
    OnRefresh();
}

void OnTimer ( void )
{
    OnRefresh();
}

void    OnTradeTransaction (
       const MqlTradeTransaction &    trans,
       const MqlTradeRequest &        request,
       const MqlTradeResult &         result
   )
{
     OnRefresh();
}

///
/// Следит за поступлением новых трейдов и ордеров.
///

void OnRefresh()
{
     HistorySelect ( 0 , TimeCurrent ());
    for (; ordersCountNow < HistoryOrdersTotal (); ordersCountNow++)
    {  
       printf(HistoryOrderGetTicket (dealsCountNow));
    }
}

///
/// Текущее количество ордеров.
///
int ordersCountNow;
 
papaklass :

이것이 우리가 말하는 것입니다.

이 OnTradeTransaction이 별도의 이벤트로 분할되지 않는 이유:

- OnOrderCreate // 주문하기;

- OnOrderModify //현재 주문 수정;

- OnOrderDelete //주문 삭제;

- OnPositionOpen //위치 열기;

- OnPositionModify //설정/수정은 위치 볼륨 변경을 중지합니다.

- OnPositionClosed //손절매 또는 시장가 주문으로 포지션을 청산합니다.

등.

이 접근 방식을 통해 거래자는 관심 있는 이벤트를 구독하고 처리합니다.

내가 관심 있는 모든 이벤트를 가져옵니다. 거기에는 부서만 있습니다!
 

C-4는 물론 처리되지만 OnRefresh()가 필요한 이유는 무엇입니까?

모든 것은 OnTradeTransaction() 에서 분리됩니다. 나는 정보가 부족하지 않습니다.