커뮤니티

수식 부탁드립니다.

프로필 이미지
spek
2015-04-30 15:27:50
170
글번호 85596
답변완료
해외 선물을 거래한다고 치고, 거래시간은 24시간이고, 한국과 시간대가 달라서, 16시 ~ 다음날 16시 까지를 1일로 잡았을 때, 16시의 시가를 기준 시가로 삼아서 1% 상승이나 하락할 시 매수 또는 매도 진입하고, 다시 1% 하락 또는 상승 했을 시 손절값으로 잡는다고 칠 때, 어떻게 수식을 짜야 되나요? 하루 종일 이렇게 저렇게 해봤는데 안되네요. 그리고 10분 봉을 사용하고 싶습니다. (어차피 1% 변동하면 진입하기 때문에 몇분봉인지는 중요하지 않을듯 합니다만...) 아래 처럼 짜니까, 다음 한봉안에 1% 변동 없으면, 그 다음 봉은 무시하더라고요. if stime == 150000 then { buy("BC1", atstop, nextbaropen*1.01); } 그리고 아래와 같이 짜니까 if marketposition == 0 and stime < 150000 then { buy("BC2", atstop, dayopen*1.01); } 다음 한봉만 인정하는 게 아니라 그 다음봉들에라도 1% 변동 생기면 진입은 하긴 하는데, dayopen 이라서 그런지 00:00 를 기준으로 하더라고요. 하지만 16:00 또는 특정 원하는 시를 기준으로 24간 동안을 하루로 잡고 싶습니다. 그리고 위의 두식을 한꺼번에 다 넣고 쓰니까 두번째 식만 걸리고 첫번째 식은 그냥 무시되네요. 혼자 해보려고 했는데 도저히 안되서 부탁드립니다...
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-04-30 16:43:26

안녕하세요 예스스탁입니다. 1. dayopen은 0시 기준으로 값이 리턴되지 않습니다. 해당종목의 거래일변경 시간을 기준으로 시초가를 리턴됩니다. 2 작성하신 식의 시간조건은 국내용입니다. 일간 첫봉에 신호를 발생하기 위해서 전일 마지막봉에서 값을 셋팅해 다음봉(다음날 첫봉)에서 시초가에서 1%이상 상승할때 즉시 신호발생하게 작성된 것입니다. 해외선물에서는 전일마지막봉이 종목별로 다르고 주기별로 다릅니다. plot1(stime); 위 지표식을 차트에 적용하셔서 사용하시는 종목과 차트주기에서 영업일 변경전 마지막봉시간 확인하시고 시간 지정해 주셔야 합니다. if stime == 160000 or (stime > 160000 and stime[1] < 160000) Then var1 = O; if MarketPosition <= 0 and stime == 155000 Then buy("b1",AtStop,NextBarOpen*1.01); if MarketPosition >= 0 and stime == 155000 Then sell("s1",AtStop,NextBarOpen*0.99); if MarketPosition <= 0 and H < var1*1.01 Then buy("b",AtStop,var1*1.01); if MarketPosition >= 0 and L > var1*0.99 Then sell("s",AtStop,var1*0.99); SetStopLoss(1,PercentStop); SetStopProfittarget(1,PercentStop); 즐거운 하루되세요 > spek 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 해외 선물을 거래한다고 치고, 거래시간은 24시간이고, 한국과 시간대가 달라서, 16시 ~ 다음날 16시 까지를 1일로 잡았을 때, 16시의 시가를 기준 시가로 삼아서 1% 상승이나 하락할 시 매수 또는 매도 진입하고, 다시 1% 하락 또는 상승 했을 시 손절값으로 잡는다고 칠 때, 어떻게 수식을 짜야 되나요? 하루 종일 이렇게 저렇게 해봤는데 안되네요. 그리고 10분 봉을 사용하고 싶습니다. (어차피 1% 변동하면 진입하기 때문에 몇분봉인지는 중요하지 않을듯 합니다만...) 아래 처럼 짜니까, 다음 한봉안에 1% 변동 없으면, 그 다음 봉은 무시하더라고요. if stime == 150000 then { buy("BC1", atstop, nextbaropen*1.01); } 그리고 아래와 같이 짜니까 if marketposition == 0 and stime < 150000 then { buy("BC2", atstop, dayopen*1.01); } 다음 한봉만 인정하는 게 아니라 그 다음봉들에라도 1% 변동 생기면 진입은 하긴 하는데, dayopen 이라서 그런지 00:00 를 기준으로 하더라고요. 하지만 16:00 또는 특정 원하는 시를 기준으로 24간 동안을 하루로 잡고 싶습니다. 그리고 위의 두식을 한꺼번에 다 넣고 쓰니까 두번째 식만 걸리고 첫번째 식은 그냥 무시되네요. 혼자 해보려고 했는데 도저히 안되서 부탁드립니다...