커뮤니티
수정 좀 부탁드리겠습니다.
2018-11-08 20:43:12
184
글번호 123477
항상 도움 주심에 감사합니다.
제가 실력이 부족하여, 도움을 요청드립니다.
아래는 사용중인 지표인데요.
라인 하나 나오는걸 4개까지 나올수 있도록 수정 부탁드립니다.
모두다 ATRLength값은 동일하게 사용하되
ATRMult값을 3개 더 추가하여 각각 다른 변수값을 대입하고 싶습니다.
inputs: ATRLength(100), ATRMult(5);
vars: ATR(0), avg(0), dn(0), up(0), trend(1), flag(0), flagh(0), qqq(0);
ATR = ATR(ATRLength) * ATRMult;
avg = (High + Low)/2;
up = avg + ATR;
dn = avg - ATR;
if close > up[1] then
trend = 1;
else if close < dn[1] then
trend = -1;
if trend < 0 and trend[1] > 0 then
flag=1;
else
flag=0;
if trend > 0 and trend[1] < 0 then
flagh = 1;
else
flagh = 0;
if trend > 0 and dn < dn[1] then
dn=dn[1];
if trend < 0 and up > up[1] then
up=up[1];
if flag == 1 then
up = avg + ATR;
if flagh == 1 then
dn = avg - ATR;
if trend == 1 then
qqq = dn;
else
qqq = up;
Plot1(qqq,"qqq",iff(trend == 1, Red, Blue));
답변 1
예스스탁 예스스탁 답변
2018-11-09 11:50:37
안녕하세요
예스스탁입니다.
inputs: ATRLength1(100), ATRMult1(5);
inputs: ATRLength2(100), ATRMult2(6);
inputs: ATRLength3(100), ATRMult3(7);
inputs: ATRLength4(100), ATRMult4(8);
vars: ATR1(0), avg1(0), dn1(0), up1(0), trend1(1), flag1(0), flagh1(0), qqq1(0);
vars: ATR2(0), avg2(0), dn2(0), up2(0), trend2(1), flag2(0), flagh2(0), qqq2(0);
vars: ATR3(0), avg3(0), dn3(0), up3(0), trend3(1), flag3(0), flagh3(0), qqq3(0);
vars: ATR4(0), avg4(0), dn4(0), up4(0), trend4(1), flag4(0), flagh4(0), qqq4(0);
ATR1 = ATR(ATRLength1) * ATRMult1;
avg1 = (High + Low)/2;
up1 = avg1 + ATR1;
dn1 = avg1 - ATR1;
if close > up1[1] then trend1 = 1;
else if close < dn1[1] then trend1 = -1;
if trend1 < 0 and trend1[1] > 0 then flag1 = 1; else flag1 = 0;
if trend1 > 0 and trend1[1] < 0 then flagh1 = 1; else flagh1 = 0;
if trend1 > 0 and dn1 < dn1[1] then dn1=dn1[1];
if trend1 < 0 and up1 > up1[1] then up1=up1[1];
if flag1 == 1 then up1 = avg1 + ATR1;
if flagh1 == 1 then dn1 = avg1 - ATR1;
if trend1 == 1 then qqq1 = dn1; else qqq1 = up1;
Plot1(qqq1,"qqq1",iff(trend1 == 1, Red, Blue));
ATR2 = ATR(ATRLength2) * ATRMult2;
avg2 = (High + Low)/2;
up2 = avg2 + ATR2;
dn2 = avg2 - ATR2;
if close > up2[1] then trend2 = 1;
else if close < dn2[1] then trend2 = -1;
if trend2 < 0 and trend2[1] > 0 then flag2 = 1; else flag2 = 0;
if trend2 > 0 and trend2[1] < 0 then flagh2 = 1; else flagh2 = 0;
if trend2 > 0 and dn2 < dn2[1] then dn2 = dn2[1];
if trend2 < 0 and up2 > up2[1] then up2 = up2[1];
if flag2 == 1 then up2 = avg2 + ATR2;
if flagh2 == 1 then dn2 = avg2 - ATR2;
if trend2 == 1 then qqq2 = dn2; else qqq2 = up2;
Plot2(qqq2,"qqq2",iff(trend2 == 1, Red, Blue));
ATR3 = ATR(ATRLength3) * ATRMult3;
avg3 = (High + Low)/2;
up3 = avg3 + ATR3;
dn3 = avg3 - ATR3;
if close > up3[1] then trend3 = 1;
else if close < dn3[1] then trend3 = -1;
if trend3 < 0 and trend3[1] > 0 then flag3 = 1; else flag3 = 0;
if trend3 > 0 and trend3[1] < 0 then flagh3 = 1; else flagh3 = 0;
if trend3 > 0 and dn3 < dn3[1] then dn3 = dn3[1];
if trend3 < 0 and up3 > up3[1] then up3 = up3[1];
if flag3 == 1 then up3 = avg3 + ATR3;
if flagh3 == 1 then dn3 = avg3 - ATR3;
if trend3 == 1 then qqq3 = dn3; else qqq3 = up3;
Plot3(qqq3,"qqq3",iff(trend3 == 1, Red, Blue));
ATR4 = ATR(ATRLength4) * ATRMult4;
avg4 = (High + Low)/2;
up4 = avg4 + ATR4;
dn4 = avg4 - ATR4;
if close > up4[1] then trend4 = 1;
else if close < dn4[1] then trend4 = -1;
if trend4 < 0 and trend4[1] > 0 then flag4 = 1; else flag4 = 0;
if trend4 > 0 and trend4[1] < 0 then flagh4 = 1; else flagh4 = 0;
if trend4 > 0 and dn4 < dn4[1] then dn4 = dn4[1];
if trend4 < 0 and up4 > up4[1] then up4 = up4[1];
if flag4 == 1 then up4 = avg4 + ATR4;
if flagh4 == 1 then dn4 = avg4 - ATR4;
if trend4 == 1 then qqq4 = dn4; else qqq4 = up4;
Plot4(qqq4,"qqq4",iff(trend4 == 1, Red, Blue));
즐거운 하루되세요
> 플로스트 님이 쓴 글입니다.
> 제목 : 수정 좀 부탁드리겠습니다.
> 항상 도움 주심에 감사합니다.
제가 실력이 부족하여, 도움을 요청드립니다.
아래는 사용중인 지표인데요.
라인 하나 나오는걸 4개까지 나올수 있도록 수정 부탁드립니다.
모두다 ATRLength값은 동일하게 사용하되
ATRMult값을 3개 더 추가하여 각각 다른 변수값을 대입하고 싶습니다.
inputs: ATRLength(100), ATRMult(5);
vars: ATR(0), avg(0), dn(0), up(0), trend(1), flag(0), flagh(0), qqq(0);
ATR = ATR(ATRLength) * ATRMult;
avg = (High + Low)/2;
up = avg + ATR;
dn = avg - ATR;
if close > up[1] then
trend = 1;
else if close < dn[1] then
trend = -1;
if trend < 0 and trend[1] > 0 then
flag=1;
else
flag=0;
if trend > 0 and trend[1] < 0 then
flagh = 1;
else
flagh = 0;
if trend > 0 and dn < dn[1] then
dn=dn[1];
if trend < 0 and up > up[1] then
up=up[1];
if flag == 1 then
up = avg + ATR;
if flagh == 1 then
dn = avg - ATR;
if trend == 1 then
qqq = dn;
else
qqq = up;
Plot1(qqq,"qqq",iff(trend == 1, Red, Blue));