커뮤니티

67408 재문의 드립니다.

프로필 이미지
ehdsp
2020-05-11 14:50:32
1608
글번호 138759
답변완료
정말 감사드립니다! T1 = data2(stime); 이부분에서 '값을 대입할수 있는 변수나 배열의 요소 , 입력변수 배열의 요소가 와야합니다.' 이렇게 오류가 났습니다. 좀해보고 다시 문의드리는데 해결책좀 부탁드립니다^^ 번거롭게해서 죄송합니다. ================================================= > 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : 문의드립니다 > 안녕하세요 예스스탁입니다. cond1은 단지 최근 0봉~40봉 사이에 한번이상 지정한 조건이 만족하면 true가 됩니다. 시간구간이 어떤식으로 지정되는지 모르겠습니다. cond1이 true일때 시간을 지정해서 해당 시간이후에 만족할때만 cond2와 cond3이 true가 되게 수정해 드립니다. var : 몸통상단1(0,Data2),Maxdata1(0,data2); Var : 몸통상단2(0,Data3),Maxdata2(0,data3); Var : 몸통상단3(0,Data4),Maxdata3(0,data4); var : Arr(0,data1),cond1(false,data1),cond2(false,data1),cond3(false,data1); 몸통상단1 = Data2(max(C,O)); #data2몸통상단 Maxdata1 = data2(Highest(몸통상단1, 3)); #data2 몸통상단의 3개봉 최고값 몸통상단2 = Data3(max(C,O)); #data2몸통상단 Maxdata2 = Data3(Highest(몸통상단2, 4)); #data2 몸통상단의 5개봉 최고값 몸통상단3 = Data4(max(C,O)); #data2몸통상단 Maxdata3 = Data4(Highest(몸통상단3, 5)); #data2 몸통상단의 5개봉 최고값 cond1 = false; For ARR = 0 TO 40 { If data1(H) >= Maxdata1[arr] Then { cond1 = true; T1 = data2(stime); } } cond2 = false; For ARR = 0 TO 50 { If data2(H) >= Maxdata2[arr] and cond1 == true and data2(stime) >= T1 Then cond2 = true; } cond3 = false; For ARR = 0 TO 60 { If data3(H) >= Maxdata3[arr] and cond1 == true and data2(stime) >= T1 Then cond3 = true; } if cond1 == true && cond2 == true && cond3 == true then buy();
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-05-11 15:08:08

안녕하세요 예스스탁입니다. 변수선언이 빠져있었습니다. 아래식으로 검증하시면 됩니다. cond1이 최종 true가 된 봉의 시간을 저장하고 cond2와 cond3은 해당 시간이후에 만족해야 하는 수식입니다. var : t1(0,data1); var : 몸통상단1(0,Data2),Maxdata1(0,data2); Var : 몸통상단2(0,Data3),Maxdata2(0,data3); Var : 몸통상단3(0,Data4),Maxdata3(0,data4); var : Arr(0,data1),cond1(false,data1),cond2(false,data1),cond3(false,data1); 몸통상단1 = Data2(max(C,O)); #data2몸통상단 Maxdata1 = data2(Highest(몸통상단1, 3)); #data2 몸통상단의 3개봉 최고값 몸통상단2 = Data3(max(C,O)); #data2몸통상단 Maxdata2 = Data3(Highest(몸통상단2, 4)); #data2 몸통상단의 5개봉 최고값 몸통상단3 = Data4(max(C,O)); #data2몸통상단 Maxdata3 = Data4(Highest(몸통상단3, 5)); #data2 몸통상단의 5개봉 최고값 cond1 = false; For ARR = 0 TO 40 { If data1(H) >= Maxdata1[arr] Then { cond1 = true; T1 = data2(stime); } } cond2 = false; For ARR = 0 TO 50 { If data2(H) >= Maxdata2[arr] and cond1 == true and data2(stime) >= T1 Then cond2 = true; } cond3 = false; For ARR = 0 TO 60 { If data3(H) >= Maxdata3[arr] and cond1 == true and data2(stime) >= T1 Then cond3 = true; } if cond1 == true && cond2 == true && cond3 == true then buy(); 즐거운 하루되세요 > ehdsp 님이 쓴 글입니다. > 제목 : 67408 재문의 드립니다. > 정말 감사드립니다! T1 = data2(stime); 이부분에서 '값을 대입할수 있는 변수나 배열의 요소 , 입력변수 배열의 요소가 와야합니다.' 이렇게 오류가 났습니다. 좀해보고 다시 문의드리는데 해결책좀 부탁드립니다^^ 번거롭게해서 죄송합니다. ================================================= > 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : 문의드립니다 > 안녕하세요 예스스탁입니다. cond1은 단지 최근 0봉~40봉 사이에 한번이상 지정한 조건이 만족하면 true가 됩니다. 시간구간이 어떤식으로 지정되는지 모르겠습니다. cond1이 true일때 시간을 지정해서 해당 시간이후에 만족할때만 cond2와 cond3이 true가 되게 수정해 드립니다. var : 몸통상단1(0,Data2),Maxdata1(0,data2); Var : 몸통상단2(0,Data3),Maxdata2(0,data3); Var : 몸통상단3(0,Data4),Maxdata3(0,data4); var : Arr(0,data1),cond1(false,data1),cond2(false,data1),cond3(false,data1); 몸통상단1 = Data2(max(C,O)); #data2몸통상단 Maxdata1 = data2(Highest(몸통상단1, 3)); #data2 몸통상단의 3개봉 최고값 몸통상단2 = Data3(max(C,O)); #data2몸통상단 Maxdata2 = Data3(Highest(몸통상단2, 4)); #data2 몸통상단의 5개봉 최고값 몸통상단3 = Data4(max(C,O)); #data2몸통상단 Maxdata3 = Data4(Highest(몸통상단3, 5)); #data2 몸통상단의 5개봉 최고값 cond1 = false; For ARR = 0 TO 40 { If data1(H) >= Maxdata1[arr] Then { cond1 = true; T1 = data2(stime); } } cond2 = false; For ARR = 0 TO 50 { If data2(H) >= Maxdata2[arr] and cond1 == true and data2(stime) >= T1 Then cond2 = true; } cond3 = false; For ARR = 0 TO 60 { If data3(H) >= Maxdata3[arr] and cond1 == true and data2(stime) >= T1 Then cond3 = true; } if cond1 == true && cond2 == true && cond3 == true then buy();