MQL5에서 함께 배우고 쓰기 - 페이지 3

 
FlyAgaric :

"아주 간단한 것 같은데..."

개발 환경으로 무료 MS Visual Studio(또는 이와 동등한 것)를 사용하십시오.

다른 IDE에서 컴파일할 수 있도록 일반 "어댑터" mql5.exe를 출시할 예정입니다. 사실, 디버깅은 MetaEditor에서만 작동합니다.

사실, 개인적으로 다른 IDE의 MQL5 코드로 작업하는 것이 의미가 있을지 의심스럽습니다.

MetaEditor는 개선될 것이며 MQL5.com 웹사이트 및 해당 코드 기반과도 직접 통합됩니다.

그리고 MQL4(MQL5) 언어는 언어(VB, C++, C#) 중 하나의 라이브러리로 포맷되어야 합니다. 마지막,

제 생각에는 가장 표현력이 좋습니다. 우리는 디버깅되고 시간 테스트를 거친 개발 환경을 얻습니다.

모든 필요한 속성과 함께. 그리고 컴파일된 코드는 Windows에 가장 적합합니다.

가장 빠른 코드를 작성해야 하는 경우 고유한 DLL 라이브러리를 생성하고 MQL5에서 호출할 수 있습니다.

저자에 따르면 MQL5의 모든 것이 4-20배 더 빠르게 작동합니다. 눈치채지 못했다. 단순 표시기

일부 종소리와 휘파람이 있는 이동 평균은 MQL4보다 훨씬 느리게 작동합니다.

나는 그것이 누군가를 기분 상하게한다면 내 의견을 표명했습니다. 사과드립니다.

릴리스 전의 코드 최적화 가 비활성화되었지만 MQL5는 실제로 MQL4보다 몇 배 더 빠릅니다.

시스템이 출시되는 대로 누구나 확인하고 확인할 수 있도록 소스 코드와 함께 공개 벤치마크를 게시할 것입니다.
 
Renat :


가장 빠른 코드를 작성해야 하는 경우 고유한 DLL 라이브러리를 생성하고 MQL5에서 호출할 수 있습니다.


릴리스 전의 코드 최적화가 비활성화되었지만 MQL5는 실제로 MQL4보다 몇 배 더 빠릅니다.


시스템이 출시되는 대로 누구나 확인하고 확인할 수 있도록 소스 코드와 함께 공개 벤치마크를 게시할 것입니다.

관심을 가져주셔서 감사합니다. 쉬는 날 누군가가 책을 읽어줄 거라곤 생각도 못했다.

레나트, 이건 내 생각이었다. 당신이 계획한 모든 것이 성공한다면 나는 매우 기쁠 것입니다.

DLL을 사용하는 한 MT4 또는 MT5에 연결할 수 없었습니다. C++ 및 C#으로 작성했습니다.

다가오는 휴가와 성공을 축하합니다. MetaQuotes Software Corp.

 
FlyAgaric :

DLL을 사용하는 한 MT4 또는 MT5에 연결할 수 없었습니다. C++ 및 C#으로 작성했습니다.

다가오는 휴가와 성공을 축하합니다. MetaQuotes Software Corp.

ZIP 아카이브의 소스가 포함된 트리밍된 DLL 프로젝트 를 포럼에 직접 첨부하십시오. 확실히 도움이 될 것입니다.

축하해주셔서 감사합니다!

 

다가오는 모든 것!

전문가 여러분, 도와주세요.

익스프레스에서 마지막 견적의 시간을 가져와야 합니다. 어쩌면 간단한 방법이 있습니까?

지금은 이렇게 하고 있습니다.

      err= 0 ;
       do
        {
         rates_total= CopyTime ( NULL , PERIOD_CURRENT , 0 , 1 ,iTime);
         err++;
        }
       while (rates_total<= 0 && err<QUANTITY_OF_ATTEMPTS);
       if (err>=QUANTITY_OF_ATTEMPTS)
        {
         cur_time= TimeCurrent ();
        }
       else
        {
         cur_time=iTime[ 0 ];
        } 

어쩌면 더 쉬운 방법이 있습니까?

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
vdv2001 :

다가오는 모든 것!

전문가 여러분, 도와주세요.

익스프레스에서 마지막 견적의 시간을 가져와야 합니다. 어쩌면 간단한 방법이 있습니까?

지금은 이렇게 하고 있습니다.

어쩌면 더 쉬운 방법이 있습니까?

현재 가격은 구조 섹션을 참조하십시오.
 

안녕하세요.

내 EA는 M1 에서 시장 프로필을 계산하고 차트에 놓으면 모든 것이 잘 작동하지만 터미널을 껐다가 몇 시간 후에 켜면 오류가 발생하고 EA가 충돌합니다.

페이징 히스토리 때문인 것 같은데, 업데이트된 데이터가 로드되기 전에 초기화 기능이 작동하여(초기화 중에 주요 계산이 이루어짐) 이로 인해 충돌이 발생합니다.

질문이 발생합니다. Init에서 계측기의 데이터가 완전히 로드되었는지 어떻게 확인할 수 있습니까? 터미널이 서버에 연결되어 있는지 확인하는 것이 항상 도움이 되는 것은 아닙니다. "신선한" 데이터가 많지 않으면 제대로 작동합니다. 며칠 안에 실수로 충돌하거나 마지막 날을 계산하지 않습니다.

모든 데이터가 업데이트되었다는 플래그를 올리는 방법을 알려주시겠습니까?

Инструмент «Ценовая гистограмма» (Рыночный профиль) и его реализация на MQL5
Инструмент «Ценовая гистограмма» (Рыночный профиль) и его реализация на MQL5
  • 2010.01.26
  • Dmitry
  • www.mql5.com
Рыночный профиль был разработан Питером Стидлмайером (Peter Steidlmayer), который предложил использовать альтернативное представление информации как о горизонтальном, так и о вертикальном движении рынка, что дает полностью отличный набор моделей. Он предположил, что у рынка существует основной рыночный пульс, или фундаментальная модель, которая называется цикл равновесия и неравновесия (cycle of equilibrium and disequilibrium). В данной статье я сделаю попытку дать общие понятия об упрощенной модели Рыночного профиля (Market Profile) – Ценовой Гистограмме (Price Histogram) и расскажу, как реализовал данный инструмент на MQL5.
 
vdv2001 :

안녕하세요.

내 EA는 M1에서 시장 프로필을 계산하고 차트에 놓으면 모든 것이 잘 작동하지만 터미널을 껐다가 몇 시간 후에 켜면 오류가 발생하고 EA가 충돌합니다.

페이징 히스토리 때문인 것 같은데, 업데이트된 데이터가 로드되기 전에 초기화 기능이 작동하여(초기화 중에 주요 계산이 이루어짐) 이로 인해 충돌이 발생합니다.

질문이 발생합니다. Init에서 계측기의 데이터가 완전히 로드되었는지 어떻게 확인할 수 있습니까? 터미널이 서버에 연결되어 있는지 확인하는 것이 항상 도움이 되는 것은 아닙니다. "신선한" 데이터가 많지 않으면 제대로 작동합니다. 며칠 안에 실수로 충돌하거나 마지막 날을 계산하지 않습니다.

모든 데이터가 업데이트되었다는 플래그를 올리는 방법을 알려주시겠습니까?

기록에 대한 초기화를 OnInit()에서 OnTick()으로 이동합니다(코드가 한 번만 실행되도록 확인해야 함). 그러면 페이징과 관련된 모든 문제가 사라집니다.

 
또한 데이터 액세스 구성 섹션을 참조하십시오.
 
alsu :

기록에 대한 초기화를 OnInit()에서 OnTick()으로 이동합니다(코드가 한 번만 실행되도록 확인해야 함). 그러면 페이징과 관련된 모든 문제가 사라집니다.

하나의 문제가 사라졌는데 계산을 OnTick()으로 옮기고 난 후 또 다른 문제가 나타났는데, 지금은 현재 작동하지 않는 시장에서 빈 차트가 얻어 지고 OnTick() 함수가 호출되지 않습니다.

 
Rosh :
또한 데이터 액세스 구성 섹션을 참조하십시오.


덕분에 다음과 같이 해결했습니다.

 int OnInit()
  {
//---
   while (!( bool ) SeriesInfoInteger ( Symbol (), 0 , SERIES_SYNCRONIZED ))
     {
       Sleep ( 20 );
     }
   if (ExtExpert.Init())
       return ( 0 );
   else
       return (- 1 );
  }