PROFI에서 SUPERPROFI에 대한 모든 질문 - 1. - 페이지 43

 
fxsaber :

이해하지 못했습니다. 데이터베이스에서 무언가가 변경된 경우 알아낼 수 있는 유일한 방법은 데이터베이스의 이전 상태와 비교하는 것입니다.

각 해당 데이터베이스 요소를 비교할 수 있습니다. 또는 그들로부터 해시를 계산하고 해시를 비교하십시오.

터미널은 이미 이 변경 사항(OnTrade)을 알고 있습니다. 여기에서도 함수에서 이에 대해 배우는 것이 바람직할 것입니다.

 
fxsaber :

time_msc 변경 단계가 1000ms인 MT4의 경우 특히 그렇습니다.

안타깝게도 현재 내가 아는 가장 간단한 옵션을 사용할 수 없습니다.

 
Andrey Khatimlianskii :

터미널은 이미 이 변경 사항을 알고 있습니다( OnTrade ). 여기에서도 함수에서 이에 대해 배우는 것이 바람직할 것입니다.

무역 이벤트는 MT4에서 사용할 수 없습니다.

 
fxsaber :

무역 이벤트는 MT4에서 사용할 수 없습니다.

그는 단순히 MKL로 보내지지 않았습니다. 터미널은 타이머에 따라 거래 목록을 업데이트하지 않습니다.

 
Andrey Khatimlianskii :

그는 단순히 MKL로 보내지지 않았습니다 . 터미널은 타이머에 따라 거래 목록을 업데이트하지 않습니다.

따라서 검증을 통해서만 가능합니다.

 
Andrey Khatimlianskii :

1. 이전 호출과 동일한 틱에서 함수 호출이 발생했는지 확인하는 가장 저렴한 방법은 무엇입니까?

시간(TimeCurrent)은 이론적으로 SymbolInfoTick의 시간(ms 단위)도 동일하게 유지될 수 있습니다.

입찰가, 요청 및 시간(ms)을 비교하는 것은 비용이 많이 듭니다.

EA 자체에서 제어를 구성하는 옵션을 제공하지 마십시오. 보편적인 독립 기능을 얻고 싶습니다.


2. 거래 운영 에 대한 유사한 질문 . 마지막 출시 이후 주문/포지션 목록에서 변경된 사항이 있는지 어떻게 알 수 있습니까(오픈 레벨, SL 및 TP 포함)?

상위 5개에서 OnTrade의 일종의 플래그 소대는 자체 제안(및 완료 후 재설정)을 제안하지만, 생각하지 않는 것이 더 저렴합니다.

그러나 다시, 나는 보편적인 해결책을 원합니다.


누가 아이디어가 있습니까?

그래서:

 //+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
{
   int count = 0 ;
   if ( A ) some_func( count );
   if ( B ) some_func( count );
   if ( C ) some_func( count );
}
//+------------------------------------------------------------------+
void some_func( int & count )
{
   if ( count++ > 0 )
       return ;
      
   // recalculate only once on each tick
}
//+------------------------------------------------------------------+
 
Koldun Zloy :

그래서:

고맙습니다.

안드레이 카팀리안스키 :

우리는 EA 자체에서 제어를 구성하는 옵션을 제공하지 않으며 보편적인 독립 기능을 얻고 싶습니다.

 
Andrey Khatimlianskii :

고맙습니다.

그들이 아직 그것을 제안하지 않았기 때문에 나는 어디를 파헤칠 것인지, 마지막 PostMessage의 시간을 확인하거나 그와 비슷한 것, 아마도 말도 안되는 것, 나는 API를 너무 이해하지 못한다는 아이디어를 던질 것입니다.

 
Aleksey Mavrin :

마지막 PostMessage의 시간을 확인하거나 그런 것, 아마도 넌센스, 나는 API를 너무 이해하지 못합니다.

예, 똥처럼 보입니다)

시도해 주셔서 감사합니다.

 
Andrey Khatimlianskii :

EA 자체의 통제 없이는 비현실적입니다.

또한 필요하지 않습니다. 요청된 기능은 Expert Advisor에서 호출됩니다. 본질적으로 Expert Advisor와 동일한 컨트롤이며 덜 침습적입니다.