코딩 도움말 - 페이지 689

 

안녕 믈라덴

외환 데이터에서 유사성 분석을 하고 싶습니다.

20.000 bar(OHLC) 히스토리에서 LAST 1 hourly bar(OHLC) 와 가장 상관관계가 높은 1 hourly bar (OHLC 에서 같거나 가장 유사한 값) bar 를 찾고 싶습니다.

피어슨 상관 계수입니다. 20,000바 히스토리에서 마지막 바 값의 유사성을 알아낼 만큼 충분합니까? 스크립트(또는 EA)를 사용하여 메타 트레이더에서 이 분석을 수행할 수 있습니까?감사합니다.

 

친애하는 mlade:

나는 나의 첫 MTF 지표를 만든다

하지만 색상은 블랙

그것을 고치는 방법?

매우 감사합니다

파일:
MTF xb4d.mq4  4 kb
xb4d.mq4  4 kb
 
bilbao :

친애하는 mlade:

나는 나의 첫 MTF 지표를 만든다

하지만 색상은 블랙

그것을 고치는 방법?

매우 감사합니다

#property indicator_color1을 원하는 색상으로 설정합니다(지금은 Black으로 설정되어 있음).
 
nevar :

안녕 믈라덴

외환 데이터에서 유사성 분석을 하고 싶습니다.

20.000 bar(OHLC) 히스토리에서 LAST 1 hourly bar(OHLC) 와 가장 상관관계가 높은 1 hourly bar (OHLC 에서 같거나 가장 유사한 값) bar 를 찾고 싶습니다.

피어슨 상관 계수입니다. 20,000바 히스토리에서 마지막 바 값의 유사성을 알아낼 만큼 충분합니까? 스크립트(또는 EA)를 사용하여 메타 트레이더에서 이 분석을 수행할 수 있습니까?감사합니다.

믈라덴,

그것에 대한 의견이 있습니까?

 
nevar :

믈라덴,

그것에 대한 의견이 있습니까?

Pearson으로 그렇게 할 수 있고 Pearson의 최대값을 가진 막대를 간단히 찾을 수 있습니다. Pearson은 CPU가 무겁지 않기 때문에 모든 시간 프레임과 막대 수에 대해 그렇게 할 수 있습니다. 그래도 표시기에서 수행하는 것이 가장 좋습니다(일부 배열 작업을 피하기 위해)
 
mladen :
#property indicator_color1을 원하는 색상으로 설정합니다(지금은 Black으로 설정되어 있음).

mladen 씨:

나는 그것을하지만 하나의 색상 만 가지고

나는 Bull & Bear Market에 두 가지 색상이 필요합니다.

 
bilbao :

mladen 씨:

나는 그것을하지만 하나의 색상 만 가지고

나는 Bull & Bear Market에 두 가지 색상이 필요합니다.

그런 다음 다르게 코딩해야 합니다(두 개의 색상 히스토그램에 대해 하나가 아닌 두 개의 버퍼를 사용해야 함)
 
mladen :
그런 다음 다르게 코딩해야 합니다(두 개의 색상 히스토그램에 대해 하나가 아닌 두 개의 버퍼를 사용해야 함)

맞습니까 선생님?

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

//| MTF_xb4d.mq4 |

//|------------------------------------------------- -------------------+


#속성 표시기_분리_창

#속성 표시기_버퍼 2

#property indicator_color1 라임그린

#속성 표시기_너비1 2

#property indicator_color2 창백한 바이올렛레드

#속성 표시기_너비2 2

//---- 입력 매개변수

/**************************************************** ************************

PERIOD_M1 1

PERIOD_M5 5

PERIOD_M15 15

PERIOD_M30 30

PERIOD_H1 60

PERIOD_H4 240

PERIOD_D1 1440

PERIOD_W1 10080

PERIOD_MN1 43200

사용하려는 기간의 숫자 값을 사용해야 합니다.

표시기 입력으로 TimeFrame' 값을 설정할 때.

---------------------------------------*/

외부 정수 TimeFrame=0;

외부 정수 기간 = 10;

외부 정수 AppliedPrice=0;

extern bool SoundAlerts=거짓;

이중 ExtMapBuffer1[];

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

//| 커스텀 인디케이터 초기화 기능 |

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

정수 초기화()

{

//---- 표시줄

SetIndexStyle(0, DRAW_HISTOGRAM);

SetIndexStyle(1, DRAW_HISTOGRAM);

SetIndexBuffer(0, ExtMapBuffer1);

SetIndexBuffer(1, ExtMapBuffer1);

//---- DataWindow의 이름 및 표시기 하위 창 레이블

스위치(시간 프레임)

{

사례 1 : 문자열 TimeFrameStr="Period_M1"; 부서지다;

사례 5 : TimeFrameStr="Period_M5"; 부서지다;

사례 15 : TimeFrameStr="Period_M15"; 부서지다;

사례 30 : TimeFrameStr="Period_M30"; 부서지다;

사례 60 : TimeFrameStr="Period_H1"; 부서지다;

사례 240 : TimeFrameStr="Period_H4"; 부서지다;

사례 1440 : TimeFrameStr="Period_D1"; 부서지다;

사례 10080 : TimeFrameStr="Period_W1"; 부서지다;

사례 43200 : TimeFrameStr="Period_MN1"; 부서지다;

기본값 : TimeFrameStr=" 현재 시간 프레임 ";

}

IndicatorShortName(" MTF_xb4d ( "+TimeFrameStr+" ) ");

리턴(0);

}

//----

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

//| |

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

정수 시작()

{

날짜 시간 시간 배열[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// 정의된 시간 프레임을 현재 시간 프레임에 플롯

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

한계= 바-1;

for(i=0,y=0;i<limit;i++)

{

if (시간[i]<시간배열[y]) y++;

/**************************************************** **********

아래에 주요 표시기 루프를 추가하십시오. 당신은 기존

iName 또는 iCustom이 있는 표시기.

규칙 1: 필요한 모든 값에 대해 위의 외부 입력 추가

규칙 2: 표시기 시간 프레임에 'TimeFrame' 사용

규칙 3: 지표의 이동 값에 'y'를 사용합니다.

************************************************** *****/

ExtMapBuffer1[i]=iCustom(Symbol(),TimeFrame,"xb4d",period,0,y);//iRSI(Symbol(),TimeFrame,period,AppliedPrice,y);

}

if(GlobalVariableGet(Symbol()+"예측자")<0 && ExtMapBuffer1[0]>=0)

if(SoundAlerts){Alert("구매 경고" + Symbol() + " [" + Period() + "] ");PlaySound("alert.wav");}

if(GlobalVariableGet(Symbol()+"previndicator")>=0 && ExtMapBuffer1[0]<0)

if(SoundAlerts){Alert("판매 경고" + Symbol() + " [" + Period() + "] ");PlaySound("alert.wav");}

GlobalVariableSet(Symbol()+"예측자",ExtMapBuffer1[0]);

반환(0);

}

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

 
bilbao :

맞습니까 선생님?

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

//| MTF_xb4d.mq4 |

//|------------------------------------------------- -------------------+


#속성 표시기_분리_창

#속성 표시기_버퍼 2

#property indicator_color1 라임그린

#속성 표시기_너비1 2

#property indicator_color2 창백한 바이올렛레드

#속성 표시기_너비2 2

//---- 입력 매개변수

/**************************************************** ************************

PERIOD_M1 1

PERIOD_M5 5

PERIOD_M15 15

PERIOD_M30 30

PERIOD_H1 60

PERIOD_H4 240

PERIOD_D1 1440

PERIOD_W1 10080

PERIOD_MN1 43200

사용하려는 기간의 숫자 값을 사용해야 합니다.

표시기 입력으로 TimeFrame' 값을 설정할 때.

---------------------------------------*/

외부 정수 TimeFrame=0;

외부 정수 기간 = 10;

외부 정수 AppliedPrice=0;

extern bool SoundAlerts=거짓;

이중 ExtMapBuffer1[];

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

//| 커스텀 인디케이터 초기화 기능 |

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

정수 초기화()

{

//---- 표시줄

SetIndexStyle(0, DRAW_HISTOGRAM);

SetIndexStyle(1, DRAW_HISTOGRAM);

SetIndexBuffer(0, ExtMapBuffer1);

SetIndexBuffer(1, ExtMapBuffer1);

//---- DataWindow의 이름 및 표시기 하위 창 레이블

스위치(시간 프레임)

{

사례 1 : 문자열 TimeFrameStr="Period_M1"; 부서지다;

사례 5 : TimeFrameStr="Period_M5"; 부서지다;

사례 15 : TimeFrameStr="Period_M15"; 부서지다;

사례 30 : TimeFrameStr="Period_M30"; 부서지다;

사례 60 : TimeFrameStr="Period_H1"; 부서지다;

사례 240 : TimeFrameStr="Period_H4"; 부서지다;

사례 1440 : TimeFrameStr="Period_D1"; 부서지다;

사례 10080 : TimeFrameStr="Period_W1"; 부서지다;

사례 43200 : TimeFrameStr="Period_MN1"; 부서지다;

기본값 : TimeFrameStr="현재 시간 프레임";

}

IndicatorShortName(" MTF_xb4d ( "+TimeFrameStr+" ) ");

리턴(0);

}

//----

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

//| |

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

정수 시작()

{

날짜 시간 시간 배열[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// 정의된 시간 프레임을 현재 시간 프레임에 플롯

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

한계= 바-1;

for(i=0,y=0;i<limit;i++)

{

if (시간[i]<시간배열[y]) y++;

/**************************************************** **********

아래에 주요 표시기 루프를 추가하십시오. 당신은 기존

iName 또는 iCustom이 있는 표시기.

규칙 1: 필요한 모든 값에 대해 위의 외부 입력 추가

규칙 2: 표시기 시간 프레임에 'TimeFrame' 사용

규칙 3: 지표의 이동 값에 'y'를 사용합니다.

*********************************************** *****/

ExtMapBuffer1[i]=iCustom(Symbol(),TimeFrame,"xb4d",period,0,y);//iRSI(Symbol(),TimeFrame,period,AppliedPrice,y);

}

if(GlobalVariableGet(Symbol()+"예측자")<0 && ExtMapBuffer1[0]>=0)

if(SoundAlerts){Alert("구매 경고" + Symbol() + " [" + Period() + "] ");PlaySound("alert.wav");}

if(GlobalVariableGet(Symbol()+"previndicator")>=0 && ExtMapBuffer1[0]<0)

if(SoundAlerts){Alert("판매 경고" + Symbol() + " [" + Period() + "] ");PlaySound("alert.wav");}

GlobalVariableSet(Symbol()+"예측자",ExtMapBuffer1[0]);

반환(0);

}

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

원하는 대로 색상이 표시되고 있습니까?
 
mladen :
원하는 대로 색상이 표시되고 있습니까?

친애하는 mladen:

https://www.forex-tsd.com/forum/debates-discussions/1131-multi-timeframe-indicators/page762#comment_1831838에서 mtf를 찾았습니다.

모든 회원에게 도움을 주셔서 대단히 감사합니다.

신이 당신의 삶을 축복합니다