커뮤니티

30분 단위 매매

프로필 이미지
새로운세상
2011-01-25 14:31:21
916
글번호 35269
답변완료
안녕하세요... 다음 수식 부탁드립니다. 주데이타 연결선물 1분봉, data2 연결선물 30분봉입니다. 09:00~09:30 장개시후 30분간은 매매없슴 09:30~10:00 1) 첫봉 30분간을 기준으로 첫봉의 종가가 첫봉의 고가저가의 1/2 이상에서 형성되었으면 09:30에 매수, 1/2 미만에서 형성되었으면 09:30분에 매도 2) 매수매도 진입후 5틱 수익이 확보되면 익절 (5틱 수익이 확보되려면 6틱 수익이 날때 청산인지 모르겠습니다) 3) 손절1 : 진입후 10틱 손실이 나거나 or 손절2 : 매수후 가격이 09:00~09:30 고저의 1/2 이하로 형성될 때 매도후 가격이 09:00~09:30 고저의 1/2 이상으로 형성될 때 4) 30분 단위로 거래는 1회만 발생 즉, 진입후 익절이던 손절이던 청산이 되었으면 다음 기간이 올 때까지 진입금지 5) 진입후 청산이 발생하지 않았다면 25분 간격으로 포지션 청산 여기서는 09:55 에 청산을 의미 6) 09:55~10:00 무포지션 유지, 즉 이시간대에는 매매없슴 위와 같은 방식으로 30분단위로 매매가 새로 시작됨. (시간대만 다를 뿐 내용은 상기와 동일합니다) 10:00~10:30 1) 09:30~10:00의 30분봉을 기준으로 종가가 고가저가의 1/2 이상에서 형성되었으면 10:00 에 매수, 1/2 미만에서 형성되었으면 10:00 에 매도 2) 매수매도 진입후 5틱 수익이 확보되면 익절 3) 손절1 : 진입후 10틱 손실이 나거나 or 손절2 : 매수후 가격이 09:30~10:00 고저의 1/2 이하로 형성될 때 매도후 가격이 09:30~10:00 고저의 1/2 이상으로 형성될 때 4) 30분 단위로 거래는 1회만 발생 즉, 진입후 익절이던 손절이던 청산이 되었으면 다음 기간이 올 때까지 진입금지 5) 진입후 청산이 발생하지 않았다면 25분 간격으로 포지션 청산 여기서는 10:25 에 청산을 의미 6) 10:25~10:30 무포지션 유지, 즉 이시간대에는 매매없슴 이렇게 30분단위로 14:30까지 거래를 하고 싶습니다. (위의 내용대로라고 하면 최종종료시간은 14:25분이 되겠네요) 시간대별로 일일이 수식이 작성되지 않고 간략한 방법이 있을지요? 그리고 연초개장일과 수능일에는 10:00에 개장이 되는 관계로 이부분도 감안이 될 수 있다면 더욱 감사하겠습니다. (연초개장일,수능일 문제를 동시에 해결하려면 dayindex==0 함수를 사용해야 하는 것인지 잘 모르겠습니다. dayindex를 사용하면 수능일은 1시간씩 순연되므로 평상시와 같겠지만 연초개장일은 개장시간만 1시간 지연되므로 별도 수식이 필요할 것 같습니다) 그럼 추운 날씨에 건강 유의하시고 오늘도 즐거운 하루 되시기를 바랍니다.
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2011-01-25 15:44:42

안녕하세요 예스스탁입니다. input : N(30),loss(10),Profit(5); var1 = TimeToMinutes(stime)%30; if dayindex == 0 Then value99 = TimeToMinutes(stime); if dayindex == 0 or var1 < var1[1] Then{ value1 = H; value2 = L; value3 = value1[1]; value4 = value2[1]; Condition1 = False; if Condition1 == false and stime >= value99+30 and MarketPosition == 0 Then{ if C > (value3+value4)/2 Then{ buy(); Condition1 = true; } if c < (value3+value4)/2 Then{ sell(); Condition1 = true; } } } if H > value1 Then value1 = H; if L < value2 Then value2 = L; if MarketPosition == 1 and C < (value3+value4)/2 Then exitlong(); if MarketPosition == -1 and C > (value3+value4)/2 Then ExitShort(); SetStopLoss(PriceScale*Loss,PointStop); SetStopProfittarget(PriceScale*Profit,PointStop); if crossup(var1,25) Then{ exitlong(); ExitShort(); } 수수료 슬리피지를 감안하시다면 6틱정도로 설정하셔야 실제 5틱수익정도가 됩니다. 식상에는 5틱으로 했습니다. 즐거운 하루되세요 > 새로운세상 님이 쓴 글입니다. > 제목 : 30분 단위 매매 > 안녕하세요... 다음 수식 부탁드립니다. 주데이타 연결선물 1분봉, data2 연결선물 30분봉입니다. 09:00~09:30 장개시후 30분간은 매매없슴 09:30~10:00 1) 첫봉 30분간을 기준으로 첫봉의 종가가 첫봉의 고가저가의 1/2 이상에서 형성되었으면 09:30에 매수, 1/2 미만에서 형성되었으면 09:30분에 매도 2) 매수매도 진입후 5틱 수익이 확보되면 익절 (5틱 수익이 확보되려면 6틱 수익이 날때 청산인지 모르겠습니다) 3) 손절1 : 진입후 10틱 손실이 나거나 or 손절2 : 매수후 가격이 09:00~09:30 고저의 1/2 이하로 형성될 때 매도후 가격이 09:00~09:30 고저의 1/2 이상으로 형성될 때 4) 30분 단위로 거래는 1회만 발생 즉, 진입후 익절이던 손절이던 청산이 되었으면 다음 기간이 올 때까지 진입금지 5) 진입후 청산이 발생하지 않았다면 25분 간격으로 포지션 청산 여기서는 09:55 에 청산을 의미 6) 09:55~10:00 무포지션 유지, 즉 이시간대에는 매매없슴 위와 같은 방식으로 30분단위로 매매가 새로 시작됨. (시간대만 다를 뿐 내용은 상기와 동일합니다) 10:00~10:30 1) 09:30~10:00의 30분봉을 기준으로 종가가 고가저가의 1/2 이상에서 형성되었으면 10:00 에 매수, 1/2 미만에서 형성되었으면 10:00 에 매도 2) 매수매도 진입후 5틱 수익이 확보되면 익절 3) 손절1 : 진입후 10틱 손실이 나거나 or 손절2 : 매수후 가격이 09:30~10:00 고저의 1/2 이하로 형성될 때 매도후 가격이 09:30~10:00 고저의 1/2 이상으로 형성될 때 4) 30분 단위로 거래는 1회만 발생 즉, 진입후 익절이던 손절이던 청산이 되었으면 다음 기간이 올 때까지 진입금지 5) 진입후 청산이 발생하지 않았다면 25분 간격으로 포지션 청산 여기서는 10:25 에 청산을 의미 6) 10:25~10:30 무포지션 유지, 즉 이시간대에는 매매없슴 이렇게 30분단위로 14:30까지 거래를 하고 싶습니다. (위의 내용대로라고 하면 최종종료시간은 14:25분이 되겠네요) 시간대별로 일일이 수식이 작성되지 않고 간략한 방법이 있을지요? 그리고 연초개장일과 수능일에는 10:00에 개장이 되는 관계로 이부분도 감안이 될 수 있다면 더욱 감사하겠습니다. (연초개장일,수능일 문제를 동시에 해결하려면 dayindex==0 함수를 사용해야 하는 것인지 잘 모르겠습니다. dayindex를 사용하면 수능일은 1시간씩 순연되므로 평상시와 같겠지만 연초개장일은 개장시간만 1시간 지연되므로 별도 수식이 필요할 것 같습니다) 그럼 추운 날씨에 건강 유의하시고 오늘도 즐거운 하루 되시기를 바랍니다.
프로필 이미지

새로운세상

2011-01-26 08:20:39

수식 잘 받아보았습니다. 다른 부분은 일단 이상이 없는 것 같은데, 지금 수식은 날짜가 변경되면 첫 sign이 전날 마지막 30분을 참고하여 매매가 발생합니다. 날짜가 변경되면 첫 30분은 거래가 안되고 두번째부터 거래가 되었으면 합니다. (연초개장일과 수능일을 고려할 때 stime>=0930을 첨가하는 것은 적합하지 않을 것 같으므로 작성해주신 수식에서 수정 부탁드립니다) ------------------------------ 그리고 전체적으로 한가지 문제가 있는데, 말씀드린 것처럼 주데이타 1분봉, data2를 30분봉으로 한 이유는 청산부분에 있어서 Atstop 이나 Atlimit를 사용하여 청산조건 만족즉시 청산하기 위함입니다. (즉, 실제에서는 1분봉 대신 1초봉을 사용 예정 --> 예를들어 '손절2'부분 조건만족 즉시를 위하여) 현재는 1분봉만 주데이타로 사용하여 수식이 구성되어 있기 때문에 1분봉 완성시에 청산이 일어나는 문제가 있으므로, 실제 (1)주데이타 1초봉 (2)data2 30분봉 (3)조건만족즉시라는 점을 감안하여 원래 질문내용에 부합되도록 한번 더 수식을 살펴봐주시면 감사하겠습니다. (여기서 조건만족즉시라 함은 1초봉일 경우 해당조건 만족하는 봉완성시로 해도 좋으나, 1분봉일경우는 atlimit 나 atstop 시점을 의미합니다) 번거롭게 해서 죄송합니다~ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 30분 단위 매매 > 안녕하세요 예스스탁입니다. input : N(30),loss(10),Profit(5); var1 = TimeToMinutes(stime)%30; if dayindex == 0 Then value99 = TimeToMinutes(stime); if dayindex == 0 or var1 < var1[1] Then{ value1 = H; value2 = L; value3 = value1[1]; value4 = value2[1]; Condition1 = False; if Condition1 == false and stime >= value99+30 and MarketPosition == 0 Then{ if C > (value3+value4)/2 Then{ buy(); Condition1 = true; } if c < (value3+value4)/2 Then{ sell(); Condition1 = true; } } } if H > value1 Then value1 = H; if L < value2 Then value2 = L; if MarketPosition == 1 and C < (value3+value4)/2 Then exitlong(); if MarketPosition == -1 and C > (value3+value4)/2 Then ExitShort(); SetStopLoss(PriceScale*Loss,PointStop); SetStopProfittarget(PriceScale*Profit,PointStop); if crossup(var1,25) Then{ exitlong(); ExitShort(); } 수수료 슬리피지를 감안하시다면 6틱정도로 설정하셔야 실제 5틱수익정도가 됩니다. 식상에는 5틱으로 했습니다. 즐거운 하루되세요 > 새로운세상 님이 쓴 글입니다. > 제목 : 30분 단위 매매 > 안녕하세요... 다음 수식 부탁드립니다. 주데이타 연결선물 1분봉, data2 연결선물 30분봉입니다. 09:00~09:30 장개시후 30분간은 매매없슴 09:30~10:00 1) 첫봉 30분간을 기준으로 첫봉의 종가가 첫봉의 고가저가의 1/2 이상에서 형성되었으면 09:30에 매수, 1/2 미만에서 형성되었으면 09:30분에 매도 2) 매수매도 진입후 5틱 수익이 확보되면 익절 (5틱 수익이 확보되려면 6틱 수익이 날때 청산인지 모르겠습니다) 3) 손절1 : 진입후 10틱 손실이 나거나 or 손절2 : 매수후 가격이 09:00~09:30 고저의 1/2 이하로 형성될 때 매도후 가격이 09:00~09:30 고저의 1/2 이상으로 형성될 때 4) 30분 단위로 거래는 1회만 발생 즉, 진입후 익절이던 손절이던 청산이 되었으면 다음 기간이 올 때까지 진입금지 5) 진입후 청산이 발생하지 않았다면 25분 간격으로 포지션 청산 여기서는 09:55 에 청산을 의미 6) 09:55~10:00 무포지션 유지, 즉 이시간대에는 매매없슴 위와 같은 방식으로 30분단위로 매매가 새로 시작됨. (시간대만 다를 뿐 내용은 상기와 동일합니다) 10:00~10:30 1) 09:30~10:00의 30분봉을 기준으로 종가가 고가저가의 1/2 이상에서 형성되었으면 10:00 에 매수, 1/2 미만에서 형성되었으면 10:00 에 매도 2) 매수매도 진입후 5틱 수익이 확보되면 익절 3) 손절1 : 진입후 10틱 손실이 나거나 or 손절2 : 매수후 가격이 09:30~10:00 고저의 1/2 이하로 형성될 때 매도후 가격이 09:30~10:00 고저의 1/2 이상으로 형성될 때 4) 30분 단위로 거래는 1회만 발생 즉, 진입후 익절이던 손절이던 청산이 되었으면 다음 기간이 올 때까지 진입금지 5) 진입후 청산이 발생하지 않았다면 25분 간격으로 포지션 청산 여기서는 10:25 에 청산을 의미 6) 10:25~10:30 무포지션 유지, 즉 이시간대에는 매매없슴 이렇게 30분단위로 14:30까지 거래를 하고 싶습니다. (위의 내용대로라고 하면 최종종료시간은 14:25분이 되겠네요) 시간대별로 일일이 수식이 작성되지 않고 간략한 방법이 있을지요? 그리고 연초개장일과 수능일에는 10:00에 개장이 되는 관계로 이부분도 감안이 될 수 있다면 더욱 감사하겠습니다. (연초개장일,수능일 문제를 동시에 해결하려면 dayindex==0 함수를 사용해야 하는 것인지 잘 모르겠습니다. dayindex를 사용하면 수능일은 1시간씩 순연되므로 평상시와 같겠지만 연초개장일은 개장시간만 1시간 지연되므로 별도 수식이 필요할 것 같습니다) 그럼 추운 날씨에 건강 유의하시고 오늘도 즐거운 하루 되시기를 바랍니다.
프로필 이미지

예스스탁 예스스탁 답변

2011-01-26 09:55:51

안녕하세요 예스스탁입니다. 장시작후 30분 이후에 신호가 발생하도록 작성했습니다. 1분봉일 경우 1번식을 초봉은 2번식을 사용하시기 바랍니다. 해당 식은 모두 onclose로 작성되어야 합니다. atstop이나 atlimit으로 작성될 경우 하나의 봉에서 동시에 진입과 청산 혹은 매수진입/매도진입이 모두 나오면 해당부분 컨트롤이 가능하지 않아 한번진입이 구현되지 않습니다. 1. input : N(30),loss(10),Profit(5); var1 = TimeToMinutes(stime)%N; if dayindex == 0 Then value99 = TimeToMinutes(stime); if dayindex == 0 or var1 < var1[1] Then{ value1 = H; value2 = L; value3 = value1[1]; value4 = value2[1]; Condition1 = False; if Condition1 == false and TimeToMinutes(stime) >= value99+30 and MarketPosition == 0 Then{ if C > (value3+value4)/2 Then{ buy(); Condition1 = true; } if c < (value3+value4)/2 Then{ sell(); Condition1 = true; } } } if H > value1 Then value1 = H; if L < value2 Then value2 = L; if MarketPosition == 1 and C < (value3+value4)/2 Then exitlong(); if MarketPosition == -1 and C > (value3+value4)/2 Then ExitShort(); SetStopLoss(PriceScale*Loss,PointStop); SetStopProfittarget(PriceScale*Profit,PointStop); if crossup(var1,25) Then{ exitlong(); ExitShort(); } 2. input : N(30),loss(10),Profit(5); var1 = TimeToMinutes(stime)%N; if dayindex == 0 Then value99 = TimeToMinutes(stime); if dayindex == 0 or var1 < var1[1] Then{ value1 = H; value2 = L; value3 = value1[1]; value4 = value2[1]; Condition1 = False; } if Condition1 == false and TimeToMinutes(stime) >= value99+30 and MarketPosition == 0 and var1 == 0 Then{ if C > (value3+value4)/2 Then{ buy(); Condition1 = true; } if c < (value3+value4)/2 Then{ sell(); Condition1 = true; } } if H > value1 Then value1 = H; if L < value2 Then value2 = L; if MarketPosition == 1 and C < (value3+value4)/2 Then exitlong(); if MarketPosition == -1 and C > (value3+value4)/2 Then ExitShort(); SetStopLoss(PriceScale*Loss,PointStop); SetStopProfittarget(PriceScale*Profit,PointStop); if crossup(var1,25) Then{ exitlong(); ExitShort(); } 즐거운 하루되세요 > 새로운세상 님이 쓴 글입니다. > 제목 : Re : Re : 30분 단위 매매 > 수식 잘 받아보았습니다. 다른 부분은 일단 이상이 없는 것 같은데, 지금 수식은 날짜가 변경되면 첫 sign이 전날 마지막 30분을 참고하여 매매가 발생합니다. 날짜가 변경되면 첫 30분은 거래가 안되고 두번째부터 거래가 되었으면 합니다. (연초개장일과 수능일을 고려할 때 stime>=0930을 첨가하는 것은 적합하지 않을 것 같으므로 작성해주신 수식에서 수정 부탁드립니다) ------------------------------ 그리고 전체적으로 한가지 문제가 있는데, 말씀드린 것처럼 주데이타 1분봉, data2를 30분봉으로 한 이유는 청산부분에 있어서 Atstop 이나 Atlimit를 사용하여 청산조건 만족즉시 청산하기 위함입니다. (즉, 실제에서는 1분봉 대신 1초봉을 사용 예정 --> 예를들어 '손절2'부분 조건만족 즉시를 위하여) 현재는 1분봉만 주데이타로 사용하여 수식이 구성되어 있기 때문에 1분봉 완성시에 청산이 일어나는 문제가 있으므로, 실제 (1)주데이타 1초봉 (2)data2 30분봉 (3)조건만족즉시라는 점을 감안하여 원래 질문내용에 부합되도록 한번 더 수식을 살펴봐주시면 감사하겠습니다. (여기서 조건만족즉시라 함은 1초봉일 경우 해당조건 만족하는 봉완성시로 해도 좋으나, 1분봉일경우는 atlimit 나 atstop 시점을 의미합니다) 번거롭게 해서 죄송합니다~ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 30분 단위 매매 > 안녕하세요 예스스탁입니다. input : N(30),loss(10),Profit(5); var1 = TimeToMinutes(stime)%30; if dayindex == 0 Then value99 = TimeToMinutes(stime); if dayindex == 0 or var1 < var1[1] Then{ value1 = H; value2 = L; value3 = value1[1]; value4 = value2[1]; Condition1 = False; if Condition1 == false and stime >= value99+30 and MarketPosition == 0 Then{ if C > (value3+value4)/2 Then{ buy(); Condition1 = true; } if c < (value3+value4)/2 Then{ sell(); Condition1 = true; } } } if H > value1 Then value1 = H; if L < value2 Then value2 = L; if MarketPosition == 1 and C < (value3+value4)/2 Then exitlong(); if MarketPosition == -1 and C > (value3+value4)/2 Then ExitShort(); SetStopLoss(PriceScale*Loss,PointStop); SetStopProfittarget(PriceScale*Profit,PointStop); if crossup(var1,25) Then{ exitlong(); ExitShort(); } 수수료 슬리피지를 감안하시다면 6틱정도로 설정하셔야 실제 5틱수익정도가 됩니다. 식상에는 5틱으로 했습니다. 즐거운 하루되세요 > 새로운세상 님이 쓴 글입니다. > 제목 : 30분 단위 매매 > 안녕하세요... 다음 수식 부탁드립니다. 주데이타 연결선물 1분봉, data2 연결선물 30분봉입니다. 09:00~09:30 장개시후 30분간은 매매없슴 09:30~10:00 1) 첫봉 30분간을 기준으로 첫봉의 종가가 첫봉의 고가저가의 1/2 이상에서 형성되었으면 09:30에 매수, 1/2 미만에서 형성되었으면 09:30분에 매도 2) 매수매도 진입후 5틱 수익이 확보되면 익절 (5틱 수익이 확보되려면 6틱 수익이 날때 청산인지 모르겠습니다) 3) 손절1 : 진입후 10틱 손실이 나거나 or 손절2 : 매수후 가격이 09:00~09:30 고저의 1/2 이하로 형성될 때 매도후 가격이 09:00~09:30 고저의 1/2 이상으로 형성될 때 4) 30분 단위로 거래는 1회만 발생 즉, 진입후 익절이던 손절이던 청산이 되었으면 다음 기간이 올 때까지 진입금지 5) 진입후 청산이 발생하지 않았다면 25분 간격으로 포지션 청산 여기서는 09:55 에 청산을 의미 6) 09:55~10:00 무포지션 유지, 즉 이시간대에는 매매없슴 위와 같은 방식으로 30분단위로 매매가 새로 시작됨. (시간대만 다를 뿐 내용은 상기와 동일합니다) 10:00~10:30 1) 09:30~10:00의 30분봉을 기준으로 종가가 고가저가의 1/2 이상에서 형성되었으면 10:00 에 매수, 1/2 미만에서 형성되었으면 10:00 에 매도 2) 매수매도 진입후 5틱 수익이 확보되면 익절 3) 손절1 : 진입후 10틱 손실이 나거나 or 손절2 : 매수후 가격이 09:30~10:00 고저의 1/2 이하로 형성될 때 매도후 가격이 09:30~10:00 고저의 1/2 이상으로 형성될 때 4) 30분 단위로 거래는 1회만 발생 즉, 진입후 익절이던 손절이던 청산이 되었으면 다음 기간이 올 때까지 진입금지 5) 진입후 청산이 발생하지 않았다면 25분 간격으로 포지션 청산 여기서는 10:25 에 청산을 의미 6) 10:25~10:30 무포지션 유지, 즉 이시간대에는 매매없슴 이렇게 30분단위로 14:30까지 거래를 하고 싶습니다. (위의 내용대로라고 하면 최종종료시간은 14:25분이 되겠네요) 시간대별로 일일이 수식이 작성되지 않고 간략한 방법이 있을지요? 그리고 연초개장일과 수능일에는 10:00에 개장이 되는 관계로 이부분도 감안이 될 수 있다면 더욱 감사하겠습니다. (연초개장일,수능일 문제를 동시에 해결하려면 dayindex==0 함수를 사용해야 하는 것인지 잘 모르겠습니다. dayindex를 사용하면 수능일은 1시간씩 순연되므로 평상시와 같겠지만 연초개장일은 개장시간만 1시간 지연되므로 별도 수식이 필요할 것 같습니다) 그럼 추운 날씨에 건강 유의하시고 오늘도 즐거운 하루 되시기를 바랍니다.