#속성 표시기_차트_창 #속성 표시기_버퍼 1 #속성 표시기_플롯 1 #속성 표시기_유형1 DRAW_LINE #property indicator_color1 clrDeepPink #property indicator_label1 "레벨" #속성 표시기_스타일1 STYLE_SOLID #속성 표시기_너비1 1 //---- 표시기 버퍼 이중 확장 버퍼[]; //+----------------------------------------------- --------------------+ //| 사용자 지정 표시기 초기화 기능 | //+----------------------------------------------- --------------------+ 무효 OnInit() { //---- 표시기 버퍼 매핑 SetIndexBuffer(0,ExtBuffer,INDICATOR_DATA); IndicatorSetInteger(INDICATOR_DIGITS,_Digits); // 차트 정확도와 동일한 표시기 정확도?? //---- 그릴 인덱스의 첫 번째 막대를 설정합니다. // PlotIndexSetInteger(0,PLOT_ARROW,217); // PlotIndexSetInteger(1,PLOT_ARROW,218); //---- 그릴 때 화살표 이동 // PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,ExtArrowShift); // PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,-ExtArrowShift); //---- 그리기 라인의 빈 값을 설정합니다-- // PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE); // PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE); //---- 초기화 완료 } //+----------------------------------------------- --------------------+ //| 가속기/감속기 발진기 | //+----------------------------------------------- --------------------+ int OnCalculate(const int Rates_total, // 입력 막대의 수 const int prev_calculated, // 이전 호출에서 처리된 막대 const 날짜/시간 및 시간[], const 이중 및 열기[], const 더블 & 하이[], const 이중 및 낮음[], const 이중 닫기[], const long &TickVolume[], 상수 긴 볼륨[], 상수 정수(&Spread)[]) { int i, 제한; //--- if(rate_total<5) 리턴(0); //--- if(prev_calculated<7) { 한계=2; //--- 배열 정리 ArrayInitialize(ExtBuffer,EMPTY_VALUE); } 그렇지 않으면 한도=rates_total-5;
for(i=limit;i<rates_total-3 && !IsStopped();i++) { //---- 상부 프랙탈 if(높음[i]>높음[i+1] && 높음[i]>높음[i+2] && 높음[i]>=높음[i-1] && 높음[i]>=높음[i-2 ]) ExtBuffer[i]=높음[i]; 그렇지 않으면 ExtBuffer[i]=EMPTY_VALUE;
//---- 하부 프랙탈 if(낮음[i]<낮음[i+1] && 낮음[i]<낮음[i+2] && 낮음[i]<=낮음[i-1] && 낮음[i]<=낮음[i-2 ]) ExtBuffer[i]=낮음[i]; 그렇지 않으면 ExtBuffer[i]=EMPTY_VALUE; } //--- OnCalculate 완료. 새로운 prev_calculated를 반환합니다. 반환(요금 합계); }
무슨 일인지 말해줘, 나는 타이머가 어떤 종류의 문제인지 이해할 수 없어?
스크립트가 차트에 추가된 순간부터 완료될 때까지 전체 로그를 제공하는 것이 좋습니다.
지정된 로그에 따르면 명확한 표시가 없습니다.
저는 Metatrader와 MQL5를 마스터하기 시작했습니다. 나만의 지표를 만들려고 합니다.
나는 표준 프랙탈 지표를 기반으로 저항 및 지지 수준을 만들기로 결정했습니다.
몇 가지를 변경하고 많이 제거하거나 주석을 달았습니다. 결과는 다음 코드입니다.
#속성 표시기_차트_창#속성 표시기_버퍼 1
#속성 표시기_플롯 1
#속성 표시기_유형1 DRAW_LINE
#property indicator_color1 clrDeepPink
#property indicator_label1 "레벨"
#속성 표시기_스타일1 STYLE_SOLID
#속성 표시기_너비1 1
//---- 표시기 버퍼
이중 확장 버퍼[];
//+----------------------------------------------- --------------------+
//| 사용자 지정 표시기 초기화 기능 |
//+----------------------------------------------- --------------------+
무효 OnInit()
{
//---- 표시기 버퍼 매핑
SetIndexBuffer(0,ExtBuffer,INDICATOR_DATA);
IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
// 차트 정확도와 동일한 표시기 정확도??
//---- 그릴 인덱스의 첫 번째 막대를 설정합니다.
// PlotIndexSetInteger(0,PLOT_ARROW,217);
// PlotIndexSetInteger(1,PLOT_ARROW,218);
//---- 그릴 때 화살표 이동
// PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,ExtArrowShift);
// PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,-ExtArrowShift);
//---- 그리기 라인의 빈 값을 설정합니다--
// PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE);
// PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE);
//---- 초기화 완료
}
//+----------------------------------------------- --------------------+
//| 가속기/감속기 발진기 |
//+----------------------------------------------- --------------------+
int OnCalculate(const int Rates_total, // 입력 막대의 수
const int prev_calculated, // 이전 호출에서 처리된 막대
const 날짜/시간 및 시간[],
const 이중 및 열기[],
const 더블 & 하이[],
const 이중 및 낮음[],
const 이중 닫기[],
const long &TickVolume[],
상수 긴 볼륨[],
상수 정수(&Spread)[])
{
int i, 제한;
//---
if(rate_total<5)
리턴(0);
//---
if(prev_calculated<7)
{
한계=2;
//--- 배열 정리
ArrayInitialize(ExtBuffer,EMPTY_VALUE);
}
그렇지 않으면 한도=rates_total-5;
for(i=limit;i<rates_total-3 && !IsStopped();i++)
{
//---- 상부 프랙탈
if(높음[i]>높음[i+1] && 높음[i]>높음[i+2] && 높음[i]>=높음[i-1] && 높음[i]>=높음[i-2 ])
ExtBuffer[i]=높음[i];
그렇지 않으면 ExtBuffer[i]=EMPTY_VALUE;
//---- 하부 프랙탈
if(낮음[i]<낮음[i+1] && 낮음[i]<낮음[i+2] && 낮음[i]<=낮음[i-1] && 낮음[i]<=낮음[i-2 ])
ExtBuffer[i]=낮음[i];
그렇지 않으면 ExtBuffer[i]=EMPTY_VALUE;
}
//--- OnCalculate 완료. 새로운 prev_calculated를 반환합니다.
반환(요금 합계);
}
//+----------------------------------------------- --------------------+
컴파일하는 동안 오류가 없습니다. 그러나 선(레벨)은 그려지지 않습니다.
프롬프트, 무엇에 trabl이 있을 수 있습니까?
프롬프트, 무엇에 trabl이 있을 수 있습니까?
선이 보이려면 인접한 막대에 두 개 이상의 점이 있어야 합니다.
노력하다
네.
추신: 포럼에 코드에 대한 멋진 SRC 버튼이 있습니다. 사용)
주문을 제출할 때 오류가 발생합니다.. 그 이유는 무엇입니까?
2012.02.08 19:15:22 패턴 (EURUSD,M10) CTrade::PositionOpen: 구매 요청 0.10(null) at 1.32710 sl: 1.32530 tp: 1.33021 [잘못된 요청]
빌드 581로 업데이트되었습니다.
어떤 이유로 EURUSD의 경우 AD 및 OBV 거래량 지표의 판독값은 실선입니다. 사진이 첨부되어 있습니다.
이러한 이유로 Expert Advisor의 테스트 및 최적화는 무용지물이 되었습니다.
TREND 개체에 기울임꼴 레이블("설명")을 설정할 수 없습니다. 처음에는 프로그래밍 방식으로 실패했습니다.
그러다가 저도 손으로 글씨를 새길 수 없다는 걸 알게 되었어요.. 제가 잘못하고 있는건지..
MT4에서:
코드의 경우:
class Test1
{
public:
void Test1(int i) {}
};
class Test2: public Test1
{
public:
void Test2(int i) {}
};
오류가 발생합니다.
'Test1' - 잘못된 매개변수 개수 test.mqh 10 8
이 문제는 여기 어딘가에서 논의되었지만 해결책을 찾지 못했습니다.
다음과 같이 "해결됨":
class Test1
{
protected:
void Test1() {}
public:
void Test1(int i) {}
};
class Test2: public Test1
{
public:
void Test2(int i) {}
};
그러나 어떻게 든 그것은 잘못되었습니다.
내가 무엇을 잘못하고 있지?
TREND 개체에 기울임꼴 레이블("설명")을 설정할 수 없습니다. 처음에는 프로그래밍 방식으로 실패했습니다.
그러다가 저도 손으로 글씨를 새길 수 없다는 걸 알게 되었어요.. 제가 잘못하고 있는건지..
MIGBank-Demo의 서버가 된 후 연결에 지속적인 문제가 있었고 현재 연결할 수 없습니다.