커뮤니티

문의드립니다

프로필 이미지
비상8
2017-04-28 11:11:20
97
글번호 109243
답변완료
안녕하세요 9시에 신호가 바로 나오는 이유를 알고싶습니다 시작시간이 9시3분 인데요 3분전에 신호가 나오네요 감사합니다 input : Period(1),당일청산시간(142000),스탑(0.35),시작시간(090300); var : value1(0),value6(0,data2),value7(0,data3),value3(0),value8(0,data4),value9(0,data5),value5(0),tcond(False),count(0),value10(0); # 당일진입횟수계산 count = 0 ; for value1 = 0 to 10 { if entrydate(value10) == date then count = count + 1 ; } value3 = data2("C")-data3("C"); Value1 = data2("C")/data3("C")*100; value5 = data4("C")/data5("C")*100; if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then { tcond = true; } if tcond == true and count < 3 then { if CrossDown(value1,200) Then sell(); if Crossup(value1,50) Then buy(); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-04-28 13:34:09

안녕하세요 예스스탁입니다. 1 tcond변수가 한번 true가 저장되면 false로 변경되는 내용이 없습니다. 당일청산시각에 false로 변경후 다음날 지정한 시각 이후에 true가 다시 저장되게 하셔야 합니다. 2 당일진입횟수 카운트 식에 오류가 있습니다. entrydate의 매개변수로 value1이 들어가야 합니다. 3 data2("c")에서 ""은 생략가능합니다. 4 수정한 식입니다. input : Period(1),당일청산시간(142000),스탑(0.35),시작시간(090300); var : value1(0),value6(0,data2),value7(0,data3),value3(0),value8(0,data4),value9(0,data5),value5(0),tcond(False),count(0),value10(0); # 당일진입횟수계산 count = 0 ; for value1 = 0 to 10 { if entrydate(value1) == date then count = count + 1 ; } value3 = data2(C)-data3(C); Value1 = data2(C)/data3(C)*100; value5 = data4(C)/data5(C)*100; if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then tcond = true; if stime == 당일청산시간 or (stime > 당일청산시간 and stime[1] < 당일청산시간) Then tcond = False; if tcond == true and count < 3 then { if CrossDown(value1,200) Then sell(); if Crossup(value1,50) Then buy(); } 즐거운 하루되세요 > 비상8 님이 쓴 글입니다. > 제목 : 문의드립니다 > 안녕하세요 9시에 신호가 바로 나오는 이유를 알고싶습니다 시작시간이 9시3분 인데요 3분전에 신호가 나오네요 감사합니다 input : Period(1),당일청산시간(142000),스탑(0.35),시작시간(090300); var : value1(0),value6(0,data2),value7(0,data3),value3(0),value8(0,data4),value9(0,data5),value5(0),tcond(False),count(0),value10(0); # 당일진입횟수계산 count = 0 ; for value1 = 0 to 10 { if entrydate(value10) == date then count = count + 1 ; } value3 = data2("C")-data3("C"); Value1 = data2("C")/data3("C")*100; value5 = data4("C")/data5("C")*100; if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then { tcond = true; } if tcond == true and count < 3 then { if CrossDown(value1,200) Then sell(); if Crossup(value1,50) Then buy(); }