MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 592

 

#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의 반환 값

반환(요금 합계);

}

//+----------------------------------------------- --------------------+


Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
  • www.mql5.com
Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. Машинное обучение роботов Привет всем, я занимаюсь...
 
Alekseu Fedotov :
이 표시기의 판매자에게.

감사해요..
 
어드바이저 테스트 중에 버퍼 복사를 거부하는 경우 어떻게 해야 하는지 알려주실 수 있나요?
 
Roman Sharanov :
어드바이저 테스트 중에 버퍼 복사를 거부하는 경우 어떻게 해야 하는지 알려주실 수 있나요?

원인을 공개합니다.

 
Artyom Trishkin :

원인을 공개합니다.

그리고 무엇이 될 수 있습니까? 코드 크기? 의도적으로 모든 논리를 끄고 버퍼만 복사하고 아무것도 남기지 않았습니다.

 
Roman Sharanov :

그리고 무엇이 될 수 있습니까? 코드 크기? 의도적으로 모든 논리를 끄고 버퍼만 복사하고 아무것도 남기지 않았습니다.

모든 텔레파시는 주말에...
 

테스트가 시작될 때 메모리 부족 오류가 발생합니다(시작되지 않음). 그것을 치료하는 방법?

터미널을 다시 시작한 후 테스트가 시작되고 여러 테스트 후에 다시 메모리가 부족합니다.

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Juer :

테스트가 시작될 때 메모리 부족 오류가 발생합니다(시작되지 않음). 그것을 치료하는 방법?

터미널을 다시 시작한 후 테스트가 시작되고 여러 테스트 후에 다시 메모리가 부족합니다.

테스트 중인 프로그램이 모든 메모리를 먹어치웁니다. 그 안에 있는 오류를 찾으십시오. 데모에서 "Journal" 및 "Advisors" 잡지를 살펴보십시오(테스터가 아님) - 거기에 무엇이 쓰여져 있습니까? 아마도 그는 시간대 변경 중 메모리 누수에 대해 글을 썼을 것입니다.

코드가 없으면 더 이상 추측하지 않습니다.

 
Artyom Trishkin :

테스트 중인 프로그램이 모든 메모리를 먹어치웁니다. 그 안에 있는 오류를 찾으십시오. 데모에서 "Journal" 및 "Advisors" 잡지를 살펴보십시오(테스터가 아님) - 거기에 무엇이 쓰여져 있습니까? 아마도 그는 시간대 변경 중 메모리 누수에 대해 글을 썼을 것입니다.

코드가 없으면 더 이상 추측하지 않습니다.

테스트 종료 후 로그에 삭제되지 않은 개체가 많이 있습니다. 몇천...이게 문제야?

 
Juer :

테스트 종료 후 로그에 삭제되지 않은 개체가 많이 있습니다. 몇천...이게 문제야?

여기에서 그들은 당신에게 정확한 답을 줄 수 있습니다.