[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 19

 
좋은 하루 되세요. 우리는 거래를 추적할 로봇이 필요하며, 닫을 때 이익을 내기 위해 닫힌 주문을 닫힌 주문과 동일한 매개변수로 대체 하는 보류 주문 을 생성합니다. 그런 로봇을 구현하는 것이 가능합니까? 나는 로봇을 만난 적도, 로봇과 함께 일한 적도 없다. 어딘가에 있다면 링크를 제공하십시오. 미리 감사드립니다.
 
이전에는 이익 마감이 예금 통화 로 이루어졌으며 다음과 같이 간주되었습니다.
 double Lot = 0.1 ;
int KoffProfit = 10 ;
ProfitValue = Lot * KoffProfit * MarketInfo ( Symbol (), MODE_TICKVALUE); 
이 공식을 어떻게 포인트로 변환할 수 있습니까?
 

테스터에서 올빼미의 작업 속도를 높이기 위해 코드를 최적화하는 방법이 궁금합니다. 다음과 같이 루프가 실행되는 속도를 알려주십시오.

 for ( int i = OrdersTotal () - 1 ; i >= 0 ; i--) {
   if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES))   continue ; 
   if ( OrderSymbol () != Symbol ())                     continue ;    
   if ( OrderMagicNumber () != Magic)                   continue ;
   
   // работаем с ордерами      
}

또는 다음과 같이:

 for ( int i = OrdersTotal () - 1 ; i >= 0 ; i--) {
   if ( OrderSelect (i, SELECT_BY_POS)) {
       if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) {
       // работаем с ордерами
      }
   }
}

그리고 조언자의 속도를 높이기 위한 몇 가지 다른 팁이 있습니까?

 
TG : 이전에는 이익으로 마감하는 것이 예금 통화로 간주되었고 그렇게 간주되었습니다.
이 공식을 어떻게 포인트로 변환할 수 있습니까?
이 공식을 다시 만드는 것은 의미가 없습니다. 필요한 주문(OrderSelect())을 찾고 (OrderOpenPrice()-Bid)/Point(또는 OrderOpenPrice()-Ask)를 계산하고 주문에 이미 몇 핍이 있는지 확인하는 것이 더 쉽습니다.
TG : EA 속도를 높이는 다른 팁이 있습니까?

mql4에는 조건에 대한 전체 검사가 있습니다. if() 대괄호 안에 있는 전체 표현식은 끝까지 검사되므로 복잡한 조건을 여러 조건으로 나누는 것이 좋습니다.

if(a>b && c>d) if(a>b){ if (c>d)..... }

따라서 실제로 제안한 코드의 첫 번째 버전은 조금 더 빠르게 작동합니다. 순서를 통한 정렬은 프로세서에 크게 부하를 주지 않고 수학 연산은 프로세서에 부하를 많이 주므로 코드 성능 향상을 찾는 것이 합리적입니다. 모든 계산이 모든 틱 을 수행하는 것이 의미가 있는 것은 아닙니다.

 
IgorM :

mql4에는 조건에 대한 전체 검사가 있습니다. if() 대괄호 안에 있는 전체 표현식은 끝까지 검사되므로 복잡한 조건을 여러 조건으로 나누는 것이 좋습니다.

if(a>b && c>d) if(a>b){ if (c>d)..... }

따라서 실제로 제안한 코드의 첫 번째 버전은 조금 더 빠르게 작동합니다. 순서를 통한 정렬은 프로세서에 크게 부하를 주지 않고 수학 연산은 프로세서에 부하를 많이 주므로 코드 성능 향상을 찾는 것이 합리적입니다. 모든 계산이 모든 틱을 수행하는 것이 의미가 있는 것은 아닙니다.

당연하게도. 감사하다. 예를 들어 주문을 종료한 후 Print 라고 말합니다.

Rez = OrderClose ( OrderTicket (), OrderLots (), NormalizeDouble (Bid, Digits ), iSlippage, Blue );
if (Rez) Comment ( "Закрыт ордер # " , OrderTicket (), "  прибыль " , OrderProfit ());

또는 다음 조건에서 동일한 정규화:

 if ( NormalizeDouble (dOrderOpenPriceBuyStop - StepTral * Point , Digits ) > NormalizeDouble (Ask + Step * Point , Digits ))

Expert Advisors를 실행하는 프로세스가 실행 속도를 크게 떨어뜨리나요?

 
TG : 또는 다음 조건에서 동일한 정규화:

Expert Advisors를 실행하는 프로세스가 실행 속도를 크게 떨어뜨리나요?

GetTickCount ()로 직접 확인해보고 스크립트를 생성하여 10,000번 Normalize하고 2번 10,000번 normalize하면 normalization이 자주 수행되는 코드 섹션을 찾는 것이 얼마나 합리적인지 평가할 수 있습니다. Print()에 관해서는 대답하기조차 어렵습니다. 정말 매 틱마다 Prints를 인쇄합니까? 일반적으로 철수 작업은 Expert Advisor의 작업 속도를 크게 늦추고 Comment()가 있는 스크립트는 철수하지 않은 경우보다 10배 더 오래 실행되지만 다시 문제는 편의입니다. 필요한 경우 필요한 경우입니다.
 
TG :

당연하게도. 감사하다. 예를 들어 주문을 종료한 후 Print라고 말합니다.

또는 다음 조건에서 동일한 정규화:

Expert Advisors를 실행하는 프로세스가 실행 속도를 크게 떨어뜨리나요?

Print() 작업은 파일(이 경우 로그 파일)에 대한 작업입니다. 그리고 이러한 작업은 매우 느립니다(메모리에서 데이터를 처리하는 것과 비교할 때). OUTPUT: init()에서 초기화된 변수 생성

 bool gb_VirtualTrade;
init()
{
    gb_VirtualTrade = ( IsOptimization () || ( IsTesting () && ! IsVisualMode ));
}

그리고 이 변수의 조건에 따라 인쇄하십시오(이것은 옵션 중 하나입니다).

음성 작업(코드 최적화)을 기반으로 사용자가 제공한 정규화의 예는 이치에 맞지 않습니다. DC 서버의 기술 요구 사항에 따라 정규화가 필요하므로 가격 및 중지 주문 만 실행에 허용됩니다.

 
안녕하세요, 문제는 Expert Advisor가 해당 코드에서 작업할 때 포지션 을 열려면 주문이 열리거나 금융 창으로 가는 경로가 표시되는 신호에 표시기(조건)를 등록해야 한다는 것입니다. 전문가 고문에 규정되어 있습니다. 표시기가 설치된 도구는 무엇입니까?
 

친애하는 투기꾼 여러분, 도와주세요! 포지션 개설 시 SL 과 TP 를 자동으로 설정해주는 어드바이저를 찾고 있습니다.

미리 감사드립니다.

 
안녕하세요. 아시는 분 계시면 새 광선이 나타나는 지점(예: 다른 색상)을 표시 하는 ZIGZAG 표시기 를 다운로드할 수 있는 위치를 알려주십시오. 그런게 있다면..