왜 진드기 화가 일어나지 않는지
결과 1 - 6 / 6

실: 왜 진드기 화가 일어나지 않는지

  1. #1
    모두들 안녕,

    이것은이 포럼에서 내 첫 메시지입니다. 몇 주간의 거래. 몇 년간의 프로그래밍 (파스칼, 기본 및 약간의 c).

    하지만 여기서 나는 시도하려고 ....하지만 해결책을 찾을 수 없습니다. 그래서 저는 S. Kovalyov, Algorithmic Language의 프로그래밍에서 나온 아주 작은 예제를 시도했지만 이것도 작동하지 않습니다.

    여기 약간 수정 된 코드가 있습니다.
    -----------스타트-----------
    //countiter.mq4
    //코드는 교육 목적으로 만 사용해야합니다.
    //------------------------------------------------ --------------------

    int init ()

    //-
    경고 (처음에 트리거 된 함수 init ());/경고

    반환;/init ()를 종료합니다.
    //-
    return (0);


    int start ()/특정 기능. 스타트()

    int I, Count;/변수 선언하기
    for (I = 1; ilt; = 5; I )/5 ticks에 대한 증명

    카운트 = 0;/클리어링 카운터
    while (RefreshRates () == false)/까지 ...
    //. . 아주 새로운 진드기가 나온다.
    카운트 = 카운트 1;/반복 카운터

    알리미 (Tick, I ,, loops, Count);/각 진드기마다

    반환;/exit begin () 종료



    경고창에 나타나는 유일한 메시지는 다음과 같습니다.
    시작시 트리거 된 init () 함수

    나는 뭔가를 기대했다.

    틱 3 98622348
    똑딱 2 64534421
    Tick ​​1 32343443

    차트는 다른 EA 또는 지표가없는 간단한 EURUSD M1 차트입니다.
    그러나 그것은 데모 계좌입니다.



    누구든지 나를 도울 수 있습니까? 이것은 당신에게 아주 친절합니다.

  2. #2
    문제는 해결되었습니다 - 고마워요, 미안합니다, 바보 같았습니다. EA가 MT에서 방아쇠를 당하지 않았을뿐입니다. 오, 안돼.

  3. #3
    위의 코드는 최소한 스크립트로 작동합니다. 그것은 CPU에 너무 조금 열심히 얻을 것이다. Sleep () 호출 (또는 표시기)을 추가하고 IsStopped ()를 내부 루프에 추가하는 것이 좋습니다. 케이스를 어떻게 운영 할 수 있습니까?

  4. #4
    안녕 Irtron, 대단히 답변을 주셔서 감사합니다. 문제는 내가 결론에서 시작할 때, 즉 시작 처리 MT가 아닌 코드 작성을 의미합니다. 나는 생각했다. Init가 돌아갔다. 왜 EA가 종료와 함께 시작되어야하는지 알지 못하는 나머지 부분은 start ()를 포함한다. 이상한
    Quote 원래에 의해 게시 됨 ;
    위의 코드는 최소한 스크립트로 작동합니다. CPU에 약간의 어려움이있을 것입니다. Sleep () 호출 (표시기가 아닌 경우) 및 IsStopped ()를 내부 루프에 추가하는 것이 좋습니다. 예제를 어떻게 실행할 수 있습니까?
    Quote 원래에 의해 게시 됨 ;
    위의 코드는 최소한 스크립트로 작동합니다. CPU에 약간의 어려움이있을 것입니다. Sleep () 호출 (표시기가 아닌 경우) 및 IsStopped ()를 내부 루프에 추가하는 것이 좋습니다. 예제를 어떻게 실행할 수 있습니까?

  5. #5

    Quote 원래에 의해 게시 됨 ;
    삽입 된 코드 (I = 1; ilt; = 5; I )/5 ticks 동안 표시 Count = 0;/카운터 지우기 (RefreshRates () == false)/때까지 .../새로운 신호가옵니다. Count = Count 1;/반복 카운터 경고 (Tick, I, loops, Count);/모든 진드기를 따른다.
    이런 식으로해서는 안됩니다. Start () 자체는 아마도 각 틱마다 호출 될 것이고, 스크립트는 이벤트 중심이어야하며, 이벤트는 새로운 틱 (tick)이 올 것입니다. launch ()에서이 틱 하나만 절차를 수행하고 즉시 반환해야합니다. 이러한 기능에서 확장 폴링 루프의 사용은 가능하지만 다른 옵션이없는 경우에만 수행해야하며 지표가 GUI 스레드에서 작동하고 전문 Metatrader를 차단하므로 전문가 조언자에서만 표시기에서이를 수행 할 수 없습니다 launch ()가 반환 될 때까지의 GUI. 단지 5 tick이 필요하다면 0으로 글로벌 카운터를 지정하고 start에 현재 가격을 범위에 쓰고 시계 반대 방향으로 올리십시오. 카운터가 5에 도달 한 경우에만 마지막 5 tick으로 모든 것을 완료해야합니다. 카운터를 다시 설정하십시오. 그렇지 않으면 그냥 반환하십시오.

  6. #6

    Quote 원래에 의해 게시 됨 ;
    start () 자체가 모든 서명에 대해 호출되고, 스크립트가 이벤트 구동이어야하며, 이벤트는 새 틱의 도착입니다. start ()에서이 1 tick 만 처리하고 즉시 반환해야합니다.
    EA와 스크립트를 난처하게 만듭니다. 이전의 Start () 함수는 앞으로의 진드기에 의해 실제로 시작되고 RefreshRates ()는 start ()가 수행되는 동안 거래 환경이 변경되지 않았 음을 확인하는 데 필수적입니다. 후자 (스크립트)는 start ()를 한 번만 실행하며 위의 코드와 같은 비동기 처리에서는 허용됩니다. 이미 언급했듯이 완벽하지는 않지만 저작권 목적만을위한 교육용으로 간주되어야합니다.

게시 권한

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
쿠키 정책
쿠키 정책: koreaforex 웹사이트는 쿠키를 사용하며, 웹사이트를 사용자는 쿠키 사용에 동의하는 것입니다. 자세한 정보는 '쿠키 공개' 를 읽어주십시오.