MQL4 실시간 클록(초 단위) - 페이지 5

[삭제]  
7bit :

mql4의 몇 줄에 불과합니다(물론 Windows API를 호출하려면 DLL 호출이 필요하지만 아무것도 설치할 필요는 없습니다).

즐겨찾기에 이 스크립트가 있으며 눈금이 필요할 때 차트로 드래그하면 됩니다.


나는 또한 하나의 틱만 보낸 다음 종료하고 핫키 ALT+T에 바인딩하는 루프 없이 이것의 변형이 있습니다. 이제 ALT-T를 눌러 활성 차트에 틱을 보낼 수 있습니다. 나는 주말에 start()를 실행하여 계산을 트리거하고 그래프를 그릴 때 stat-arb EA 중 일부에 이것을 필요로 합니다(차트에서 선을 이동하여 간격을 변경한 다음 계산 업데이트).


7 저는 dll import를 사용한 적이 없습니다. 다음에 대해 설명해 주시겠습니까?

+ Meta Trader Client 폴더에 dll 파일을 넣어야 하나요?

+ MT 클라이언트에서 이 EA를 어떻게 활성화할 수 있습니까?

Meta Trader에서 DLL 가져오기의 몇 가지 예를 알려주십시오.

 
spidermagos :


7 저는 dll import를 사용한 적이 없습니다. 다음에 대해 설명해 주시겠습니까?

+ Meta Trader Client 폴더에 dll 파일을 넣어야 하나요?

+ MT 클라이언트에서 이 EA를 어떻게 활성화할 수 있습니까?

Meta Trader에서 DLL 가져오기의 몇 가지 예를 알려주십시오.

140자보다 긴 텍스트를 읽는 기술을 배우지 않으면 그것을 사용(또는 어떤 용도로 사용될 수 있는지 이해)하는 것이 완전히 불가능할 것임을 알려드리게 되어 유감입니다.

처음에는 마지막 게시물에서 방금 인용한 텍스트에서 의미를 추출해 볼 수 있습니다. 그러면 내가 이것을 EA가 아닌 스크립트로 설명했다는 것을 알게 될 것입니다. 또한 dll을 설치할 필요가 없다고 썼으며 텍스트의 일부를 찾을 수도 있다는 사실을 알게 될 것입니다. 어디에 어떻게 사용해야 하는지 설명했습니다.

[삭제]  
7bit :

140자보다 긴 텍스트를 읽는 기술을 배우지 않으면 그것을 사용(또는 어떤 용도로 사용될 수 있는지 이해)하는 것이 완전히 불가능할 것임을 알려드리게 되어 유감입니다.

처음에는 마지막 게시물에서 방금 인용한 텍스트에서 의미를 추출해 볼 수 있습니다. 그러면 내가 이것을 EA가 아닌 스크립트로 설명했다는 것을 알게 될 것입니다. 또한 dll을 설치할 필요가 없다고 썼으며 텍스트의 일부를 찾을 수도 있다는 사실을 알게 될 것입니다. 어디에 어떻게 사용해야 하는지 설명했습니다.

나는 당신의 오만함과 당신의 영어 실력, 그리고 아마도 당신의 코딩 모범을 존경합니다.

그러나 해결책을 제시하지 않고 문제를 해결하는 것은 질문을 회피하는 것입니다.

내 읽기 능력과 기술에 의문을 제기하는 대신 7 비트 전체 프로그램을 작성하고 자신을 증명해보십시오. 철학 대신!

실시간 시계를 초 단위로 수행하는 방법을 알고 있습니까? 이것이 질문입니까? 이 시계가 차트에 있어야 합니까?

 

2와 2를 추가하면 됩니다.

7bit의 코드를 사용하여 내가 게시한 코드와 함께 가짜 틱을 생성하면 필요한 모든 것이 있습니다.

그리고 btw, 7bit는 이 포럼에 참여하는 최고의 프로그래머 중 한 명인 것 같습니다...

//지

 

spidermagos :

당신의 오만함을 존경합니다

고맙습니다.


스파이더마고스 :

전체 프로그램을 작성하고 자신을 증명하는 것이 어떻습니까? 철학 대신!

스크립트는 완전하고 내가 지정한 사양 내에서 정확히 독립 실행형으로 작동합니다.

나는 지표가 sleep()과 같은 차단 호출을 사용할 수 없는 문제를 해결하기 위한 제안으로 게시했으며 지표 자체 내에서 타이머 이벤트를 생성하는 다른 방법도 존재하지 않습니다. 전체 시계 문제의 이 정확한 하위 문제는 이 스레드의 직전에 언급되었으며 이 문제만 해결되고 다른 문제는 해결되지 않았습니다. 그것은 그 자체로 완전히 독립적인 문제로 취급될 있고 내 스크립트는 그것에 대한 일반(완전히 독립적인) 솔루션이며 많은 유사한 시나리오에도 적용될 수 있으며 다른 사용 사례에 대한 예를 들기도 했습니다.

코드를 작성하려면 문제 분해 기술을 배워야 하고 솔루션을 우연히 발견할 때마다 솔루션과 부분 솔루션을 즉시 인식할 수 있어야 합니다.

 
//< This is EA : Compile and run in folder "/experts" >
 
 
int start()
{
static int iClockPeriod = 1000 ;
 
static int iTimeStamp          ;
static int iRunTime            ;
 
while  ( ! IsStopped () )
       {
           iTimeStamp = GetTickCount ()                             ;
           Comment    ( TimeToStr ( TimeLocal () , TIME_SECONDS ) ) ;
           iRunTime   = GetTickCount () - iTimeStamp                ;
           Sleep      ( iClockPeriod    - iRunTime                ) ;
       }
}
//</This is EA : Compile and run in folder "/experts" > 

 //< This is Indicator : Compile and run in folder "/experts/indicators" >
#property  indicator_chart_window
 
int start()
{
static int iClockPeriod = 1000 ;
 
static int iTimeStamp          ;
  
  
if     ( ( GetTickCount () - iTimeStamp ) < iClockPeriod )   return ;
       {
           iTimeStamp = GetTickCount ()                             ;
           Comment    ( TimeToStr ( TimeLocal () , TIME_SECONDS ) ) ;
  
 
       }
}
//</This is Indicator : Compile and run in folder "/experts/indicators" > 

다른 차트에서 이러한 프로그램을 실행합니다.

[삭제]  
Ais :

다른 차트에서 이러한 프로그램을 실행합니다.


아이스 ; 7비트가 맞습니다. 작동하지 않습니다! 시작 기능 은 틱으로 틱입니다.

이 문제를 해결하려면 dll 가져오기가 필요합니다. ...

즉, 표시기에서 스크립트 호출

[삭제]  
7bit :

고맙습니다.


스크립트는 완전하고 내가 지정한 사양 내에서 정확히 독립 실행형으로 작동합니다.

나는 지표가 sleep()과 같은 차단 호출을 사용할 수 없는 문제를 해결하기 위한 제안으로 게시했으며 지표 자체 내에서 타이머 이벤트를 생성하는 다른 방법도 존재하지 않습니다. 전체 시계 문제의 이 정확한 하위 문제는 이 스레드의 직전에 언급되었으며 이 문제만 해결되고 다른 문제는 해결되지 않았습니다. 그것은 그 자체로 완전히 독립적인 문제로 취급될 있고 내 스크립트는 그것에 대한 일반(완전히 독립적인) 솔루션이며 많은 유사한 시나리오에도 적용될 수 있으며 다른 사용 사례에 대한 예를 들기도 했습니다.

코드를 작성하려면 문제 분해 기술을 배워야 하고 솔루션을 우연히 발견할 때마다 솔루션과 부분 솔루션을 즉시 인식할 수 있어야 합니다.



7bit - 어떻게 표시기에서 스크립트를 호출할 수 있습니까?

예를 들어 줄 수 있습니까?

[Deleted]  
spidermagos :

Start() 함수가 틱 단위로 작동한다는 것을 이해합니다.

컴퓨터 시계의 실시간 데이터를 사용하고 1초마다 업데이트하는 방법이 있습니까? 똑딱이가 아니라 1초마다?

그렇다면 좀 도와주세요.

감사해요

안녕하세요, 스크립트 대신 별도의 틱 발신자 애플리케이션을 사용할 수 있으며(여러 프리웨어가 있습니다. Google "mt4 틱 발신자") 200ms 정도마다 틱을 생성하도록 만든 다음 PC의 시계가 자주 동기화되고 TimeCurrent() 대신 TimeLocal() + hour_difference_between_yourtimezone_and_servertimezone * 3600 을 사용하십시오. 생성된 틱을 사용하면 Start()가 "만" 강제로 실행되고, 틱이 브로커에서 제공되지 않는 한 TimeCurrent()는 자체 업데이트되지 않기 때문입니다. 그렇게 하면 브로커 시간을 초 단위로 얻을 수 있습니다. 이것은 지표와 EA 모두에 작동합니다. 재미있는 사실은 서버가 동기화되지 않은 일부 브로커가 있다는 것입니다. 몇 초 지연되지만 타임스탬프만 있고 불행히도 가격은 아닙니다. 다른 양초, M1은 때때로 기세 가있을 때 완전히 다릅니다.
[Deleted]  

먼저 시작에 있는 논리를 함수에 넣습니다.

다음으로 init()에서 잠자기 상태로 while 루프를 만들고 거기에서 함수를 호출합니다. 수면은 밀리초 단위라는 것을 기억하십시오.

이렇게 하면 가격 변경을 기다리는 대신 타이밍을 제어할 수 있습니다.

프로그램 논리가 정상이면 완벽하게 작동합니다. 유일한 문제는 백테스터 에서 실행할 수 없다는 것입니다. 먼저 Start()를 사용하여 테스트를 수행한 다음 init()로 전환하십시오.