커뮤니티

수식에러나는데 봐주세요

프로필 이미지
가날
2020-07-08 04:32:23
1495
글번호 140470
답변완료
참고해 공부중인데 해당 수식이 기술적 지표에만 쓸수있다고 나오는 해결을 못하겠네요 어떻게 수정하면 될까요? input : fl(0.5),sl(0.05),pa(false),fr(false),ebc(false); var : src(0),sp(0),dt(0),i1(0),ji(0),jq(0),i2_(0),q2_(0),re_(0); var : im_(0),re(0),im(0),p1(0),p2(0),p3(0),p(0),q1(0),i2(0),q2(0); var : spp(0),phase(0),dphase_(0),dphase(0),mama(0),fama(0),alpha_(0),alpha(0); src = (H+L);2; sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0; if CurrentBar >= 1 then { dt = (.0962*sp + .5769*(sp[2]) - .5769*(sp[4])- .0962*(sp[6]))*(.075*(p[1]) + .54); q1 = (.0962*dt + .5769*(dt[2]) - .5769*(dt[4])- .0962*(dt[6]))*(.075*(p[1]) + .54); i1 = (dt[3]); jI = (.0962*i1 + .5769*(i1[2]) - .5769*(i1[4])- .0962*(i1[6]))*(.075*(p[1]) + .54); jq = (.0962*q1 + .5769*(q1[2]) - .5769*(q1[4])- .0962*(q1[6]))*(.075*(p[1]) + .54); i2_ = i1 - jq; q2_ = q1 + jI; i2 = .2*i2_ + .8*(i2[1]); q2 = .2*q2_ + .8*(q2[1]); re_ = i2*(i2[1]) + q2*(q2[1]); im_ = i2*(q2[1]) - q2*(i2[1]); re = .2*re_ + .8*(re[1]); im = .2*im_ + .8*(im[1]); p1 = iff(im!=0 and re!=0, 360/atan(im/re), (p[1])); p2 = iff(p1 > 1.5*(p1[1]), 1.5*(p1[1]), iff(p1 < 0.67*(p1[1]), 0.67*(p1[1]), p1)); p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2)); p = .2*p3 + .8*(p3[1]); spp = .33*p + .67*(spp[1]); phase = atan(q1 / i1); dphase_ = (phase[1]) - phase; dphase = iff(dphase_< 1, 1, dphase_); alpha_ = fl / dphase; alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_)); mama = alpha*src + (1 - alpha)*(mama[1]); fama = .5*alpha*mama + (1 - .5*alpha)*(fama[1]); plot1(iff(fr,iff(mama>fama,mama,fama),NaN),"dum",gray); plot2(mama,"MAMA",red); plot3(fama,"FAMA",green); } Condition1 = mama > fama and value3 > value3[1]; Condition2 = mama < fama and value3 < value3[1]; if Condition1 == true and Condition1[1] == false Then buy(); if Condition2 == true and Condition2[1] == false Then sell();
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-07-09 10:12:23

안녕하세요 예스스탁입니다. 지표와 시스템을 분리해 작성하셔야 합니다. 예스랭귀지는 수식을 종류별로 작성하셔야 합니다. plot은 지표나 검색식 작성에만 사용할수 있고 buy,sell 과 같은 신호함수는 시스템식 작성에만 사용이 가능합니다. 1 지표 input : fl(0.5),sl(0.05),pa(false),fr(false),ebc(false); var : src(0),sp(0),dt(0),i1(0),ji(0),jq(0),i2_(0),q2_(0),re_(0); var : im_(0),re(0),im(0),p1(0),p2(0),p3(0),p(0),q1(0),i2(0),q2(0); var : spp(0),phase(0),dphase_(0),dphase(0),mama(0),fama(0),alpha_(0),alpha(0); src = (H+L);2; sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0; if CurrentBar >= 1 then { dt = (.0962*sp + .5769*(sp[2]) - .5769*(sp[4])- .0962*(sp[6]))*(.075*(p[1]) + .54); q1 = (.0962*dt + .5769*(dt[2]) - .5769*(dt[4])- .0962*(dt[6]))*(.075*(p[1]) + .54); i1 = (dt[3]); jI = (.0962*i1 + .5769*(i1[2]) - .5769*(i1[4])- .0962*(i1[6]))*(.075*(p[1]) + .54); jq = (.0962*q1 + .5769*(q1[2]) - .5769*(q1[4])- .0962*(q1[6]))*(.075*(p[1]) + .54); i2_ = i1 - jq; q2_ = q1 + jI; i2 = .2*i2_ + .8*(i2[1]); q2 = .2*q2_ + .8*(q2[1]); re_ = i2*(i2[1]) + q2*(q2[1]); im_ = i2*(q2[1]) - q2*(i2[1]); re = .2*re_ + .8*(re[1]); im = .2*im_ + .8*(im[1]); p1 = iff(im!=0 and re!=0, 360/atan(im/re), (p[1])); p2 = iff(p1 > 1.5*(p1[1]), 1.5*(p1[1]), iff(p1 < 0.67*(p1[1]), 0.67*(p1[1]), p1)); p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2)); p = .2*p3 + .8*(p3[1]); spp = .33*p + .67*(spp[1]); phase = atan(q1 / i1); dphase_ = (phase[1]) - phase; dphase = iff(dphase_< 1, 1, dphase_); alpha_ = fl / dphase; alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_)); mama = alpha*src + (1 - alpha)*(mama[1]); fama = .5*alpha*mama + (1 - .5*alpha)*(fama[1]); plot1(iff(fr,iff(mama>fama,mama,fama),NaN),"dum",gray); plot2(mama,"MAMA",red); plot3(fama,"FAMA",green); } 2 시스템 input : fl(0.5),sl(0.05),pa(false),fr(false),ebc(false); var : src(0),sp(0),dt(0),i1(0),ji(0),jq(0),i2_(0),q2_(0),re_(0); var : im_(0),re(0),im(0),p1(0),p2(0),p3(0),p(0),q1(0),i2(0),q2(0); var : spp(0),phase(0),dphase_(0),dphase(0),mama(0),fama(0),alpha_(0),alpha(0); src = (H+L);2; sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0; if CurrentBar >= 1 then { dt = (.0962*sp + .5769*(sp[2]) - .5769*(sp[4])- .0962*(sp[6]))*(.075*(p[1]) + .54); q1 = (.0962*dt + .5769*(dt[2]) - .5769*(dt[4])- .0962*(dt[6]))*(.075*(p[1]) + .54); i1 = (dt[3]); jI = (.0962*i1 + .5769*(i1[2]) - .5769*(i1[4])- .0962*(i1[6]))*(.075*(p[1]) + .54); jq = (.0962*q1 + .5769*(q1[2]) - .5769*(q1[4])- .0962*(q1[6]))*(.075*(p[1]) + .54); i2_ = i1 - jq; q2_ = q1 + jI; i2 = .2*i2_ + .8*(i2[1]); q2 = .2*q2_ + .8*(q2[1]); re_ = i2*(i2[1]) + q2*(q2[1]); im_ = i2*(q2[1]) - q2*(i2[1]); re = .2*re_ + .8*(re[1]); im = .2*im_ + .8*(im[1]); p1 = iff(im!=0 and re!=0, 360/atan(im/re), (p[1])); p2 = iff(p1 > 1.5*(p1[1]), 1.5*(p1[1]), iff(p1 < 0.67*(p1[1]), 0.67*(p1[1]), p1)); p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2)); p = .2*p3 + .8*(p3[1]); spp = .33*p + .67*(spp[1]); phase = atan(q1 / i1); dphase_ = (phase[1]) - phase; dphase = iff(dphase_< 1, 1, dphase_); alpha_ = fl / dphase; alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_)); mama = alpha*src + (1 - alpha)*(mama[1]); fama = .5*alpha*mama + (1 - .5*alpha)*(fama[1]); } Condition1 = mama > fama and value3 > value3[1]; Condition2 = mama < fama and value3 < value3[1]; if Condition1 == true and Condition1[1] == false Then buy(); if Condition2 == true and Condition2[1] == false Then sell(); 즐거운 하루되세요 > 가날 님이 쓴 글입니다. > 제목 : 수식에러나는데 봐주세요 > 참고해 공부중인데 해당 수식이 기술적 지표에만 쓸수있다고 나오는 해결을 못하겠네요 어떻게 수정하면 될까요? input : fl(0.5),sl(0.05),pa(false),fr(false),ebc(false); var : src(0),sp(0),dt(0),i1(0),ji(0),jq(0),i2_(0),q2_(0),re_(0); var : im_(0),re(0),im(0),p1(0),p2(0),p3(0),p(0),q1(0),i2(0),q2(0); var : spp(0),phase(0),dphase_(0),dphase(0),mama(0),fama(0),alpha_(0),alpha(0); src = (H+L);2; sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0; if CurrentBar >= 1 then { dt = (.0962*sp + .5769*(sp[2]) - .5769*(sp[4])- .0962*(sp[6]))*(.075*(p[1]) + .54); q1 = (.0962*dt + .5769*(dt[2]) - .5769*(dt[4])- .0962*(dt[6]))*(.075*(p[1]) + .54); i1 = (dt[3]); jI = (.0962*i1 + .5769*(i1[2]) - .5769*(i1[4])- .0962*(i1[6]))*(.075*(p[1]) + .54); jq = (.0962*q1 + .5769*(q1[2]) - .5769*(q1[4])- .0962*(q1[6]))*(.075*(p[1]) + .54); i2_ = i1 - jq; q2_ = q1 + jI; i2 = .2*i2_ + .8*(i2[1]); q2 = .2*q2_ + .8*(q2[1]); re_ = i2*(i2[1]) + q2*(q2[1]); im_ = i2*(q2[1]) - q2*(i2[1]); re = .2*re_ + .8*(re[1]); im = .2*im_ + .8*(im[1]); p1 = iff(im!=0 and re!=0, 360/atan(im/re), (p[1])); p2 = iff(p1 > 1.5*(p1[1]), 1.5*(p1[1]), iff(p1 < 0.67*(p1[1]), 0.67*(p1[1]), p1)); p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2)); p = .2*p3 + .8*(p3[1]); spp = .33*p + .67*(spp[1]); phase = atan(q1 / i1); dphase_ = (phase[1]) - phase; dphase = iff(dphase_< 1, 1, dphase_); alpha_ = fl / dphase; alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_)); mama = alpha*src + (1 - alpha)*(mama[1]); fama = .5*alpha*mama + (1 - .5*alpha)*(fama[1]); plot1(iff(fr,iff(mama>fama,mama,fama),NaN),"dum",gray); plot2(mama,"MAMA",red); plot3(fama,"FAMA",green); } Condition1 = mama > fama and value3 > value3[1]; Condition2 = mama < fama and value3 < value3[1]; if Condition1 == true and Condition1[1] == false Then buy(); if Condition2 == true and Condition2[1] == false Then sell();