커뮤니티

오류 수정 부탁드립니다!

프로필 이미지
syskama
2021-03-06 11:54:35
628
글번호 146838
답변완료
아녕하세요 예스스탁님 고생 많으십니다. 다름이 아니라 제가 수식을 작성해 보았는데 매수가 발생하지 않아 오류 수정 부탁드리려고 글 쓰게 되었습니다. -- 개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5 개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5 매도 : 다음날 시초가에 매도 --- 를 진행하려 하는데 아래 수식에서 어떤 점이 잘못 됐는지요? 알려주시면 정말 감사하겠습니다. input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5); var : Tcond(false), Entry(0); Entry = DayOpen + (Var1-Var2)*K; if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then { var1 = H; var2 = L; } if sTime >= 시작시간 and sTime < 끝시간 Then { if H > var1 Then var1 = H; if L < Var2 Then Var2 = L; } if (sdate != sdate[1] and stime >= 시작시간2) or (sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then { Tcond = true; entry = 0; } if (sdate != sdate[1] and stime >= 끝시간2) or (sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then Tcond = False; if MarketPosition == 0 and Tcond == true Then Buy("B",AtStop,entry); if MarketPosition == 1 and NextBarSdate != sdate Then exitlong("bx",AtMarket);
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2021-03-08 13:14:29

안녕하세요 예스스탁입니다. 1 Entry변수가 시작시간에 0으로 초기화가 됩니다. 초기화가 되는 부분을 삭제하시면 됩니다. input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5); var : Tcond(false), Entry(0); if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then { var1 = H; var2 = L; } if sTime >= 시작시간 and sTime < 끝시간 Then { if H > var1 Then var1 = H; if L < Var2 Then Var2 = L; } if (sdate != sdate[1] and stime >= 시작시간2) or (sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then { Tcond = true; } Entry = DayOpen + (Var1-Var2)*K; if (sdate != sdate[1] and stime >= 끝시간2) or (sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then Tcond = False; if MarketPosition == 0 and Tcond == true Then Buy("B",AtStop,Entry); if MarketPosition == 1 and NextBarSdate != sdate Then exitlong("bx",AtMarket); 2 시가가 당일시가입니다. 만약 시작시간2의 시가이면 아래식 적용하시면 됩니다. input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5); var : Tcond(false), Entry(0),OO(0); if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then { var1 = H; var2 = L; } if sTime >= 시작시간 and sTime < 끝시간 Then { if H > var1 Then var1 = H; if L < Var2 Then Var2 = L; } if (sdate != sdate[1] and stime >= 시작시간2) or (sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then { Tcond = true; OO = O; } Entry = OO + (Var1-Var2)*K; if (sdate != sdate[1] and stime >= 끝시간2) or (sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then Tcond = False; if MarketPosition == 0 and Tcond == true Then Buy("B",AtStop,Entry); if MarketPosition == 1 and NextBarSdate != sdate Then exitlong("bx",AtMarket); 즐거운 하루되세요 > syskama 님이 쓴 글입니다. > 제목 : 오류 수정 부탁드립니다! > 아녕하세요 예스스탁님 고생 많으십니다. 다름이 아니라 제가 수식을 작성해 보았는데 매수가 발생하지 않아 오류 수정 부탁드리려고 글 쓰게 되었습니다. -- 개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5 개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5 매도 : 다음날 시초가에 매도 --- 를 진행하려 하는데 아래 수식에서 어떤 점이 잘못 됐는지요? 알려주시면 정말 감사하겠습니다. input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5); var : Tcond(false), Entry(0); Entry = DayOpen + (Var1-Var2)*K; if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then { var1 = H; var2 = L; } if sTime >= 시작시간 and sTime < 끝시간 Then { if H > var1 Then var1 = H; if L < Var2 Then Var2 = L; } if (sdate != sdate[1] and stime >= 시작시간2) or (sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then { Tcond = true; entry = 0; } if (sdate != sdate[1] and stime >= 끝시간2) or (sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then Tcond = False; if MarketPosition == 0 and Tcond == true Then Buy("B",AtStop,entry); if MarketPosition == 1 and NextBarSdate != sdate Then exitlong("bx",AtMarket);
프로필 이미지

syskama

2021-03-09 23:23:53

알려주신 대로 해 보았는데 거래가 발생하지 않습니다. 한번만 다시 봐주실 수 있을까요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 오류 수정 부탁드립니다! > 안녕하세요 예스스탁입니다. 1 Entry변수가 시작시간에 0으로 초기화가 됩니다. 초기화가 되는 부분을 삭제하시면 됩니다. input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5); var : Tcond(false), Entry(0); if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then { var1 = H; var2 = L; } if sTime >= 시작시간 and sTime < 끝시간 Then { if H > var1 Then var1 = H; if L < Var2 Then Var2 = L; } if (sdate != sdate[1] and stime >= 시작시간2) or (sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then { Tcond = true; } Entry = DayOpen + (Var1-Var2)*K; if (sdate != sdate[1] and stime >= 끝시간2) or (sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then Tcond = False; if MarketPosition == 0 and Tcond == true Then Buy("B",AtStop,Entry); if MarketPosition == 1 and NextBarSdate != sdate Then exitlong("bx",AtMarket); 2 시가가 당일시가입니다. 만약 시작시간2의 시가이면 아래식 적용하시면 됩니다. input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5); var : Tcond(false), Entry(0),OO(0); if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then { var1 = H; var2 = L; } if sTime >= 시작시간 and sTime < 끝시간 Then { if H > var1 Then var1 = H; if L < Var2 Then Var2 = L; } if (sdate != sdate[1] and stime >= 시작시간2) or (sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then { Tcond = true; OO = O; } Entry = OO + (Var1-Var2)*K; if (sdate != sdate[1] and stime >= 끝시간2) or (sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then Tcond = False; if MarketPosition == 0 and Tcond == true Then Buy("B",AtStop,Entry); if MarketPosition == 1 and NextBarSdate != sdate Then exitlong("bx",AtMarket); 즐거운 하루되세요 > syskama 님이 쓴 글입니다. > 제목 : 오류 수정 부탁드립니다! > 아녕하세요 예스스탁님 고생 많으십니다. 다름이 아니라 제가 수식을 작성해 보았는데 매수가 발생하지 않아 오류 수정 부탁드리려고 글 쓰게 되었습니다. -- 개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5 개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5 매도 : 다음날 시초가에 매도 --- 를 진행하려 하는데 아래 수식에서 어떤 점이 잘못 됐는지요? 알려주시면 정말 감사하겠습니다. input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5); var : Tcond(false), Entry(0); Entry = DayOpen + (Var1-Var2)*K; if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then { var1 = H; var2 = L; } if sTime >= 시작시간 and sTime < 끝시간 Then { if H > var1 Then var1 = H; if L < Var2 Then Var2 = L; } if (sdate != sdate[1] and stime >= 시작시간2) or (sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then { Tcond = true; entry = 0; } if (sdate != sdate[1] and stime >= 끝시간2) or (sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then Tcond = False; if MarketPosition == 0 and Tcond == true Then Buy("B",AtStop,entry); if MarketPosition == 1 and NextBarSdate != sdate Then exitlong("bx",AtMarket);