수익 그래프를 그릴려고 생각 하다보니 go to 문이 있었으면 하는 아쉬움속에 궁리 끝에 블럭
기능을 이용해보기로 했슴니다.
머릿속에 그리던 모양과 비슷 한 모습이 만들어져 갔슴다.
그런데 자세히 보니 모양만 비슷했지 수치상으로는 엉터리 였슴다.추적해보니
업크로스와 다운크로스가 완벽하게 교대로 나와줘야 하는데 업크로스 한번에 다운크로스가 연속 두번씩 나오는 경우가 수시로 있었슴니다.
제가 생각하는 방법은 변수 두개를 업크로스와 다운크로스를 시그날로하여 플립플롭으로 누적해가는 방법인데 예트프로가 도와주질 않는군요 .
누구라도 그대가되어 좋은 생각 알려주시먼 고맙겠슴니다.
제가 추적한 식은 다음과같습니다.
input : N1(5),N2(10);
var1=ma(C,N1);
var2=ma(C,N2);
if CrossUp(var1,var2) then
var3=C;
if CrossDown(var1,var2) then
var4=C;
Plot1(var3);
Plot2(var4);
답변 1
리서치팀
예스스탁 답변
2003-07-07 00:00:00
안녕하세요? 예스스탁입니다....
사용자님께서 문의하신 식을 해석해 보니 5일선과 10일 이평선이 가장 최근 골든, 혹은 데드크로스가 발생한 시점의 종가값을 지표로 출력한 식이었습니다...
5일 이평선과 10일 이평선 골든/데드 크로스 발생시 매매하는 식을 작성하고 이 매매식에 대해서 수익률 그래프를 그려보면 다음과 같습니다....
var : v1(0) , p1(0) , p2(0) , p3(0) , b1(0) , q1(0) , q2(0) , q3(0), q4(0), p4(0);
if v1 == 1 then
{
p4 = p3 + c - p1;
p2 = c - p1;
}
if crossup(ma(c,5),ma(c,10)) then
{
v1 = 1;
p1 = c;
}
if crossdown(ma(c,5),ma(c,10)) || stime == 151000 then
{
v1 = 0;
p3 = p3 + p2;
}
if b1 == 1 then
{
q4 = q3 -(c - q1);
q2 = -(c - q1);
}
if crossdown(ma(c,5),ma(c,10)) then
{
b1 = 1;
q1 = c;
}
if crossup(ma(c,5),ma(c,10)) || stime == 151000 then
{
b1 = 0;
q3 = q3 + q2;
}
plot1(p4+q4);
감사합니다...