커뮤니티

시스템식 질문입니다.

프로필 이미지
회원
2013-02-28 11:49:29
233
글번호 60062
답변완료
일전에 선물에서 20볼린저 상단밴드 돌파시 매수해서 0.5 point 상승할때 마다 추가로 매수 하는 코딩에 대해 질문했었습니다. 그때 주신 답변이 이렇습니다. input : p(20),dv(2); var1 = BollBandUp(P,dv); if stime >= 93000 and stime < 144500 Then{ if MarketPosition == 0 and crossup(c,var1) Then buy("b"); if MarketPosition == 1 Then{ buy("bb",AtStop,EntryPrice+(0.5*CurrentEntries)); exitlong("xl",AtStop,EntryPrice-0.5+(0.5*(CurrentEntries-1))); if CrossDown(c,ma(c,10)) Then exitlong("bx"); } } SetStopEndofday(144500); 여기에 추가로 질문을 드리고자 합니다. 질문 1. 위 코딩은 매수 후 0.5 point만큼 상승할 때 마다 추가 매수가 이루어지는데, 이번에는 첫매수가 이루어질 당시, 즉 상단돌파가 일어날때, 그 시점의 고가와 저가의 차이만큼 진입가격(entryprice)에서 상승하면 추가매수하는 코딩을 만들고 싶습니다. 마찬가지 논리로 두번째 매수(추가매수)가 이루어질때 그 시점의 고가와 저가의 차이만큼 두번째 진입가격에서 상승한다면 또 추가매수가 이루어지도록 만들고 싶습니다. 총 진입계약은 5계약으로 만들고 싶습니다. 질문 2. 답변주신 코딩에서 매수청산시 AtStop를 사용하셨는데, 그럼 매도 청산시에는 AtLimit를 사용해야 하나요? AtStop와 AtLimit의 뜻과 사용방법에 대해 알고 싶습니다. 제가 여러가지로 생각해서 코딩을 하고 있지만, 한계에 부딪히는 점이 많습니다. 수고스러우시겠지만 답변 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-02-28 14:55:46

안녕하세요 예스스탁입니다. input : p(20),dv(2); var1 = BollBandUp(P,dv); if stime >= 93000 and stime < 144500 Then{ if MarketPosition == 0 and crossup(c,var1) Then buy("b"); if MarketPosition == 1 Then{ value1 = H[BarsSinceEntry]-L[BarsSinceEntry]; if CurrentContracts < 5 Then buy("bb",AtStop,EntryPrice+(value1*CurrentEntries)); exitlong("xl",AtStop,EntryPrice-value1+(value1*(CurrentEntries-1))); if CrossDown(c,ma(c,10)) Then exitlong("bx"); } } SetStopEndofday(144500); 매도라고 atlimit으로 사용하시면 안됩니다. atstop과 atlimit은 시세가 움직이는 방향을 감시하는 것인데 주문함수별로 다른 방향을 감시합니다. buy - atstop --> 지정한 가격까지 상승하면 매수진입을 하고자 할때 사용합니다. buy - atlimit --> 지정한 가격까지 하락할때 매수진입을 하고자할때 사용합니다. sell - atstop --> 지정한 가격까지 하락하면 매도진입을 하고자 할때 사용합니다. sell - atlimit --> 지정한 가격까지 상승할때 매도진입을 하고자할때 사용합니다. exitlong - atstop --> 지정한 가격까지 하락하면 매수포지션 청산을 하고자 할때 사용합니다. exitlong - atlimit --> 지정한 가격까지 상승할때 매수포지션 청산을 하고자 할때 사용합니다. exitshort - atstop --> 지정한 가격까지 상승하면 매도포지션 청산을 하고자 할때 사용합니다. exitshort - atlimit --> 지정한 가격까지 하락할때 매도포지션 청산을 하고자할때 사용합니다. 식 작성에 참고하시기 바랍니다. 즐거운 하루되세요 > HI_yjam49 님이 쓴 글입니다. > 제목 : 시스템식 질문입니다. > 일전에 선물에서 20볼린저 상단밴드 돌파시 매수해서 0.5 point 상승할때 마다 추가로 매수 하는 코딩에 대해 질문했었습니다. 그때 주신 답변이 이렇습니다. input : p(20),dv(2); var1 = BollBandUp(P,dv); if stime >= 93000 and stime < 144500 Then{ if MarketPosition == 0 and crossup(c,var1) Then buy("b"); if MarketPosition == 1 Then{ buy("bb",AtStop,EntryPrice+(0.5*CurrentEntries)); exitlong("xl",AtStop,EntryPrice-0.5+(0.5*(CurrentEntries-1))); if CrossDown(c,ma(c,10)) Then exitlong("bx"); } } SetStopEndofday(144500); 여기에 추가로 질문을 드리고자 합니다. 질문 1. 위 코딩은 매수 후 0.5 point만큼 상승할 때 마다 추가 매수가 이루어지는데, 이번에는 첫매수가 이루어질 당시, 즉 상단돌파가 일어날때, 그 시점의 고가와 저가의 차이만큼 진입가격(entryprice)에서 상승하면 추가매수하는 코딩을 만들고 싶습니다. 마찬가지 논리로 두번째 매수(추가매수)가 이루어질때 그 시점의 고가와 저가의 차이만큼 두번째 진입가격에서 상승한다면 또 추가매수가 이루어지도록 만들고 싶습니다. 총 진입계약은 5계약으로 만들고 싶습니다. 질문 2. 답변주신 코딩에서 매수청산시 AtStop를 사용하셨는데, 그럼 매도 청산시에는 AtLimit를 사용해야 하나요? AtStop와 AtLimit의 뜻과 사용방법에 대해 알고 싶습니다. 제가 여러가지로 생각해서 코딩을 하고 있지만, 한계에 부딪히는 점이 많습니다. 수고스러우시겠지만 답변 부탁드립니다. 감사합니다.