Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. Машинное обучение роботов Привет всем, я занимаюсь...
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
테스트가 시작될 때 메모리 부족 오류가 발생합니다(시작되지 않음). 그것을 치료하는 방법?
터미널을 다시 시작한 후 테스트가 시작되고 여러 테스트 후에 다시 메모리가 부족합니다.
테스트 중인 프로그램이 모든 메모리를 먹어치웁니다. 그 안에 있는 오류를 찾으십시오. 데모에서 "Journal" 및 "Advisors" 잡지를 살펴보십시오(테스터가 아님) - 거기에 무엇이 쓰여져 있습니까? 아마도 그는 시간대 변경 중 메모리 누수에 대해 글을 썼을 것입니다.
테스트 중인 프로그램이 모든 메모리를 먹어치웁니다. 그 안에 있는 오류를 찾으십시오. 데모에서 "Journal" 및 "Advisors" 잡지를 살펴보십시오(테스터가 아님) - 거기에 무엇이 쓰여져 있습니까? 아마도 그는 시간대 변경 중 메모리 누수에 대해 글을 썼을 것입니다.
#property strict 줄을 추가할 때 화살표가 여기에 그려 지지 않는 이유가 전체 코드인 이유를 알려주세요.
//+----------------------------------------------- --------------------+
//| 진동 review.mq4 |
//| Copyright 2018, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+----------------------------------------------- --------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#속성 링크 "https://www.mql5.com"
#속성 버전 "1.00"
#속성 표시기_분리_창
#속성 표시기_버퍼 5
#property indicator_plots 4
//--- 플롯시그널러
#property indicator_label1 "시그널러"
#속성 표시기_유형1 DRAW_LINE
#property indicator_color1 clrRed
#속성 표시기_스타일1 STYLE_SOLID
#속성 표시기_너비1 1
//--- 플롯 Z
#property indicator_label2 "Z"
#속성 표시기_유형2 DRAW_LINE
#속성 표시기_색상2 clr베이지
#property indicator_style2 STYLE_DOT
#속성 표시기_너비2 1
//--- 플롯 베이
#property indicator_label3 "베이"
#속성 표시기_유형3 DRAW_ARROW
#property indicator_color3 clrLightSkyBlue
#속성 표시기_스타일3 STYLE_SOLID
#속성 표시기_너비3 1
//--- 플롯 판매
#property indicator_label4 "판매"
#속성 표시기_유형4 DRAW_ARROW
#property indicator_color4 clrDeepPink
#속성 표시기_스타일4 STYLE_SOLID
#속성 표시기_너비4 1
//--- 입력 매개변수
입력 int PCCI=14; // SSI 표시기 기간
입력 더블 KCCI=1.1; // 레벨링 팩터
입력 정수 PMOM=14; // 모멘텀 지표 주기
입력 int KMOM=1111; // 레벨링 팩터
입력 정수 PATR=14; // ATP 지표 기간
입력 int KATR=111111; // 레벨링 팩터
입력 정수 PFOR=14; // 강제 표시 기간
입력 int KFOR=1111; // 레벨링 팩터
입력 int PTVR=12; // TVI 표시기의 기간 p
입력 정수 PTVS=12; // TVI 표시기의 마침표
입력 정수 PTVU=5; // TVI 표시기의 기간
입력 int KTVl=111; // 레벨링 팩터
입력 정수 POSF=12; // AOC 표시기의 빠른 주기
입력 정수 POSS=26; // AOC 표시기의 느린 주기
입력 정수 POSZ=9; // AOC 표시기의 마침표 sma
입력 int KAOS=111111; // 레벨링 팩터
입력 int KAD=111; // BP 표시기의 레벨링 계수
입력 더블 KK=2.0; // 화살표 필터
입력 정수 수정 = 20; // 소화 가능한 형식으로 표시기 창에 화살표 그리기
//--- 표시기 버퍼
이중 신호 버퍼[];
이중 Z_Buffer[];
더블 베이버퍼[];
이중 SellBuffer[];
이중 PatchBuffer[];
//+----------------------------------------------- --------------------+
//| 사용자 지정 표시기 초기화 기능 |
//+----------------------------------------------- --------------------+
int OnInit()
{
IndicatorSetInteger(INDICATOR_DIGITS,0);
SetIndexBuffer(0, 신호 버퍼);
SetIndexBuffer(1,Z_Buffer);
SetIndexBuffer(2, 베이 버퍼);
SetIndexBuffer(3,SellBuffer);
SetIndexBuffer(4, 패치 버퍼);
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_ARROW);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(2,241);
SetIndexArrow(3,242);
SetIndexEmptyValue(2,0.0);
SetIndexEmptyValue(3,0.0);
IndicatorShortName("지하 신호기(" +(문자열) PATR + ")");
//---
반환(INIT_SUCCESSED);
}
//+----------------------------------------------- --------------------+
//| 사용자 지정 표시기 반복 기능 |
//+----------------------------------------------- --------------------+
int OnCalculate(const int rate_total,
const int prev_calculated,
const 날짜/시간 및 시간[],
const 이중 및 열기[],
const 더블 & 하이[],
const 더블 & 로우[],
const 이중 및 닫기[],
const long &tick_volume[],
const 긴 볼륨[],
const int &spread[])
{
int i , limit=rates_total-prev_calculated ;
이중 cci,atr,엄마,forc,ao,ac,ad,tvi,osma ;
//---- 계산 매개변수 설정
if(prev_calculated==0)limit--;
그렇지 않으면 제한++;
//---- 세다
for(i=limit-1; i>=0; i--)
{
cci=iCCI(NULL,0,PCCI,PRICE_TYPICAL,i)/KCCI;
엄마=(iMomentum(NULL,0,PMOM,PRICE_TYPICAL,i)-100)*KMOM ;
forc=iForce(NULL,0,PFOR,MODE_SMA,PRICE_TYPICAL,i)*KFOR;
tvi=iCustom(NULL,0,"TVI_v2",PTVR,PTVS,PTVU,4,i)*KTVl ;
osma=iOsMA(NULL,0,POSF,POSS,POSZ,PRICE_TYPICAL,i)*KAOS;
atr=iATR(NULL,0,PATR,i)*KATR;
ao=iAO(NULL,0,i)*KAOS ;
ac=iAC(NULL,0,i)*KAOS ;
광고=iAD(NULL,0,i)/KAD ;
SignalerBuffer[i]=(cci+mom+forc+tvi+osma+atr+ao+ac+ad)/9 ;
}
for(i=limit-1; i>=0; i--)
{
Z_Buffer[i] = (SignalerBuffer[i]+SignalerBuffer[i-1])/2 ;
PatchBuffer[i] = MathAbs(SignalerBuffer[i]-Z_Buffer[i]) ;
}
for(i=0; i<limit && !IsStopped(); i++)
{
if(Z_Buffer[i]>SignalerBuffer[i]&&Z_Buffer[i+1]<SignalerBuffer[i+1]&&PatchBuffer[i]>KK)
BayBuffer[i]=SignalerBuffer[i]-수정;
if(Z_Buffer[i]<SignalerBuffer[i]&&Z_Buffer[i+1]>SignalerBuffer[i+1]&&PatchBuffer[i]>KK)
SellBuffer[i]=SignalerBuffer[i]+수정;
}
//--- 다음 호출을 위해 prev_calculated의 반환 값
반환(요금 합계);
}
//+----------------------------------------------- --------------------+
이 표시기의 판매자에게.
어드바이저 테스트 중에 버퍼 복사를 거부하는 경우 어떻게 해야 하는지 알려주실 수 있나요?
원인을 공개합니다.
원인을 공개합니다.
그리고 무엇이 될 수 있습니까? 코드 크기? 의도적으로 모든 논리를 끄고 버퍼만 복사하고 아무것도 남기지 않았습니다.
그리고 무엇이 될 수 있습니까? 코드 크기? 의도적으로 모든 논리를 끄고 버퍼만 복사하고 아무것도 남기지 않았습니다.
테스트가 시작될 때 메모리 부족 오류가 발생합니다(시작되지 않음). 그것을 치료하는 방법?
터미널을 다시 시작한 후 테스트가 시작되고 여러 테스트 후에 다시 메모리가 부족합니다.
테스트가 시작될 때 메모리 부족 오류가 발생합니다(시작되지 않음). 그것을 치료하는 방법?
터미널을 다시 시작한 후 테스트가 시작되고 여러 테스트 후에 다시 메모리가 부족합니다.
테스트 중인 프로그램이 모든 메모리를 먹어치웁니다. 그 안에 있는 오류를 찾으십시오. 데모에서 "Journal" 및 "Advisors" 잡지를 살펴보십시오(테스터가 아님) - 거기에 무엇이 쓰여져 있습니까? 아마도 그는 시간대 변경 중 메모리 누수에 대해 글을 썼을 것입니다.
코드가 없으면 더 이상 추측하지 않습니다.
테스트 중인 프로그램이 모든 메모리를 먹어치웁니다. 그 안에 있는 오류를 찾으십시오. 데모에서 "Journal" 및 "Advisors" 잡지를 살펴보십시오(테스터가 아님) - 거기에 무엇이 쓰여져 있습니까? 아마도 그는 시간대 변경 중 메모리 누수에 대해 글을 썼을 것입니다.
코드가 없으면 더 이상 추측하지 않습니다.
테스트 종료 후 로그에 삭제되지 않은 개체가 많이 있습니다. 몇천...이게 문제야?
테스트 종료 후 로그에 삭제되지 않은 개체가 많이 있습니다. 몇천...이게 문제야?
여기에서 그들은 당신에게 정확한 답을 줄 수 있습니다.