커뮤니티

수식 부탁드립니다.

프로필 이미지
무지개나날들
2011-04-15 09:01:08
907
글번호 37638
답변완료
번거롭게 해서 죄송하지만 이번 식 좀 예스로 변환 부탁드립니다. //+------------------------------------------------------------------+ //| //| Ramdass - Conversion only //+------------------------------------------------------------------+ #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Magenta #property indicator_color2 Aqua //---- input parameters extern int RISK=3; extern int CountBars=300; //---- buffers double val1[]; double val2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicator line IndicatorBuffers(2); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,234); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,233); SetIndexBuffer(0,val1); SetIndexBuffer(1,val2); //---- return(0); } //+------------------------------------------------------------------+ //| ASCTrend1sig | //+------------------------------------------------------------------+ int start() { if (CountBars>=1000) CountBars=950; SetIndexDrawBegin(0,Bars-CountBars+11+1); SetIndexDrawBegin(1,Bars-CountBars+11+1); int i,shift,counted_bars=IndicatorCounted(); int Counter,i1,value10,value11; double value1,x1,x2; double value2,value3; double TrueCount,Range,AvgRange,MRO1,MRO2; double Table_value2[1000]; value10=3+RISK*2; x1=67+RISK; x2=33-RISK; value11=value10; //---- if(Bars<=11+1) return(0); //---- initial zero if(counted_bars<11+1) { for(i=1;i<=0;i++) val1[CountBars-i]=0.0; for(i=1;i<=0;i++) val2[CountBars-i]=0.0; } //---- shift=CountBars-11-1; while(shift>=0) { Counter=shift; Range=0.0; AvgRange=0.0; for (Counter=shift; Counter<=shift+9; Counter++) AvgRange=AvgRange+MathAbs(High[Counter]-Low[Counter]); Range=AvgRange/10; Counter=shift; TrueCount=0; while (Counter<shift+9 && TrueCount<1) {if (MathAbs(Open[Counter]-Close[Counter+1])>=Range*2.0) TrueCount=TrueCount+1; Counter=Counter+1; } if (TrueCount>=1) {MRO1=Counter;} else {MRO1=-1;} Counter=shift; TrueCount=0; while (Counter<shift+6 && TrueCount<1) {if (MathAbs(Close[Counter+3]-Close[Counter])>=Range*4.6) TrueCount=TrueCount+1; Counter=Counter+1; } if (TrueCount>=1) {MRO2=Counter;} else {MRO2=-1;} if (MRO1>-1) {value11=3;} else {value11=value10;} if (MRO2>-1) {value11=4;} else {value11=value10;} value2=100-MathAbs(iWPR(NULL,0,value11,shift)); // PercentR(value11=9) Table_value2[shift]=value2; val1[shift]=0; val2[shift]=0; value3=0; if (value2<x2) {i1=1; while (Table_value2[shift+i1]>=x2 && Table_value2[shift+i1]<=x1){i1++;} if (Table_value2[shift+i1]>x1) { value3=High[shift]+Range*0.5; val1[shift]=value3; } } if (value2>x1) {i1=1; while (Table_value2[shift+i1]>=x2 && Table_value2[shift+i1]<=x1){i1++;} if (Table_value2[shift+i1]<x2) { value3=Low[shift]-Range*0.5; val2[shift]=value3; } } shift--; } return(0); } //+------------------------------------------------------------------+ 위 식은 메타에 있는 수식으로 조건이 맞으면 매도는 ↓를 해당캔들위에 매수는 ↑를 해당 캔들 아래에 표시합니다. bars는 현 차트의 캔들 개수이고 High와 Low는 Highest와 Lowest와 같은 뜻이 듯하고 iWPR 은 윌리엄의 % R 수식입니다. 예스로 변환 좀 부탁드립니다.
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2011-04-15 11:09:05

안녕하세요 예스스탁입니다. 메타언어는 사용해 본 경험이 없어 수식의 독해가 되지 않아 변환을 해 드릴 수 없습니다. 내용을 글로 풀어 올려주셔야 식으고 작성이 가능할 것 같습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > 무지개나날들 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 번거롭게 해서 죄송하지만 이번 식 좀 예스로 변환 부탁드립니다. //+------------------------------------------------------------------+ //| //| Ramdass - Conversion only //+------------------------------------------------------------------+ #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Magenta #property indicator_color2 Aqua //---- input parameters extern int RISK=3; extern int CountBars=300; //---- buffers double val1[]; double val2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicator line IndicatorBuffers(2); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,234); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,233); SetIndexBuffer(0,val1); SetIndexBuffer(1,val2); //---- return(0); } //+------------------------------------------------------------------+ //| ASCTrend1sig | //+------------------------------------------------------------------+ int start() { if (CountBars>=1000) CountBars=950; SetIndexDrawBegin(0,Bars-CountBars+11+1); SetIndexDrawBegin(1,Bars-CountBars+11+1); int i,shift,counted_bars=IndicatorCounted(); int Counter,i1,value10,value11; double value1,x1,x2; double value2,value3; double TrueCount,Range,AvgRange,MRO1,MRO2; double Table_value2[1000]; value10=3+RISK*2; x1=67+RISK; x2=33-RISK; value11=value10; //---- if(Bars<=11+1) return(0); //---- initial zero if(counted_bars<11+1) { for(i=1;i<=0;i++) val1[CountBars-i]=0.0; for(i=1;i<=0;i++) val2[CountBars-i]=0.0; } //---- shift=CountBars-11-1; while(shift>=0) { Counter=shift; Range=0.0; AvgRange=0.0; for (Counter=shift; Counter<=shift+9; Counter++) AvgRange=AvgRange+MathAbs(High[Counter]-Low[Counter]); Range=AvgRange/10; Counter=shift; TrueCount=0; while (Counter<shift+9 && TrueCount<1) {if (MathAbs(Open[Counter]-Close[Counter+1])>=Range*2.0) TrueCount=TrueCount+1; Counter=Counter+1; } if (TrueCount>=1) {MRO1=Counter;} else {MRO1=-1;} Counter=shift; TrueCount=0; while (Counter<shift+6 && TrueCount<1) {if (MathAbs(Close[Counter+3]-Close[Counter])>=Range*4.6) TrueCount=TrueCount+1; Counter=Counter+1; } if (TrueCount>=1) {MRO2=Counter;} else {MRO2=-1;} if (MRO1>-1) {value11=3;} else {value11=value10;} if (MRO2>-1) {value11=4;} else {value11=value10;} value2=100-MathAbs(iWPR(NULL,0,value11,shift)); // PercentR(value11=9) Table_value2[shift]=value2; val1[shift]=0; val2[shift]=0; value3=0; if (value2<x2) {i1=1; while (Table_value2[shift+i1]>=x2 && Table_value2[shift+i1]<=x1){i1++;} if (Table_value2[shift+i1]>x1) { value3=High[shift]+Range*0.5; val1[shift]=value3; } } if (value2>x1) {i1=1; while (Table_value2[shift+i1]>=x2 && Table_value2[shift+i1]<=x1){i1++;} if (Table_value2[shift+i1]<x2) { value3=Low[shift]-Range*0.5; val2[shift]=value3; } } shift--; } return(0); } //+------------------------------------------------------------------+ 위 식은 메타에 있는 수식으로 조건이 맞으면 매도는 ↓를 해당캔들위에 매수는 ↑를 해당 캔들 아래에 표시합니다. bars는 현 차트의 캔들 개수이고 High와 Low는 Highest와 Lowest와 같은 뜻이 듯하고 iWPR 은 윌리엄의 % R 수식입니다. 예스로 변환 좀 부탁드립니다.
프로필 이미지

회원

2011-09-26 08:15:12

관리자님에 의해 삭제된 답변입니다.