글쎄, 그것은 열린 TS가 아니므로 무엇입니까? 시계열에서 Set을 통해 설치하면 TC가 됩니다. 터미널을 처음 실행하시나요? 이 소식은 무엇입니까? 제 생각에는 방금 누군가가 TS를 사용하거나 배열을 사용하여 프로그램에서 작업하는 방법을 스스로 결정해야 한다고 썼습니다.
open[] 및 OnCalculate의 다른 모든 배열은 시계열입니다. 그리고 맨 처음에 MQL5 언어가 작성되었을 때 ArrayGetAsSeries()가 true를 반환했고 인덱싱은 시계열의 경우와 같았습니다. 즉, 역방향입니다.
그러나 MQL4 스타일로 표시기 버퍼의 계산을 작성하는 것은 매우 불편하고 부자연스러운 것으로 판명되었으며, 사용하기 편리하도록 매번 이러한 시계열의 인덱싱을 반대로 하는 유일한 방법이 있었습니다. 우리는 다음과 같은 맞춤형 지표 를 작성하기 시작했습니다.
intOnCalculate ( constint rates_total, // размер входных таймсерийconstint prev_calculated, // обработано баров на предыдущем вызовеconstdatetime & time[], // Timeconstdouble & open[], // Openconstdouble & high[], // Highconstdouble & low[], // Lowconstdouble & close[], // Closeconstlong & tick_volume[], // Tick Volumeconstlong & volume[], // Real Volumeconstint & spread[] // Spread)
{
//---- переворачиваем все таймсерии, чтобы ими было удобно пользоваться, как обычными массивамиArraySetAsSeries (open,false);
ArraySetAsSeries (high,false);
ArraySetAsSeries (low,false);
ArraySetAsSeries (close,false);
ArraySetAsSeries (time,false);
ArraySetAsSeries (tick_volume,false);
ArraySetAsSeries (volume,false);
ArraySetAsSeries (spread,false);
ArraySetAsSeries (open,false);
.... остальной код
}
하지만 그런 발판을 쓸 때마다 뒤집어지는 것도 아이스가 아닌 것으로 밝혀졌다. 따라서 이러한 시계열을 일반 배열처럼 인덱싱하여 전송하기로 결정했습니다. 시계열이 시계열과 달리 인덱싱을 가질 때 이러한 역설이 나타납니다. 따라서 도움말에는 인덱싱 순서를 확인하고 필요한 경우 필요에 따라 설정해야 한다고 나와 있습니다.
이 표시기를 실행하면 모든 것을 직접 볼 수 있습니다.
즉, 에서
open[]도 시계열이 아닙니까?
나는 아무것도 이해하지 못합니다. 시계열의 예를 들어 주십시오.
빌드 375. kosachishche는 끔찍합니다. 그 결과 이미 꽤 많은 돈을 잃었습니다 ...
EA 매개변수는 터미널을 닫거나 연 후에 설정한 값으로 복원되지 않습니다.
보다 정확하게는 일부 부품(예: 6개 중 3개)은 복구할 수 있지만 나머지는 기본 설정으로 재설정됩니다. 기본적으로 자신의 삶.
터미널이 다시 시작될 때마다 전문가는 다른 매개변수(무엇이든)로 초기화됩니다.
이 기능은 방향을 확인하는 것이지 반대로 하는 것이 아닙니다.
1) 초기화 없이
2) 초기화와 함께
3) 위의 코드는 ArrayGetAsSeries배열의 인덱싱 방향을 가져오는 기능으로만
서비스데스크에서 함수명을 잘못 적어서 그냥즉, 에서
open[]도 시계열이 아닙니까?
나는 아무것도 이해하지 못합니다. 시계열의 예를 들어 주십시오.
따라서 OnCalculate()에서 다음을 수행합니다.
ArrayGetAsSeries (낮음)가 true를 반환 하도록 도울 수 있습니까?
ArrayGetAsSeries(low)가 true를 반환하도록 도울 수 있습니까?
즉, 에서
open[]도 시계열이 아닙니까?
나는 아무것도 이해하지 못합니다. 시계열의 예를 들어 주십시오.
open[] 및 OnCalculate의 다른 모든 배열은 시계열입니다. 그리고 맨 처음에 MQL5 언어가 작성되었을 때 ArrayGetAsSeries()가 true를 반환했고 인덱싱은 시계열의 경우와 같았습니다. 즉, 역방향입니다.
그러나 MQL4 스타일로 표시기 버퍼의 계산을 작성하는 것은 매우 불편하고 부자연스러운 것으로 판명되었으며, 사용하기 편리하도록 매번 이러한 시계열의 인덱싱을 반대로 하는 유일한 방법이 있었습니다. 우리는 다음과 같은 맞춤형 지표 를 작성하기 시작했습니다.
하지만 그런 발판을 쓸 때마다 뒤집어지는 것도 아이스가 아닌 것으로 밝혀졌다. 따라서 이러한 시계열을 일반 배열처럼 인덱싱하여 전송하기로 결정했습니다. 시계열이 시계열과 달리 인덱싱을 가질 때 이러한 역설이 나타납니다. 따라서 도움말에는 인덱싱 순서를 확인하고 필요한 경우 필요에 따라 설정해야 한다고 나와 있습니다.
ArrayGetAsSeries(low)가 true를 반환하도록 도울 수 있습니까?
컴파일러 오류로 인해 값이 매개 변수로 잘못 표시되어 true를 반환합니다. 다음과 같이 확인하십시오.
결과:
컴파일러 오류로 인해 값이 매개 변수로 잘못 표시되어 true를 반환합니다. 다음과 같이 확인하십시오.
결과:
감사합니다.
if() 조건의 ArrayIsSeries() 및 ArrayGetAsSeries() 는 설명된 대로 작동하지만 Print()는 항상 false를 인쇄합니다.
개발자.
1. 이력 테스터에 업로드를 확인하십시오(테스트는 처음 시작됨).
나는 "지난 달" 간격으로 H1의 표준 MACD 샘플을 사용하여 EURUSD 쌍 을 테스트하고 있습니다.
다운로드가 57%에 도달하고 성공적으로 중단되었지만 로그에는 이 줄만 있습니다.
2011.01.19 17:16:23 Tester EURUSD: history preliminary downloading started2. 테스터에서 새 빌드에서 레버리지 1:200 및 1:500을 영구적으로 만들 수 있습니까?
모든 DC가 특히 MT5에서 이러한 레버리지를 갖고 있는 것은 아니지만, 어쨌든 새 플랫폼에서 전략을 테스트하는 것이 더 편리하기 때문에 테스터에 남겨두어야 합니다.