커뮤니티

수식 문의 드립니다.

프로필 이미지
김예스
2022-03-04 01:13:02
1106
글번호 156916
답변완료
안녕하세요, 늘 도움 많이 받고 있습니다. 예스코인 QnA에 올렸었는데 답이 안달려서 여기에도 글올립니다. 양해부탁드립니다. 코인매매 틱차트에서 진입 혹은 청산이 끝난 뒤 일정 시간 후에 다음 진입을 시키고 싶습니다. input : N(60) var : Ecnt(0); if bdate != bdate[1] Then Ecnt = 0; if (MarketPosition != 0 and MarketPosition == MarketPosition[1]) Then Ecnt = Ecnt+1; if Ecnt == 0 or (Ecnt >= 1 and MarketPosition == 0 and TimeToMinutes(stime) >= TimeToMinutes(EntryTime(1))+N) Or (Ecnt >= 1 and MarketPosition != 0 and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+N) then { if 진입조건 Then Buy(); } if 청산조건 Then exitlong(); 1. 위 수식으로 하면 0시기준 날짜가 변경될 시점에 무포지션인 경우에만 제대로 수식이 동작하고, 0시 날짜 변경시에 매수포지션일경우에는 해당일에 수식이 안먹히는데, 원인을 모르겠습니다. 수정 혹은 다른 수식이 있다면 부탁드립니다. 2. 첫줄에 bdate를 date로 놓으면 나와아할 신호가 안나오는 경우가 생기던데 둘의 차이가 뭔지도 궁금합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-03-04 10:34:05

안녕하세요 예스스탁입니다. 1 TimeToMinutes이 0시 이후에 경과된 시간을 분으로 환산해 제공하는 함수입니다. 영업일변경(9시) 기준으로 체크되게 변경해 드립니다. 올리신 수식에는 모두 최근 진입을 기준으로 되어 있습니다. 식상 최근 청산시간도 필요하시면 수식에 최근 청산시간을 xt변수에 저장하게 추가해 놓았습니다. xt변수로 조건 추가하시기 바랍니다. input : N(60); var : S1(0),D1(0),TM(0); var : Ecnt(0),ET(0),XT(0); if bdate != bdate[1] Then { Ecnt = 0; S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; } if (MarketPosition != 0 and MarketPosition == MarketPosition[1]) Then Ecnt = Ecnt+1; #최근 진입시간 if CurrentContracts > CurrentContracts[1] Then ET = TM; #최근 청산시간 if CurrentContracts < CurrentContracts[1] Then XT = TM; if Ecnt == 0 or (Ecnt >= 1 and TM >= ET+N) then { if 진입조건 Then Buy(); } if 청산조건 Then exitlong(); 2 sdate는 0시 기준변경되는 달력상 날짜입니다. bdate는 영업일로 거래소 영업일 변경기준입니다.' 암호화폐는 9시를 기준입니다. 즐거운 하루되세요 > 김예스 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > 안녕하세요, 늘 도움 많이 받고 있습니다. 예스코인 QnA에 올렸었는데 답이 안달려서 여기에도 글올립니다. 양해부탁드립니다. 코인매매 틱차트에서 진입 혹은 청산이 끝난 뒤 일정 시간 후에 다음 진입을 시키고 싶습니다. input : N(60) var : Ecnt(0); if bdate != bdate[1] Then Ecnt = 0; if (MarketPosition != 0 and MarketPosition == MarketPosition[1]) Then Ecnt = Ecnt+1; if Ecnt == 0 or (Ecnt >= 1 and MarketPosition == 0 and TimeToMinutes(stime) >= TimeToMinutes(EntryTime(1))+N) Or (Ecnt >= 1 and MarketPosition != 0 and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+N) then { if 진입조건 Then Buy(); } if 청산조건 Then exitlong(); 1. 위 수식으로 하면 0시기준 날짜가 변경될 시점에 무포지션인 경우에만 제대로 수식이 동작하고, 0시 날짜 변경시에 매수포지션일경우에는 해당일에 수식이 안먹히는데, 원인을 모르겠습니다. 수정 혹은 다른 수식이 있다면 부탁드립니다. 2. 첫줄에 bdate를 date로 놓으면 나와아할 신호가 안나오는 경우가 생기던데 둘의 차이가 뭔지도 궁금합니다.