엘리트 지표 :) - 페이지 199

 

디지털 필터 EA 정보

믈라덴, MrTools,

#1987에서 #1989에 표시된 디지털 필터는 매우 인상적입니다.

이것을 사용하여 EA를 시도하고 싶습니다. 값을 추출하도록 iCustom을 설정하는 방법을 설명할 수 있습니까?

차트 평활화 - 모드 1(SATL) 및 모드 0(FATL)의 디지털 필터를 선택하는 것이 좋습니다.

EA 논리는 간단할 수 있습니다. FATL > SATL이고 둘 다의 기울기가 양수일 때 매수합니다. 판매 반대; FATL 기울기 = 0일 때 닫습니다.

여기에서 기울기를 가장 잘 계산하는 방법에 대한 권장 사항이 있습니까?

감사해요!

렉스

 
mladen:
렉스

평활화되지 않은 버전의 기울기를 찾으려면 다음과 같이 사용할 수 있습니다.

int price = PRICE_CLOSE;

int filterType;

filterType = 0;

double fatlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double fatlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 1;

double satlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double satlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 2;

double rftlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double rftlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 3;

double rstlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double rstlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

//

//

// slope of any of the values, fatl in this case

//

//

bool slopeUp = false;

bool slopeDown = false;

if (fatlCurrent>fatlPrevious) slopeUp = true;

if (fatlCurrent<fatlPrevious) slopeUp = true;

[/php]to find it out in the smoothed version use something like this (additional parameters needed in iCustom() call)

int length = 5;

int phase = 0

int price = PRICE_CLOSE;

int filterType;

filterType = 0;

double fatlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double fatlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 1;

double satlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double satlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 2;

double rftlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double rftlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 3;

double rstlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double rstlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

//

//

// slope of any of the values, fatl in this case

//

//

bool slopeUp = false;

bool slopeDown = false;

if (fatlCurrent>fatlPrevious) slopeUp = true;

if (fatlCurrent<fatlPrevious) slopeUp = true;

[/php]Both examples are using current (open) bar value. To avoid it change the last parameter from 0 and 1 to 1 and 2. Also, included even unnecessary values calculations (as you can see all the digital filters types are calculated) in order to show how to retreive every value

To compare values of different filters simply compare (for example) if (fatlCurrent>rftlCurrent) or if (fatlCurrent<rftlCurrent) but that just shows their relative values. It does not show if they just crossed one above/bellow the other

______________________

To find crossings of a different filters, it gets a bit more complicated and the best way is to write a new indicator. It is more complicated because it depends how do you treat eventual equal values of two indicators. I prefer to treat them as a trend continuation and not as a possible trend reversal. Attaching an indicator that will show you "trends" (a simple "bigger"/ "smaller" relation) of 2 digital filters. To use it all you need is to check the value that is even not going to be displayed anywhere on chart, like this

[php] int price = PRICE_CLOSE;

int filterType1 = 0; // fatl

int filterType2 = 2; // rftl

int filtersTrendCurrent = iCustom(NULL,0,"Digital filters - on chart trend","",filterType1,FilterType2,price,5,0); // retrieve value from trend buffer

int filtersTrendPrevious = iCustom(NULL,0,"Digital filters - on chart trend","",filterType1,FilterType2,price,5,1); //

if (filterTrendCurrent!= filterTrendPrevious) // trend just changed

{

if (filtersTrendCurrent== 1) ....// trend changed to up

if (filtersTrendCurrent==-1) ....// trend changed to down

}

Also, the remark for a opened bar stands for this example too, so change the last parameter to desired value (1 for closed bar, for example) if you do not want to use opened bar signals. The target indicator is the histogram down on the picture (fatl / rftl crosses in this case on a 5 minute chart)
And in the end, you could do something like this :

[php] if (filterTrendCurrent!= filterTrendPrevious) // trend just changed

{

if ( fatlCurrent>fatlPrevious && rftlCurrent>rftlPrevious && filtersTrendCurrent== 1) Buy...

if ( fatlCurrent<fatlPrevious && eftlCurrent<rftlPrevious && filtersTrendCurrent==-1) Sell....

}

//

// the danger is that the slope and the crosses are not going to change in the same

// moment and buying or selling on every bar when slopes are equal would cause an

// EA to "overtrade"

//

그러나 제 생각에는 십자형을 확인하고 필터링을 위해 완전히 다른 기울기를 사용하는 것으로 충분합니다(이 예에서는 빠른 디지털 필터가 사용된 다음 느린 디지털 필터(satl 또는 rstl)를 "기울기" 필터링 필터로 사용할 수 있음)

__________________________

추신: EA의 경우 값을 표시하지 않는 표시기를 작성하는 것을 고려할 수도 있지만(이 경우 이 histo 버전에서 버퍼 2개를 절약할 수 있음), 이 경우에는 무엇을 하고 있는지 101% 확신해야 합니다. 코드 포함("시각적 제어" 없음)

문안 인사

믈라덴

렉스,

Mladen의 이 디지털 표시기는 E를 위한 아주 좋은 선택이며 다른 이전 버전과 비교하여 Cpu에서 얼마나 가벼운지 알아차릴 준비가 되어 있습니다. 컴퓨터가 고통받는 여러 시간 프레임에서 특히 STLM 슬로프를 사용하여 이전 디지털 버전으로 많은 Ea를 만들었습니다. 이것들은 똑같이 좋거나 더 낫지만 훨씬 가벼워 보입니다.

문안 인사

도구

 

믈라덴, 미스터툴스,

그것이 바로 내가 기대했던 것입니다!

이것은 큰 도움이 됩니다.

다시 한번 감사합니다.

렉스

 

렉스

평활화되지 않은 버전의 기울기를 찾으려면 다음과 같이 사용할 수 있습니다.

int price = PRICE_CLOSE;

int filterType;

filterType = 0;

double fatlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double fatlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 1;

double satlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double satlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 2;

double rftlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double rftlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 3;

double rstlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double rstlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

//

//

// slope of any of the values, fatl in this case

//

//

bool slopeUp = false;

bool slopeDown = false;

if (fatlCurrent>fatlPrevious) slopeUp = true;

if (fatlCurrent<fatlPrevious) slopeUp = true;

[/php]to find it out in the smoothed version use something like this (additional parameters needed in iCustom() call)

int length = 5;

int phase = 0

int price = PRICE_CLOSE;

int filterType;

filterType = 0;

double fatlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double fatlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 1;

double satlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double satlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 2;

double rftlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double rftlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 3;

double rstlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double rstlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

//

//

// slope of any of the values, fatl in this case

//

//

bool slopeUp = false;

bool slopeDown = false;

if (fatlCurrent>fatlPrevious) slopeUp = true;

if (fatlCurrent<fatlPrevious) slopeUp = true;

[/php]Both examples are using current (open) bar value. To avoid it change the last parameter from 0 and 1 to 1 and 2. Also, included even unnecessary values calculations (as you can see all the digital filters types are calculated) in order to show how to retreive every value

To compare values of different filters simply compare (for example) if (fatlCurrent>rftlCurrent) or if (fatlCurrent<rftlCurrent) but that just shows their relative values. It does not show if they just crossed one above/bellow the other

______________________

To find crossings of a different filters, it gets a bit more complicated and the best way is to write a new indicator. It is more complicated because it depends how do you treat eventual equal values of two indicators. I prefer to treat them as a trend continuation and not as a possible trend reversal. Attaching an indicator that will show you "trends" (a simple "bigger"/ "smaller" relation) of 2 digital filters. To use it all you need is to check the value that is even not going to be displayed anywhere on chart, like this

[php] int price = PRICE_CLOSE;

int filterType1 = 0; // fatl

int filterType2 = 2; // rftl

int filtersTrendCurrent = iCustom(NULL,0,"Digital filters - on chart trend","",filterType1,FilterType2,price,5,0); // retrieve value from trend buffer

int filtersTrendPrevious = iCustom(NULL,0,"Digital filters - on chart trend","",filterType1,FilterType2,price,5,1); //

if (filterTrendCurrent!= filterTrendPrevious) // trend just changed

{

if (filtersTrendCurrent== 1) ....// trend changed to up

if (filtersTrendCurrent==-1) ....// trend changed to down

}

Also, the remark for a opened bar stands for this example too, so change the last parameter to desired value (1 for closed bar, for example) if you do not want to use opened bar signals. The target indicator is the histogram down on the picture (fatl / rftl crosses in this case on a 5 minute chart)
And in the end, you could do something like this :

[php] if (filterTrendCurrent!= filterTrendPrevious) // trend just changed

{

if ( fatlCurrent>fatlPrevious && rftlCurrent>rftlPrevious && filtersTrendCurrent== 1) Buy...

if ( fatlCurrent<fatlPrevious && eftlCurrent<rftlPrevious && filtersTrendCurrent==-1) Sell....

}

//

// the danger is that the slope and the crosses are not going to change in the same

// moment and buying or selling on every bar when slopes are equal would cause an

// EA to "overtrade"

//

그러나 제 생각에는 십자가를 확인하고 필터링을 위해 완전히 다른 기울기를 사용하는 것으로 충분합니다(이 예에서는 빠른 디지털 필터가 사용된 다음 느린 디지털 필터(satl 또는 rstl)를 "기울기" 필터링 필터로 사용할 수 있음)

__________________________

추신: EA의 경우 값을 표시하지 않는 표시기를 작성하는 것을 고려할 수도 있지만(이 경우 이 histo 버전에서 버퍼 2개를 절약할 수 있음), 이 경우에는 무엇을 하고 있는지 101% 확신해야 합니다. 코드 포함("시각적 제어" 없음)

__________________________

PPS: 이 게시물에서 올바른 "디지털 필터 - 차트 추세" 표시기를 찾을 수 있습니다. https://www.mql5.com/en/forum/general

문안 인사

믈라덴

rdoane:
믈라덴, MrTools,

#1987에서 #1989에 표시된 디지털 필터는 매우 인상적입니다.

이것을 사용하여 EA를 시도하고 싶습니다. 값을 추출하도록 iCustom을 설정하는 방법을 설명할 수 있습니까?

차트 평활화 - 모드 1(SATL) 및 모드 0(FATL)의 디지털 필터를 선택하는 것이 좋습니다.

EA 논리는 간단할 수 있습니다. FATL > SATL이고 둘 다의 기울기가 양수일 때 매수합니다. 판매 반대; FATL 기울기 = 0일 때 닫습니다.

여기에서 기울기를 가장 잘 계산하는 방법에 대한 권장 사항이 있습니까?

감사해요!

렉스
파일:
 

원래 이 게시물( https://www.mql5.com/en/forum/general )에 게시된 "디지털 필터 - 차트 동향"에서 하나의 오류가 있었습니다. 이것은 수정된 것이므로 이것을 사용하십시오

문안 인사

믈라덴

 

믈라덴,

이 표시기에 다시 칠하지 않는 채색 및 mtf 옵션을 추가할 수 있습니까?감사합니다.

파일:
rsi_ma.mq4  4 kb
[삭제]  

PC 브레이크아웃

믈라덴,

가상 사설 서버 에서 EA를 사용하고 있습니다. 티켓 번호에 마우스를 가져가면 "PC-Breakout"이라는 메시지가 표시되는 경우가 있습니다.

무슨 뜻인가요 ? 연결이 끊어졌습니까 아니면 서버를 다시 시작할 수 있습니까?

감사해요

문안 인사,

 
casaliss:
안녕 mladen

현재 차트에 0선 십자 화살표를 추가하세요.

감사해요

안녕 믈라덴

1997년 이후

감사해요

 

Tradefx1

내 생각에 그것은 귀하의 EA가 주문에 대해 배치하는 설명입니다(주문 목록에서 마우스 오른쪽 버튼을 클릭할 때 "설명"도 확인 하고 귀하가 받는 팝업 텍스트와 해당 설명이 일치하는지 확인하십시오)

문안 인사

믈라덴

Tradefx1:
믈라덴,

가상 사설 서버에서 EA를 사용하고 있습니다. 티켓 번호에 마우스를 가져가면 "PC-Breakout"이라는 메시지가 표시되는 경우가 있습니다.

무슨 뜻인가요 ? 연결이 끊어졌습니까 아니면 서버를 다시 시작할 수 있습니까?

감사해요

문안 인사,
 

비딕

여기 당신이 간다
추신: "mtf" 부분을 간과했습니다. mtf 버전도 첨부

문안 인사

믈라덴

biddick:
Mladen, 이 표시기에 다시 칠하지 않는 채색 및 mtf 옵션을 추가할 수 있습니까?감사합니다.
파일: