[아카이브!] 어떤 전문가나 지표도 무료로 작성해 드립니다. - 페이지 62

 
Roman. :

맞아요... "샤웁님 수고하셨습니다!!!"
젠장, 관리자는 어디에 있습니까, 당신은 포럼에 허용 될 수 없습니다! 5 학년.
 

/ 조심 - 여름 - 휴일 - shkolota 활성화 /

 

안녕하세요!

우리는 TradeSig를 기반으로 한 지표가 필요하므로 값의 진폭 스케일이 % 단위의 Williams와 동일하고 진폭 범위가 Williams의 것과 같이 0%에서 -100%까지의 레벨 스케일에 맞습니다. .

PS 지표가 서로 겹쳐지면 TradeSig가 "이동"하기 때문에 필요합니다.

미리 감사드립니다.

감사합니다.

파일:
tradesig.mq4  3 kb
 
안녕하세요 친애하는 상인. 나는 시세의 역사에 대한 추세를 아주 잘 보여주는 아주 좋은 채널 표시기를 가지고 있지만 실제 생활에서는 다시 그려집니다. 누가 다시 그리지 않도록 다시 만들 수 있습니까? 나는 매우 감사할 것입니다.

//+----------------------------------------------- --------------------+
//| Multi.Period.mq4 |
//| 저작권 © 2010년, Vladimir Hlystov |
//| cmillion@narod.ru |
//+----------------------------------------------- --------------------+
#property copyright "Copyright © 2010, Vladimir Hlystov"
#속성링크 "http://cmillion.narod.ru"
//+----------------------------------------------- --------------------+
#속성 표시기_차트_창
#속성 표시기_버퍼 8
#property indicator_color1 라임
#속성 표시기_너비1 1
#property indicator_color2 라임
#속성 표시기_너비2 1
#property indicator_color3 파란색
#속성 표시기_너비3 1
#property indicator_color4 파란색
#속성 표시기_너비4 1
#property indicator_color5 녹색
#속성 표시기_너비5 1
#property indicator_color6 녹색
#속성 표시기_너비6 1
#property indicator_color7 빨간색
#속성 표시기_너비7 1
#property indicator_color8 레드
#속성 표시기_너비8 1
//---- 입력 매개변수
/*
PERIOD_M1 1 1분
PERIOD_M5 5 5분
PERIOD_M15 15 15분
PERIOD_M30 30 30분
PERIOD_H1 60 1시간
PERIOD_H4 240 4시간
PERIOD_D1 1440 1일
PERIOD_W1 10080
PERIOD_MN1 43200
*/
외부 int timeframe1 = 5; //기간. 차트 기간 중 하나일 수 있습니다. 0은 현재 차트의 기간을 의미합니다.
extern int timeframe2 = 15; //기간. 차트 기간 중 하나일 수 있습니다. 0은 현재 차트의 기간을 의미합니다.
extern int timeframe3 = 30; //기간. 차트 기간 중 하나일 수 있습니다. 0은 현재 차트의 기간을 의미합니다.
extern int timeframe4 = 60; //기간. 차트 기간 중 하나일 수 있습니다. 0은 현재 차트의 기간을 의미합니다.

//---- 버퍼
더블버퍼1[];
더블버퍼2[];
더블버퍼3[];
더블버퍼4[];
더블버퍼5[];
더블버퍼6[];
더블버퍼7[];
더블버퍼8[];
//+----------------------------------------------- --------------------+
정수 초기화()
{
if (timeframe1<Period()) timeframe1=Period();
if (timeframe2<=timeframe1) timeframe2=next_period(timeframe1+1);
if (timeframe3<=timeframe2) timeframe3=next_period(timeframe2+1);
if (timeframe4<=timeframe3) timeframe4=next_period(timeframe3+1);
//---- 표시줄
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0, 버퍼1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1, 버퍼2);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2, 버퍼3);
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3, 버퍼4);
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4, 버퍼5);
SetIndexStyle(5,DRAW_LINE);
SetIndexBuffer(5, 버퍼6);
SetIndexStyle(6,DRAW_LINE);
SetIndexBuffer(6, 버퍼7);
SetIndexStyle(7,DRAW_LINE);
SetIndexBuffer(7, 버퍼8);
//----
SetIndexLabel(0, "4TF"+StrPer(timeframe1)+StrPer(timeframe2)+StrPer(timeframe3)+StrPer(timeframe4));
반환(0);
}
//+----------------------------------------------- --------------------+
정수 시작()
{
int counted_bars=IndicatorCounted();
if(counted_bars>0) counted_bars--;
int limit=bars-counted_bars;
for(int i=0; i<limit; i++)
{
Buffer1[i] = iMA(NULL,timeframe1,1,0,0,2,iBarShift(NULL,timeframe1,Time[i],false));
Buffer2[i] = iMA(NULL,timeframe1,1,0,0,3,iBarShift(NULL,timeframe1,Time[i],false));
Buffer3[i] = iMA(NULL,timeframe2,1,0,0,2,iBarShift(NULL,timeframe2,Time[i],false));
Buffer4[i] = iMA(NULL,timeframe2,1,0,0,3,iBarShift(NULL,timeframe2,Time[i],false));
Buffer5[i] = iMA(NULL,timeframe3,1,0,0,2,iBarShift(NULL,timeframe3,Time[i],false));
Buffer6[i] = iMA(NULL,timeframe3,1,0,0,3,iBarShift(NULL,timeframe3,Time[i],false));
Buffer7[i] = iMA(NULL,timeframe4,1,0,0,2,iBarShift(NULL,timeframe4,Time[i],false));
Buffer8[i] = iMA(NULL,timeframe4,1,0,0,3,iBarShift(NULL,timeframe4,Time[i],false));
}
반환(0);
}
//+----------------------------------------------- --------------------+
int next_period(int 당)
{
if (> 43200당) return(0);
if (per > 10080) return(43200);
if (> 1440당) return(10080);
if (> 240당) return(1440);
if (per > 60) return(240);
if (> 30당) return(60);
if (per > 15) return(30);
if (per > 5) return(15);
if (per > 1) return(5);
if (== 1당) return(1);
if (per == 0) return(Period());
}
//+----------------------------------------------- --------------------+
문자열 StrPer(int 당)
{
if (== 1 당) return("M1");
if (== 5당) return("M5");
if (per == 15) return("M15");
if (당 == 30) return("M30");
if (per == 60) return("H1");
if (per == 240) return(" H4 ");
if (== 1440당) return(" D1 ");
if (== 10080 당) return(" W1 ");
if (== 43200당) return(" MN1 ");
return("마침표 오류");
}
//+----------------------------------------------- --------------------+
 
sergii7777777 :

안녕하세요 친애하는 상인. 나는 시세의 역사에 대한 추세를 아주 잘 보여주는 아주 좋은 채널 표시기를 가지고 있지만 실제 생활에서는 다시 그려집니다. 누가 다시 그리지 않도록 다시 만들 수 있습니까? 나는 매우 감사할 것입니다.

다시 그리지 않습니다 - 가격이 움직이는 것처럼 채널이 변경됩니다.
 
실제 인용문에 대한 채널을 그리는 방식으로 작성되었다면 인용문 이력에서 테스트할 때 환상적일 것이기 때문입니다. 100% 성배 .
 
sergii7777777 :
실제 인용문에 대한 채널을 그리는 방식으로 작성되었다면 인용문 이력에서 테스트할 때 환상적일 것이기 때문입니다. 100% 성배.


"실제 인용문"의 개념은 무엇을 의미합니까? 아직 존재하지 않는 인용문, 곧 나타날 인용문은 무엇입니까?

표시기는 현재 시세를 기반으로 채널을 구축합니다.

새로운 따옴표가 도착하면 상황이 변하기 때문에 채널이 변경됩니다.

아니면 명확하지 않습니까?

 
sergii7777777 :
실제 인용문에 대한 채널을 그리는 방식으로 작성되었다면 인용문 이력에서 테스트할 때 환상적일 것이기 때문입니다. 100% 성배.

그렇게 쓸 필요는 없습니다. Expert Advisor가 가장 오래된 기간의 속도로 작동해야 한다는 것을 이해하는 것으로 충분합니다.

즉, EA에서 가장 오래된 시간대에 이미 고정된 막대에서 시간 데이터를 수신해야 합니다.

그러면 Expert Advisor에서 신호를 다시 그리는 데 문제가 없습니다.

 

안녕하세요! 표시기에서 ZZ 광선이 나타나는 순간 막대에 신호가 나타나고 모든 것이 작동하는 것에서 정확합니다.

나는 TF 매개변수를 추가하여 구형 TF(작동하는 M30, 구형 H1)를 감시하기로 결정했습니다 ... 쓰레기로 판명되었습니다(잘못된 막대의 신호 및 잘못된 빔 표시)

어디서 난리났어? ..말해줘 플리즈. 미리 고마워!!

//+----------------------------------------------- --------------------+
//| 디나폴리 ZZ(지그재그).mq4 |
//| 작성자 CrazyChart |
//| |
//+----------------------------------------------- --------------------+
#property copyright "CrazyChart에서 다시 작성"
#속성 링크 ""

#속성 표시기_차트_창
#속성 표시기_버퍼 5
#property indicator_color1 빨간색
#property indicator_color2 노란색
#property indicator_color3 아쿠아
#property indicator_color4 녹색
#property indicator_color5 난초
//---- 입력 매개변수
extern int barn=1000;
외부 정수 길이=6;
외부 정수 TF = 0;
//---- 버퍼
이중 ExtMapBuffer1[];
이중 ExtMapBuffer2[];
이중 ExtMapBuffer3[];
이중 ExtMapBuffer4[];
이중 ExtMapBuffer5[];
//이중 ExtMapBuffer2[];
//+----------------------------------------------- --------------------+
//| 사용자 지정 표시기 초기화 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
//---- 표시기
SetIndexEmptyValue(0,0.0);
SetIndexStyle(0,DRAW_SECTION);
SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,159);
SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,159);
SetIndexBuffer(2,ExtMapBuffer3);

SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,186);
SetIndexBuffer(3,ExtMapBuffer4);

SetIndexStyle(4,DRAW_ARROW);
SetIndexArrow(4,187);
SetIndexBuffer(4,ExtMapBuffer5);





//----
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 고객 표시기 초기화 해제 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{

리턴(0);
}
//+----------------------------------------------- --------------------+
//| 사용자 지정 표시기 반복 기능 |
//+----------------------------------------------- --------------------+
정수 시작()
{
int counted_bars=IndicatorCounted();
int shift,Swing,Swing_n,i,uzl,zu,zd,mv;
이중 LL,HH,BH,BL,NH,NL,shf;
더블유젤[10000][3];
문자열 텍스트;
// 첫 번째 막대에서 현재 막대로 루프(shift=0)
스윙_n=0; 스윙=0;uzl=0;
BH =iHigh(NULL, TF, 헛간);BL=iLow(NULL, TF, 헛간);zu=barn;zd=barn;

for (shift=barn;shift>=0;shift--) {
ExtMapBuffer2[shift]=EMPTY_VALUE;
ExtMapBuffer3[shift]=EMPTY_VALUE;
ExtMapBuffer4[shift]=EMPTY_VALUE;
ExtMapBuffer5[shift]=EMPTY_VALUE;
shf=0.2;
LL=10000000;HH=-100000000;
for (i=shift+길이;i>=shift+1;i--) {
if (iLow(NULL, TF,i)< LL) {LL=iLow(NULL, TF,i);}
if (iHigh(NULL, TF,i)>HH) {HH=iHigh(NULL, TF,i);}
}


if (iLow(NULL, TF,shift)<LL && iHigh(NULL, TF,shift)>HH){
스윙=2;
if (Swing_n==1) {zu=shift+1;}
if (Swing_n==-1) {zd=shift+1;}
} 또 다른 {
if (iLow(NULL, TF,shift)<LL) {Swing=-1;}
if (iHigh(NULL, TF,shift)>HH) {Swing=1;}
}

if (Swing!=Swing_n && Swing_n!=0) {
if (스윙==2) {
스윙=-Swing_n;BH = iHigh(NULL,TF,시프트);BL = iLow(NULL,TF,시프트);
}
uzl=uzl+1;
//하한점
if (스윙==1) {
우젤[uzl][1]=zd;
우젤[uzl][2]=BL;
ExtMapBuffer2[시프트]=BL;
Print("ExtMapBuffer2[shift] ", ExtMapBuffer2[shift]);

ExtMapBuffer5[shift+3]=BL-shf;

}
// 상단 포인트
if (스윙==-1) {
우젤[uzl][1]=zu;
우젤[uzl][2]=BH;
ExtMapBuffer3[shift]=BH;
ExtMapBuffer4[shift+1]=BH+shf;
Print("ExtMapBuffer3[shift] ", ExtMapBuffer3[shift]);

}
BH = iHigh(NULL, TF, 시프트);
BL = iLow(NULL, TF, 시프트);
}

if (스윙==1) {
if (iHigh(NULL, TF,shift)>=BH) {BH=iHigh(NULL, TF,shift);zu=shift;}}
if (스윙==-1) {
if (iLow(NULL,TF,shift)<=BL) {BL=iLow(NULL,TF,shift); zd=시프트;}}
Swing_n=스윙;
}


(i=1;i<=uzl;i++) {
mv=StrToInteger(DoubleToStr(Uzel[i][1],0));
ExtMapBuffer1[mv]=우젤[i][2];
// Print("MV 매개변수", ExtMapBuffer1[mv]);
}





리턴(0);
}
//+----------------------------------------------- --------------------+

 

지표 작성 에 도움을 요청합니다.

기록을 기반으로 가능한 가격 반전을 보여줄 지표 또는 스크립트(어떤 일이 일어날 것이며 어떻게 개선될 것인지)를 작성해야 합니다.

첨부파일의 TK.

미리 감사드립니다.

진심으로, 키릴.

질문이 있으시면 onepips@bk.ru로 이메일을 보내주십시오.