커뮤니티

시스템식 부탁드립니다.

프로필 이미지
라베시
2017-04-14 11:22:21
214
글번호 108813
답변완료

첨부 이미지

아래의 조건에 맞는 시스템식 작성에 도움 부탁드립니다. 그리고 또 한가지 궁금한 점이 있는데요, 주가(종가)가 30일선 상향돌파 작성에 If CrossUp(C, ma(c,30) Then Buy(); 이런 식으로 작성을 했는데, 아래꼬리로 이평아래에 내려갔다가 다시 올라온 경우는 어떻게 포착하는건가요? Input : Period1(10), Period2(60); Var : Sma1(0), Sma2(0); Sma1 = ma(C, Period1); Sma2 = ma(C, Period2); # 1차 매수 (조건1,2를 모두 만족할 경우 매수) 조건1) 0~5봉전의 C가 Sma1을 상향돌파 후, 현재 C가 Sma2 상향돌파 (즉, Sma1,Sma2 동시 상향돌파도 가능) 조건2) 1봉전 Sma1과 Sma2의 이격과 비교해 현재 1틱 이상 좁아진 경우 # 1차 매수청산 C가 Sma1을 하향돌파 # 2차 매수 1차 매수청산 후부터 주가가 Sma1과 Sma2 사이에 있던 상황에서 Sma1을 상향돌파 # 2차 매수청산 C가 Sma1을 하향돌파 # 본절 12틱 이상 상승후 다시 진입가로 하락시 진입가에 매수청산
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-04-14 14:20:14

안녕하세요 예스스탁입니다. 1 If CrossUp(C, ma(c,30) Then Buy(); 위 내용은 종가로만 판단합니다. C > ma(c,30) and C[1] <= ma(c,30)[1]과 같습니다. 첨부한 그림은 하나의 봉에서 저가는 이평 밑으로 내려갔다가 종가는 위에서 끝난 상태입니다. 아래와 같이 표현하시면 됩니다. if C > ma(C,30) and L < ma(C,30) then 2. 2차 조건이 모호합니다. 2차 진입은 1차진입(b1)으로 진입하고 청산한 이후에만 신호발생할수 있게 작성했습니다. Input : Period1(10), Period2(60); Var : Sma1(0), Sma2(0),diff(0); Sma1 = ma(C, Period1); Sma2 = ma(C, Period2); diff = abs(sma1-sma2); if MarketPosition == 0 and crossup(c,sma2) and C> Sma1 and countif(crossup(c,sma1),5) >= 1 and diff <= diff-PriceScale*1 Then buy("b1"); if MarketPosition == 0 and IsEntryName("b1",1) == true and crossup(c,sma1) and C[1] < sma1[1] and C[1] >= Sma2[1] Then buy("b2"); if MarketPosition == 1 then{ if CrossDown(c,sma1) Then exitlong("bx1"); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*12 Then ExitLong("bx2",AtStop,EntryPrice); } 만약 1차 진입이 차트 전체에서 한번만 발생하고 이후에는 2차로만 진입한다면 아래와 같습니다. Input : Period1(10), Period2(60); Var : Sma1(0), Sma2(0),diff(0); Sma1 = ma(C, Period1); Sma2 = ma(C, Period2); diff = abs(sma1-sma2); if MarketPosition == 0 and TotalTrades == 0 and crossup(c,sma2) and C> Sma1 and countif(crossup(c,sma1),5) >= 1 and diff <= diff-PriceScale*1 Then buy("b1"); if MarketPosition == 0 and TotalTrades >= 1 and crossup(c,sma1) and C[1] < sma1[1] and C[1] >= Sma2[1] Then buy("b2"); if MarketPosition == 1 then{ if CrossDown(c,sma1) Then exitlong("bx1"); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*12 Then ExitLong("bx2",AtStop,EntryPrice); } 즐거운 하루되세요 > 라베시 님이 쓴 글입니다. > 제목 : 시스템식 부탁드립니다. > 아래의 조건에 맞는 시스템식 작성에 도움 부탁드립니다. 그리고 또 한가지 궁금한 점이 있는데요, 주가(종가)가 30일선 상향돌파 작성에 If CrossUp(C, ma(c,30) Then Buy(); 이런 식으로 작성을 했는데, 아래꼬리로 이평아래에 내려갔다가 다시 올라온 경우는 어떻게 포착하는건가요? Input : Period1(10), Period2(60); Var : Sma1(0), Sma2(0); Sma1 = ma(C, Period1); Sma2 = ma(C, Period2); # 1차 매수 (조건1,2를 모두 만족할 경우 매수) 조건1) 0~5봉전의 C가 Sma1을 상향돌파 후, 현재 C가 Sma2 상향돌파 (즉, Sma1,Sma2 동시 상향돌파도 가능) 조건2) 1봉전 Sma1과 Sma2의 이격과 비교해 현재 1틱 이상 좁아진 경우 # 1차 매수청산 C가 Sma1을 하향돌파 # 2차 매수 1차 매수청산 후부터 주가가 Sma1과 Sma2 사이에 있던 상황에서 Sma1을 상향돌파 # 2차 매수청산 C가 Sma1을 하향돌파 # 본절 12틱 이상 상승후 다시 진입가로 하락시 진입가에 매수청산