코딩 도움말 - 페이지 111

 

매우 감사합니다! 당신은 너무 좋아!

 

여보세요,

아래 설명과 같이 차트에 스윙 포인트만 표시하는 지표를 아는 사람이 있습니까(예: Pipware 대시보드에 있음):

프랙탈 브레이크아웃 전략

앞서 언급했듯이 가격 행동은 물결 모양으로 움직입니다. 추세 방향(위 또는 아래)은 연속적인 고점과 저점에 의해 결정됩니다.

UP TREND는 이러한 파도가 더 높은 고점과 더 높은 저점을 만들 때입니다.

DOWN TREND는 이러한 파도가 저점을 낮추고 고점을 낮출 때입니다.

프랙탈은 높고 낮기 때문에 추세 방향을 결정하는 데 사용할 수 있습니다.

GU H4 차트(오른쪽)를 고려하십시오. 지점 A 이전의 추세는 위쪽입니다. 즉, 두 번째 낮은 프랙탈이 첫 번째 것보다 높습니다. 두 번째 높은 프랙탈이 첫 번째 것보다 높습니다.

A 지점에서 새로운 낮은 프랙탈이 형성되고 이전 두 개의 낮은 프랙탈보다 높습니다(UP 추세 지속). 점 A 바로 뒤의 양초는 새로운 하이 프랙탈을 형성했습니다. 이 프랙탈은 추세 방향의 가능한 변화를 나타내는 이전의 높은 프랙탈 보다 낮습니다. 점 B 아래의 양초는 점 A(녹색 선)의 프랙탈 수준을 '파괴'합니다. 추세 방향이 DOWN으로 변경되었음을 나타내는 빨간색 화살표가 그려집니다.

ArrowsOn=true로 화살표를 표시할 수 있습니다. 참고: 화살표는 프랙탈 브레이크가 추세 방향을 변경할 때만 그려집니다. 예를 들어, 점 B 이후에는 더 낮은 프랙탈이 계속해서 깨집니다(2번 더).

B 지점 이후에는 하이 프랙탈이 깨질 때까지 추세가 DOWN으로 간주됩니다. 점 C 직전에 더 높은 낮은 프랙탈이 형성됩니다. 추세 방향은 여전히 DOWN으로 간주됩니다. 아직 높은 프랙탈이 깨지지 않았습니다.

점 E에서 점 C의 하이 프랙탈이 깨집니다. 비록 작은 틈이지만 추세 방향의 변화를 나타내는 지점 D에 녹색 화살표가 그려집니다. 추세는 이제 다음 낮은 프랙탈 브레이크까지 UP으로 간주됩니다.

많은 도움을 주셔서 감사합니다.

최상의,

그링고

 

감사합니다 Mladen, 완벽합니다!!! 이와 같이 표시기에 다른 줄을 추가하려면 코드를 어떻게 수정합니까? 미리 감사합니다....

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 Red

#property indicator_color2 Blue

double UpperBuf[];

double UpperBuf1[];

double UpperBufb[];

double UpperBuf1b[];

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

//| |

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

void init()

{

IndicatorBuffers(4);

SetIndexBuffer(0, UpperBuf1);

SetIndexBuffer(1, UpperBuf1b);

SetIndexBuffer(2, UpperBuf);

SetIndexBuffer(3, UpperBufb);

}

void deinit() {}

void start()

{

int counted = IndicatorCounted();

if(counted < 0) return (-1);

if(counted > 0) counted--;

int limit = Bars - counted;

for(int i = 0; i < limit; i++)

if (Close!=0)

UpperBuf= ((High/Close)-34)*Volume;

else UpperBuf= 0;

for( i = 0; i < limit; i++) UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);

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

if (Close!=0)

UpperBufb= ((High/Close)-34)*Volume;

else UpperBufb= 0;

for( i = 0; i < limit; i++) UpperBuf1b= iMAOnArray(UpperBufb,0,33,0,MODE_EMA,i);

}

 
k3rn3l:
감사합니다 Mladen, 완벽합니다!!! 이와 같이 표시기에 다른 줄을 추가하려면 코드를 어떻게 수정합니까? 미리 감사합니다....

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 Red

#property indicator_color2 Blue

double UpperBuf[];

double UpperBuf1[];

double UpperBufb[];

double UpperBuf1b[];

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

//| |

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

void init()

{

IndicatorBuffers(4);

SetIndexBuffer(0, UpperBuf1);

SetIndexBuffer(1, UpperBuf1b);

SetIndexBuffer(2, UpperBuf);

SetIndexBuffer(3, UpperBufb);

}

void deinit() {}

void start()

{

int counted = IndicatorCounted();

if(counted < 0) return (-1);

if(counted > 0) counted--;

int limit = Bars - counted;

for(int i = 0; i < limit; i++)

if (Close!=0)

UpperBuf= ((High/Close)-34)*Volume;

else UpperBuf= 0;

for( i = 0; i < limit; i++) UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);

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

if (Close!=0)

UpperBufb= ((High/Close)-34)*Volume;

else UpperBufb= 0;

for( i = 0; i < limit; i++) UpperBuf1b= iMAOnArray(UpperBufb,0,33,0,MODE_EMA,i);

}

k3rn3l

당신은 이미 그것을 했습니다(표시기에 2개의 줄이 있습니다). 하나 더 (3을 가지려면) 두 번째 줄에 대해 한 것과 동일한 작업을 수행하십시오.

 

친애하는 코더,

이 METASTOCK 표시기가 매우 좋은 것으로 나타났습니다. mt4용으로 만들어 주시겠습니까?

x:=Input("연속 하한 마감 - 진입",

0,21,5);

y:=Input("연속 높은 마감 - 종료",

0,21,5);

delay:=Input("입장 및 퇴장 지연",0,5,0);

plot:=Input("signals: [1]Clean, [2]All",

1,2,2);

In:=Sum(C<Ref(C,-1),x)=x;

Out:=Sum(C>Ref(C,-1),y)=y;

초기화:=Cum(In+Out>-1)=1;

InInit:=Cum(In)=1;

플래그:=BarsSince(초기화 또는 입력)

<BarsSince(초기화 또는 출력)+초기화;

신호:=(초기화 및 경고(초기화=0,2)

OR 플래그 AND 경고(플래그=0,2))

-(플래그=0 AND 경고(플래그,2));

0;Ref(If(플롯=1, 신호, 인-아웃),-지연)

 
debashis:
친애하는 코더,

이 METASTOCK 표시기가 매우 좋은 것으로 나타났습니다. mt4용으로 만들어 주시겠습니까?

x:=Input("연속 하한 마감 - 진입",

0,21,5);

y:=Input("연속 높은 마감 - 종료",

0,21,5);

delay:=Input("입장 및 퇴장 지연",0,5,0);

plot:=Input("signals: [1]Clean, [2]All",

1,2,2);

In:=Sum(C<Ref(C,-1),x)=x;

Out:=Sum(C>Ref(C,-1),y)=y;

초기화:=Cum(In+Out>-1)=1;

InInit:=Cum(In)=1;

플래그:=BarsSince(초기화 또는 입력)

<BarsSince(초기화 또는 출력)+초기화;

신호:=(초기화 및 경고(초기화=0,2)

OR 플래그 AND 경고(플래그=0,2))

-(플래그=0 AND 경고(플래그,2));

0;Ref(If(plot=1,signals,In-Out),-delay)

무너뜨리다

그 지표의 이름은 무엇입니까?

 

전문가

"기본 패턴 시스템"이라고 합니다. http://www.metastocktools.com/MetaStock/Pattern01.txt

 

안녕 malden, ASCTrend를 도와주셔서 감사합니다. 이 지표를 만드는 데 도움을 줄 수 있는지 궁금합니다. MaonMa라는 또 다른 지표가 있습니다. (나는 그것들을 첨부할 것이다) 내 생각은 ASCTrend 화살표가 위로 향하고 막대가 노란색 선(60 MA) 위에 있을 때, 긴 거래를 하고, 손절매가 이전 가장 낮을 것이고, 마찬가지로 ASCTrend 가 아래로 화살표 와 막대가 있을 때입니다. 노란색 라인(60 MA) 아래에 있고 매도를 하고 손절매는 이전 최고가입니다. 감사해요.

 

안녕하세요 믈라덴입니다.

당신의 도움이 다시 필요합니다. 화살표 기반 indic에 대해 다음 코드를 설정했습니다. 하지만 그 얼어붙은 PC. 지연을 방지하는 경우 icustom 함수 없이 인도어의 원래 rsi, cci 및 cmo 코드를 사용하여 코드를 다시 작성할 수 있습니까?

#속성 표시기_차트_창

#속성 표시기_버퍼 2

#property indicator_color1 크림슨

#property indicator_color2 로얄블루

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

외부 int barToProcess=100;

//---- 버퍼

이중 ExtMapBuffer1[];

이중 ExtMapBuffer2[];

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

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

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

정수 초기화()

{

//---- 표시기

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,233);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,234);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexEmptyValue(1,0.0);

//----

리턴(0);

}

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

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

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

정수 초기화()

{

//----

//----

리턴(0);

}

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

//| 사용자 지정 표시기 반복 기능 |

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

정수 시작()

{

int counted_bars=IndicatorCounted(),

한계;

if(counted_bars>0)

counted_bars--;

limit=막대-counted_bars;

if(limit>barsToProcess)

제한=barsToProcess;

for(int i=0;i<limit;i++)

{

이중 rsi=iCustom(NULL,0,"rsi",barsToProcess,0,i);

더블 cci=iCustom(NULL,0,"cci",barsToProcess,0,i);

더블 cmo=iCustom(NULL,0,"cmo",barsToProcess,0,i);

if(rsi>60.0 && cci>150.0 && cmo>30.0)

ExtMapBuffer1=높음+5*포인트;

또 다른

ExtMapBuffer1=0.0;

if(rsi<10.0 && cci<-150.0 && cmo<-30.0)

ExtMapBuffer2=낮음-5*포인트;

또 다른

ExtMapBuffer2=0.0;

}

리턴(0);

}

 
anonimm:
안녕하세요 믈라덴입니다.

당신의 도움이 다시 필요합니다. 화살표 기반 indic에 대해 다음 코드를 설정했습니다. 하지만 그 얼어붙은 PC. 지연을 방지하는 경우 icustom 함수 없이 인도어의 원래 rsi, cci 및 cmo 코드를 사용하여 코드를 다시 작성할 수 있습니까?

#속성 표시기_차트_창

#속성 표시기_버퍼 2

#property indicator_color1 크림슨

#property indicator_color2 로얄블루

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

외부 int barToProcess=100;

//---- 버퍼

이중 ExtMapBuffer1[];

이중 ExtMapBuffer2[];

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

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

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

정수 초기화()

{

//---- 표시기

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,233);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,234);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexEmptyValue(1,0.0);

//----

리턴(0);

}

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

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

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

정수 초기화()

{

//----

//----

리턴(0);

}

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

//| 사용자 지정 표시기 반복 기능 |

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

정수 시작()

{

int counted_bars=IndicatorCounted(),

한계;

if(counted_bars>0)

counted_bars--;

limit=막대-counted_bars;

if(limit>barsToProcess)

제한=barsToProcess;

for(int i=0;i<limit;i++)

{

이중 rsi=iCustom(NULL,0,"rsi",barsToProcess,0,i);

더블 cci=iCustom(NULL,0,"cci",barsToProcess,0,i);

더블 cmo=iCustom(NULL,0,"cmo",barsToProcess,0,i);

if(rsi>60.0 && cci>150.0 && cmo>30.0)

ExtMapBuffer1=높음+5*포인트;

또 다른

ExtMapBuffer1=0.0;

if(rsi<10.0 && cci<-150.0 && cmo<-30.0)

ExtMapBuffer2=낮음-5*포인트;

또 다른

ExtMapBuffer2=0.0;

}

리턴(0);

}

rsi 및 cci에 iCustom()을 사용하는 대신 내장 함수 를 사용하십시오.

RSI에 필요한 매개변수:

[TD] 문자열 기호, int timeframe, int period, int apply_price, int shift)
이중 iRSI([/TD] string symbol, int timeframe, int period, int apply_price, int shift)[/TD]

[/TR]

[/테이블]

CCI에 필요한 매개변수:

[표="클래스: docvar"]

[TR]

[TD] 더블 iCCI(

그리고 CMO의 경우 첫 번째 매개변수는 LastBarOnly이고 두 번째 매개변수는 CMO_Range이므로 iCustom() 호출은 다음과 같아야 합니다.

iCustom(NULL,0,"cmo",false,CMORange,0,i);

여기서 CMOrange는 일부 매개변수입니다.