커뮤니티

수식 부탁드립니다

프로필 이미지
dkfvkrh7
2021-01-26 17:09:52
983
글번호 145823
답변완료
수고하십니다 아래와 같이 수식을 작성했는데 신호가 정확이 나오지 않고 10분 ~ 20분 빠르거나 늦거나 아니면 거르는 경우도 있어 잘못 작성 되었는지 확인 좀 부탁 드리겠습니다 항목 6개중 4개가 AND 되면 신호가 나오도록 하는 의도입니다 감사합니다 Input : period(2),p(0); Input : af11(0.015),AFMAX11(0.2),af21(0.015),AFMAX21(0.2),af31(0.015),AFMAX31(0.2); Input : af41(0.015),AFMAX41(0.2),af51(0.015),AFMAX51(0.2),af61(0.015),AFMAX61(0.2); Var :v11(0,data1),v21(0,data1),v31(0,data1),v41(0,data1),v51(0,data1),v61(0,data1); v21 = data2(csar(af21,AFMAX21)); v31 = data3(csar(af31,AFMAX31)); v41 = Data4(csar(af41,AFMAX41)); v51 = Data5(csar(af51,AFMAX51)); v61 = Data6(csar(af61,AFMAX61)); if ( Data1(C > v11) and Data2(C > v21) and Data3(C > v31) and Data4(C > v41) ) or ( Data1(C > v11) and Data2(C > v21) and Data3(C > v31) and Data5(C > v51) ) or ( Data1(C > v11) and Data2(C > v21) and Data3(C > v31) and Data6(C > v61) ) or ( Data1(C > v11) and Data3(C > v31) and Data4(C > v41) and Data5(C > v51) ) or ( Data1(C > v11) and Data3(C > v31) and Data4(C > v41) and Data6(C > v61) ) or ( Data2(C > v21) and Data3(C > v31) and Data4(C > v41) and Data5(C > v51) ) or ( Data2(C > v21) and Data3(C > v31) and Data4(C > v41) and Data6(C > v61) ) or ( Data2(C > v21) and Data4(C > v41) and Data5(C > v51) and Data6(C > v61) ) or ( Data3(C > v31) and Data4(C > v41) and Data5(C > v51) and Data6(C > v61) ) Then buy("매수"); if ( Data1(C < v11) and Data2(C < v21) and Data3(C < v31) and Data4(C < v41) ) or ( Data1(C < v11) and Data2(C < v21) and Data3(C < v31) and Data5(C < v51) ) or ( Data1(C < v11) and Data2(C < v21) and Data3(C < v31) and Data6(C < v61) ) or ( Data1(C < v11) and Data3(C < v31) and Data4(C < v41) and Data5(C < v51) ) or ( Data1(C < v11) and Data3(C < v31) and Data4(C < v41) and Data6(C < v61) ) or ( Data2(C < v21) and Data3(C < v31) and Data4(C < v41) and Data5(C < v51) ) or ( Data2(C < v21) and Data3(C < v31) and Data4(C < v41) and Data6(C < v61) ) or ( Data2(C < v21) and Data4(C < v41) and Data5(C < v51) and Data6(C < v61) ) or ( Data3(C < v31) and Data4(C < v41) and Data5(C < v51) and Data6(C < v61) ) Then SELL("매도");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-01-27 10:35:22

안녕하세요 예스스탁입니다. 랭귀지는 데이타의 완성봉을 기준으로 if조건 만족여부를 판단합니다. 기본차트(data1)의 봉이 완성이 되는 시점에 참조데이타도 완성된 봉의 값을 가져와 조건만족을 판단하게 됩니다. 봉완성은 다음봉 시가가 수신될때입니다. 참조데이타의 주기가 기본차트와 같은 주기라도 기본차트봉이 완성(다음봉시가수신)이 되었을때 참조데이타의 시가가 늦게 도착하면 해당 데이타의 현재봉은 미완성이므로 바로 전봉이 가장최근 완성봉이 되고 해당 봉을 기준으로 if조건만족여부를 판단합니다. 올려주신 수식에는 문제가 없습니다. 데이타간 봉완성 시점의 차이 때문에 발생하는 부분으로 프로그램에서 별도로 처리할 방법이 없습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > dkfvkrh7 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다 > 수고하십니다 아래와 같이 수식을 작성했는데 신호가 정확이 나오지 않고 10분 ~ 20분 빠르거나 늦거나 아니면 거르는 경우도 있어 잘못 작성 되었는지 확인 좀 부탁 드리겠습니다 항목 6개중 4개가 AND 되면 신호가 나오도록 하는 의도입니다 감사합니다 Input : period(2),p(0); Input : af11(0.015),AFMAX11(0.2),af21(0.015),AFMAX21(0.2),af31(0.015),AFMAX31(0.2); Input : af41(0.015),AFMAX41(0.2),af51(0.015),AFMAX51(0.2),af61(0.015),AFMAX61(0.2); Var :v11(0,data1),v21(0,data1),v31(0,data1),v41(0,data1),v51(0,data1),v61(0,data1); v21 = data2(csar(af21,AFMAX21)); v31 = data3(csar(af31,AFMAX31)); v41 = Data4(csar(af41,AFMAX41)); v51 = Data5(csar(af51,AFMAX51)); v61 = Data6(csar(af61,AFMAX61)); if ( Data1(C > v11) and Data2(C > v21) and Data3(C > v31) and Data4(C > v41) ) or ( Data1(C > v11) and Data2(C > v21) and Data3(C > v31) and Data5(C > v51) ) or ( Data1(C > v11) and Data2(C > v21) and Data3(C > v31) and Data6(C > v61) ) or ( Data1(C > v11) and Data3(C > v31) and Data4(C > v41) and Data5(C > v51) ) or ( Data1(C > v11) and Data3(C > v31) and Data4(C > v41) and Data6(C > v61) ) or ( Data2(C > v21) and Data3(C > v31) and Data4(C > v41) and Data5(C > v51) ) or ( Data2(C > v21) and Data3(C > v31) and Data4(C > v41) and Data6(C > v61) ) or ( Data2(C > v21) and Data4(C > v41) and Data5(C > v51) and Data6(C > v61) ) or ( Data3(C > v31) and Data4(C > v41) and Data5(C > v51) and Data6(C > v61) ) Then buy("매수"); if ( Data1(C < v11) and Data2(C < v21) and Data3(C < v31) and Data4(C < v41) ) or ( Data1(C < v11) and Data2(C < v21) and Data3(C < v31) and Data5(C < v51) ) or ( Data1(C < v11) and Data2(C < v21) and Data3(C < v31) and Data6(C < v61) ) or ( Data1(C < v11) and Data3(C < v31) and Data4(C < v41) and Data5(C < v51) ) or ( Data1(C < v11) and Data3(C < v31) and Data4(C < v41) and Data6(C < v61) ) or ( Data2(C < v21) and Data3(C < v31) and Data4(C < v41) and Data5(C < v51) ) or ( Data2(C < v21) and Data3(C < v31) and Data4(C < v41) and Data6(C < v61) ) or ( Data2(C < v21) and Data4(C < v41) and Data5(C < v51) and Data6(C < v61) ) or ( Data3(C < v31) and Data4(C < v41) and Data5(C < v51) and Data6(C < v61) ) Then SELL("매도");