누락된 막대 없이 차트를 보고 싶은 사람 - 여기 =) - 페이지 6

 
solandr :
또한 터미널을 켤 때 때때로 팝업되는 다음 오류에 대해서도 알고 싶습니다.

켜기 오류가 아닌 _shutdown_ 오류입니다.)

전문가가 정상적으로 종료되면 파일을 닫고 다음 부팅 시 정상적으로 열립니다.

최대 32개의 파일을 열 수 있습니다.
MT가 맹세하면 이전 파일이 닫히지 않고 새 파일과 함께 너무 많이 얻습니다.
그러나 다른 스크립트/전문가가 파일을 열 수 있습니까?

HistoryBase에 어떤 오류가 있는지 모르겠습니다.
문제를 재현하고 무슨 일이 일어나고 있는지 이해했다면 저에게 말씀해 주십시오. 우리는 그것을 고치려고 노력할 것입니다 ;)
 
komposter писал (а):

최대 32개의 파일을 열 수 있습니다.
MT가 맹세하면 이전 파일이 닫히지 않고 새 파일과 함께 너무 많이 얻습니다.
그러나 다른 스크립트/전문가가 파일을 열 수 있습니까?

내 전문가는 파일 작업을 하지 않습니다. 터미널의 전역 변수에 대해서만 능동적으로 작동합니다. 그러나 이전에는 문제가 없었습니다. 이제 한 달 동안 나는 실제 작품을보고 있습니다.

뭐, 에러 발생 조건을 잡을 수 있다면 알려 드리겠습니다. 미리 말씀드리자면 단말기 초기 기동시에는 전문가와 필요한 지표가 초기화되는데 약 20초 정도 소요된다고 할 수 있습니다. 12 통화 쌍, 터미널은 단순히 멈춥니다. 하지만 초기화를 통과한 후 난수 생성기를 통한 시간 분포로 매우 경제적인 계산이 이루어집니다. 즉, 간격(10~30분)이 무작위로 선택된 후 이 통화 쌍에 대한 다음 채널 계산이 수행됩니다. 값은 터미널의 전역 변수에 쓰여지고 EA에서 비교됩니다. 따라서 VIA C3 800MHz 프로세서 기반 컨트롤러에서는 12개의 통화 쌍에 대한 충분히 큰 계산이 전혀 찢어지지 않고 완벽하게 작동합니다. 요점은 작동 시 이 컨트롤러의 편의성에 있습니다. 컴팩트한 크기, 무게 1kg, Win2000은 잘 작동하며 가장 중요한 것은 팬이 없다는 것입니다. 머리 근처에 놓고 평화롭게 잠을 잘 수도 있습니다. 일반 컴퓨터가 쿨러로 하는 것처럼 소음이 발생하지 않습니다. http://www.compactpc.com.tw/ebox-3851.htm
그래도 조금 따뜻해집니다. 그러나 나는 케이스 측면에 P4의 구리 라디에이터를 걸기만 하면 이 문제를 해결했습니다. 이제 모든 것이 온도에 문제가 없습니다.
인터넷이 있는 곳이라면 어디서든 RawAdmin 유틸리티를 통해 터미널에 액세스합니다. 즉, 모니터는 이 미니컴퓨터에 운영 체제를 처음 설치할 때만 필요합니다.
 
solandr :
따라서 VIA C3 800MHz 프로세서 기반 컨트롤러에서는 12개의 통화 쌍에 대한 충분히 큰 계산이 전혀 찢어지지 않고 완벽하게 작동합니다. 요점은 작동 시 이 컨트롤러의 편의성에 있습니다. 컴팩트한 크기, 무게 1kg, Win2000은 잘 작동하며 가장 중요한 것은 팬이 없다는 것입니다. 머리 근처에 놓고 평화롭게 잠을 잘 수도 있습니다. 일반 컴퓨터가 쿨러로 하는 것처럼 소음이 발생하지 않습니다. http://www.compactpc.com.tw/ebox-3851.htm
그래도 조금 따뜻해집니다. 그러나 나는 케이스 측면에 P4의 구리 라디에이터를 걸기만 하면 이 문제를 해결했습니다. 이제 모든 것이 온도에 문제가 없습니다.
인터넷이 있는 곳이라면 어디서든 RawAdmin 유틸리티를 통해 터미널에 액세스합니다. 즉, 모니터는 이 미니컴퓨터에 운영 체제를 처음 설치할 때만 필요합니다.
이 장난감의 가격은 얼마입니까? 배트에서 가격을 찾지 못했습니다.
 
Rosh :
이 장난감의 가격은 얼마입니까? 배트에서 가격을 찾지 못했습니다.

제품 자체 185달러 + 2.5HDD 40GB 70달러에 샀습니다. 그러나 러시아에서는 아마도 두 배의 비용이 들 것입니다.
 

여기서 설명된 오류를 다시 보았습니다. 나는 그것이 비활성 시장에서 가장 자주 나타난다고 생각합니다. 시장이 매우 비활성 상태이면 오류가 매우 정기적으로 나타납니다. 터미널의 한 시작은 정상이고 다음은 오류가 발생한 다음 주기가 반복됩니다. 시장이 활성화되면 오류가 오랫동안 나타나지 않을 수 있습니다. 다음은 오류 설명입니다.
먼저, 터미널을 열면 정상 가격 축이 오른쪽에 세로로 사라집니다. 예를 들어 12개 차트 중 8개 차트에서 가능합니다. 매번 다를 수 있습니다. 아래 스크린샷. 이 경우 로그에 오류가 기록되지 않습니다!
그런 다음 터미널을 껐다가 다시 켜십시오. 차트가 정상으로 돌아가고 터미널 로그에 다음 오류 메시지가 나타납니다.
2006.10.31 12:20:30 HistoryBase: 'WS_AUDJPYm1440'에서 48개 오류
2006.10.31 12:20:30 HistoryBase: 'WS_NZDUSDm1440' 오류 42개
2006.10.31 12:20:30 HistoryBase: 'WS_EURJPYm1440'의 272개 오류
2006.10.31 12:20:30 HistoryBase: 'WS_EURCHFm1440'의 272개 오류
2006.10.31 12:20:30 HistoryBase: 'WS_AUDUSDm1440'의 272개 오류
2006.10.31 12:20:30 HistoryBase: 'WS_EURGBPm1440'의 272개 오류
2006.10.31 12:20:30 HistoryBase: 'WS_USDJPYm1440' 오류 273개
2006.10.31 12:20:30 HistoryBase: 'WS_USDCADm1440'의 272개 오류
2006.10.31 12:20:30 HistoryBase: 'WS_GBPUSDm1440' 오류 273개
2006.10.31 12:20:30 HistoryBase: 'WS_CHFJPYm1440'의 78개 오류
2006.10.31 12:20:29 HistoryBase: 'WS_USDCHFm1440' 오류 273개
2006.10.31 12:20:29 HistoryBase: 'WS_EURUSDm1440' 오류 273개
2006.10.31 12:19:59 HistoryBase: 'WS_AUDJPYm1440'의 48개 오류
2006.10.31 12:19:59 HistoryBase: 'WS_NZDUSDm1440' 오류 42개
2006.10.31 12:19:59 HistoryBase: 'WS_EURJPYm1440'의 272개 오류
2006.10.31 12:19:59 HistoryBase: 'WS_EURCHFm1440'의 272개 오류
2006.10.31 12:19:59 HistoryBase: 'WS_AUDUSDm1440'의 272개 오류
2006.10.31 12:19:59 HistoryBase: 'WS_EURGBPm1440'의 272개 오류
2006.10.31 12:19:59 HistoryBase: 'WS_USDJPYm1440'의 273개 오류
2006.10.31 12:19:59 HistoryBase: 'WS_USDCADm1440'의 272개 오류
2006.10.31 12:19:59 HistoryBase: 'WS_GBPUSDm1440' 오류 273개
2006.10.31 12:19:59 HistoryBase: 'WS_CHFJPYm1440'의 78개 오류
2006.10.31 12:19:59 HistoryBase: 'WS_USDCHFm1440'의 273개 오류
2006.10.31 12:19:59 HistoryBase: 'WS_EURUSDm1440' 오류 273개

12개 통화 쌍에 대한 이러한 재진입이 흥미로운 이유는 무엇입니까? 아마도 터미널이 꺼지기 전에 발생했지만 적시에 표시되지 않은 오류에 대한 정보가 로그에 입력됩니까? 전문가나 터미널 자체에서 파일을 열고 닫는 논리의 어딘가에서 오류가 배제되지 않는다고 가정합니다. 그렇지 않으면 이 오류가 발생할 때 터미널을 두 번째 실행할 때마다 이러한 로그가 어디에 나타날 수 있습니까?

때로는 터미널이 시각적 오류 없이 시작될 때 그래프가 정상적으로 보이지만 위에서 설명한 로그도 나타날 수 있습니다.












 

나는 이미 하나의 통화에 대해 Expert Advisor를 다시 테스트하기 시작했습니다.
한 가지를 알아냈습니다. 실수
HistoryBase: 'WS_EURUSDm1440'의 273개 오류
변경된 시세 차트를 여는 순간에 나타납니다.
즉, 이 차트가 열려 있지 않으면 이 오류가 인쇄되지 않습니다.

뭐가 될수 있었는지? 수정된 따옴표 파일을 잘못 닫았습니까(파일 형식의 오류), 아니면 터미널 결함입니까?
개발자가 이 문제를 스스로 재현하고 가정을 표현할 수 있습니까?

브로커 InterBankFX, 기간 D1, 창 2000의 막대 수 제한.
전문가 설정:
//---- 처리할 차트 목록, 쉼표(",")로 구분
외부 문자열 ChartList = "EURUSD1440m";
extern bool SundayToMonday = true;
//---- 차트가 업데이트되는 빈도(밀리초)
//---- 값이 클수록 스크립트에서 사용할 리소스가 줄어듭니다.
extern int RefreshLuft = 30000;

DLL에서 함수를 가져오는 것도 허용됩니다.

2006.10.31 14:55:53 HistoryBase: 'WS_EURUSDm1440' 오류 273개
2006.10.31 14:55:21 HistoryBase: 'WS_EURUSDm1440' 오류 273개
2006.10.31 14:54:49 HistoryBase: 'WS_EURUSDm1440' 오류 273개
2006.10.31 14:54:18 HistoryBase: 'WS_EURUSDm1440' 오류 273개
2006.10.31 14:53:46 HistoryBase: 'WS_EURUSDm1440' 오류 273개
2006.10.31 14:53:14 HistoryBase: 'WS_EURUSDm1440' 오류 273개
2006.10.31 14:52:43 HistoryBase: 'WS_EURUSDm1440' 오류 273개
2006.10.31 14:52:13 HistoryBase: 'WS_EURUSDm1440' 오류 273개
2006.10.31 14:51:42 HistoryBase: 'WS_EURUSDm1440' 오류 273개
2006.10.31 14:51:11 HistoryBase: 'WS_EURUSDm1440'의 273개 오류
2006.10.31 14:50:40 HistoryBase: 'WS_EURUSDm1440' 오류 273개


파일:
 
생성된 파일에서 그래프 읽기를 확인할 때 오류 메시지 가 나타납니다.
이는 가장 원시적인 오류가 있음을 의미합니다.
  • 잘못된 OHLC(예: 높음이 개방보다 낮음 등)
  • 부정확하거나 0개의 볼륨
  • 막대가 혼합될 때 시간에 따른 막대 교대 오차
이러한 잘못된 막대는 기록에서 자동으로 삭제됩니다. 자세한 내용은 스크립트를 확인하세요.
 
Renat :
자세한 내용은 스크립트를 확인하세요.

오늘은 확인하겠습니다...
 
Renat :
생성된 파일에서 그래프 읽기를 확인할 때 오류 메시지가 나타납니다.
이는 가장 원시적인 오류가 있음을 의미합니다.
또는 우리의 경우 파일 헤더에 잘못된 Digits 값이 있습니다. ..

조사를 실시했습니다.
- 코드에서 #define DELETE_DAY 0을 #define DELETE_DAY 1로 변경합니다(일요일이 아닌 월요일을 삭제하도록 =)
- ChartList = "EURUSD1440"으로 EA 실행
- 오프라인 생성 차트 열기(WS_EURUSD, D1)
- 현재 브로커의 히스토리가 저장된 디렉토리로 이동
- WS_EURUSD1440.hst 파일을 거기에서 다른 디렉토리로 복사합니다.
- MT를 종료합니다. (그 전에는 어드바이저를 삭제할 수 있습니다. 중요하지 않습니다.)
- 오픈 MT

그리고 지금 가장 흥미로운 =)
저장한 파일을 가져와서 MT 디렉터리에 남아 있는 파일과 비교합니다.
저작권 - 내 것이 아닙니다(유감입니다, 아니면 무엇입니까? ;), 그리고 Digits = 0. 더 이상 확인하지 않았습니다. ..

이 작업을 수행하는 것은 Expert Advisor가 아님을 알려드립니다. 터미널을 끄기 전에 제거할 수 있습니다.
확인하다?
 

komposter , 브로커 InterBankFX는 일반적인 브로커가 아닙니다 ;o). 라이브 거래 중에 이미 배운 몇 가지 특정 설정이 있습니다!
예를 들어, Alpari의 데모에서 놀랍게 작동하는 MarketInfo(symbol_for_work,MODE_SPREAD) 함수(모든 시장에 고정 값을 제공하며, 포인트로 표시되는 Ask와 Bid의 차이와 동일)는 실제 InterBankFX에서 값을 1포인트 변경할 수 있습니다. . 그리고 이것은 매우 자주 발생합니다. 내 인질이 몇 분마다 1포인트씩 앞뒤로 수정하기 시작했기 때문에 나는 이것을 우연히 발견했습니다. 그리고 이것은 내가 Alpari에서 본 적이 없는 밤의 것입니다!!!
따라서 브로커 또는 MT4 개발자와 논쟁하는 대신 이 기능을 내 기능으로 간단하게 교체했습니다. 덕분에 "작은 피" 문제를 해결했습니다.

int _MarketInfo(문자열 symb_for_work)
{
if(symb_for_work=="USDCHFm") return(4);
if(symb_for_work=="CHFJPYm") return(5);
if(symb_for_work=="GBPUSDm") return(3);
if(symb_for_work=="USDCADm") return(5);
if(symb_for_work=="USDJPYm") return(3);
if(symb_for_work=="EURGBPm") return(4);
if(symb_for_work=="AUDUSDm") return(4);
if(symb_for_work=="EURCHFm") return(4);
if(symb_for_work=="EURJPYm") return(5);
if(symb_for_work=="EURUSDm") return(2);
if(symb_for_work=="NZDUSDm") return(6);
if(symb_for_work=="AUDJPYm") return(6);

반환(0);
}

힌트를 얻으셨나요? ;영형)))
Expert Advisor에서 비슷한 것을 만들 수 있습니까? 또한 Digits 를 사용하면 모든 것이 훨씬 쉬워집니다! 새로운 요율은 2이고 다른 모든 요율은 4입니다.