커뮤니티

문의드립니다.

프로필 이미지
쩡우셩
2016-01-22 15:25:51
137
글번호 94686
답변완료
시스템식 문의 드립니다. ### 조건 ### 1. 매수는 일봉에서 당일 저가가 Envelope하단 값 밑에 있다가 현재가가 Envelope하단 값을 넘어서는 순간 매수 2. 매도는 일봉에서 저가 밑으로 가는 순간 손절(몇 봉이 진행 되어도 진입 일봉의 저가가 기준), 진입가격의 3% 이상이 되면 바로 익절이 될 수 있도록 수식 부탁 드립니다. 당일봉에서도 손절/익절이 가능하도록 부탁 드립니다. 3. 한번만 위와 같이 실행한다. (매도 후 다시 조건이 와도 진행이 안 되도록.) 4. 문의사항 : a. 시스템식으로 매수,매도 경우 체결가격은 어떻게 되나요? 딱 조건에 맞는 가격이 정해지나요? b. 매수/매도 수량은 어떻게 정하나요? 혹시 1차, 2차 조건으로 매수/매도를 진행 할 수 있나요? (ex : A 조건에 현재 물량의 50% 매도, B조건에 나머지 50%매도 etc.) c. 매수 상태에서 아직 조건이 안 되어 매도를 못 했다면 하루 지나고 다시 시스템을 적용을 하면 조건에 맞게 매도가 되나요? (컴퓨터는 한번 Off 했다가 On함.) d. 일봉으로 시가에 매수 하는 방법은? e. 위 질문과 같이 일봉 Envelope 하단에서 돌파 시 매수를 하고 3분봉 5일선 이탈 시 매도를 할 수 있나요? (일봉에서 매수, 분봉에서 매도) f. 위 질문에서 매도를 하고 다시 조건이 만족 했을 시 다시 재 매수 진행이 되게 하려면 어떻게 하나요? g. 만약 시스템으로 매수를 하지 않고 수동으로 매수를 한 후 매도를 기존의 매수/매도 식이 있는 시스템으로 매도 가능한가요? 밑에는 제가 작성한 식인데... 당일 매도가 안 되는 것 같습니다. 제대로 작성한 것도 맞는지 모르겠고요... Inputs: Period1(20), Percent(3); Value1 = EnvelopeDown(Period1, Percent); IF L > Value1 and C > Value1 and C > O Then { Buy(); } If C < L or C >= EntryPrice*1.03 Then { Sell(); } 바쁘시겠지만 많은 도움 부탁 드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-01-25 10:39:04

안녕하세요 예스스탁입니다. 1 문의하신 내용 분봉차트에서 구현되어야 합니다. 일봉에서는 진입일 일봉값을 기준으로 당일 청산을 발생할수 없습니다. 분봉차트에서 일봉 볼린져밴드를 계산해 진입청산되게 해야 합니다. # 분봉에서 일봉 볼린져밴드 계산 시작 input : dayPeriod(20),dayDv(2),진입시작일(20160125); var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0); var : dayBBup(0),dayBBdn(0),dayCounter(0); #일봉 이동평균 계산 daysum = 0; for daycnt = 0 to dayPeriod-1{ daysum = daysum + DayClose(daycnt); } dayma = daysum/dayPeriod; #표준편차 계산 If DayClose(dayPeriod) != 0 Then { daySumSqrt = 0; For dayCounter = 0 To dayPeriod - 1 { daySumSqrt = daySumSqrt + (DayClose(dayCounter) - dayma)^2; } dayStdv = SquareRoot(daySumSqrt / dayPeriod); } Else dayStdv = 0; # 일봉 볼린져밴드 계산 dayBBup = dayma + (dayDv * dayStdv); dayBBdn = dayma - (dayDv * dayStdv); if sdate >= 진입시작일 and TotalTrades == 0 and MarketPosition == 0 and daylow < dayBBdn and H < dayBBdn Then buy("b",AtStop,dayBBdn); if MarketPosition == 1 Then exitlong("bx",AtStop,daylow[BarsSinceEntry]); SetStopProfittarget(3,PercentStop); 2 a. 시스템은 신호만 발생합니다. 신호 후에 주문가격은 시스템 트레이딩 설정창의 매매가격으로 주문이 집행되며 체결은 거래소에서 되므로 정확히 알수 없습니다. b 수량은 사용자분이 코딩으로 분할청산도 구현하실수 있습니다. 진입은 진입함수에 수량을 지정하시면 해당 수량으로 진입하고 지정하지 않으면 시스템 트레이딩설정창에서 지정한 수량으로 주문이 발생합니다. 청산식도 청산식에 수량을 지정해서 분할청산식을 만드실수 있습니다. 지정하지 않으면 진입수량에 대해 전량 청산합니다. 해당 부분은 사용자분이 수식에서 원하시는 내용으로 코딩하실수 있습니다. c 예 다음날 다시 접속하시면 연속해서 매매 가능합니다. d,e 예 가능합니다. 3분봉 차트에서 일봉조건내용을 구현해야 합니다. 다만 시초가에 진입하려면 전일마지막봉에서 조건을 걸어야 합니다 전일마지막봉은 시간으로만 지정가능하고 주식의 경우 15시 봉이 마지막봉입니다. # 분봉에서 일봉 볼린져밴드 계산 시작 input : dayPeriod(20),dayDv(2),진입시작일(20160125); var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0); var : dayBBup(0),dayBBdn(0),dayCounter(0),pre(0); if date != date[1] Then Pre = dayBBdn[1]; #일봉 이동평균 계산 daysum = 0; for daycnt = 0 to dayPeriod-1{ daysum = daysum + DayClose(daycnt); } dayma = daysum/dayPeriod; #표준편차 계산 If DayClose(dayPeriod) != 0 Then { daySumSqrt = 0; For dayCounter = 0 To dayPeriod - 1 { daySumSqrt = daySumSqrt + (DayClose(dayCounter) - dayma)^2; } dayStdv = SquareRoot(daySumSqrt / dayPeriod); } Else dayStdv = 0; # 일봉 볼린져밴드 계산 dayBBup = dayma + (dayDv * dayStdv); dayBBdn = dayma - (dayDv * dayStdv); if stime == 150000 and #선물옵션은 151500 MarketPosition == 0 and C > dayBBdn and DayClose(1) < Pre Then buy("b",AtMarket); if MarketPosition == 1 and CrossDown(c,ma(c,5)) Then exitlong(); f 시스템은 기본적으로 수식을 작성하시면 진입과 청산을 반복합니다. 위 올려드린식은 지정일 이후에 한번 진입을 하는 식입니다. 진입식에서 아래 조건 제외하시면 진입청산이 반복됩니다. sdate >= 진입시작일 and TotalTrades == 0 and g 시스템은 수동주문을 인지하지 못합니다. 수식내 코딩으로 작성한 진입청산식에 의해서만 신호가 발생합니다. > 쩡우셩 님이 쓴 글입니다. > 제목 : 문의드립니다. > 시스템식 문의 드립니다. ### 조건 ### 1. 매수는 일봉에서 당일 저가가 Envelope하단 값 밑에 있다가 현재가가 Envelope하단 값을 넘어서는 순간 매수 2. 매도는 일봉에서 저가 밑으로 가는 순간 손절(몇 봉이 진행 되어도 진입 일봉의 저가가 기준), 진입가격의 3% 이상이 되면 바로 익절이 될 수 있도록 수식 부탁 드립니다. 당일봉에서도 손절/익절이 가능하도록 부탁 드립니다. 3. 한번만 위와 같이 실행한다. (매도 후 다시 조건이 와도 진행이 안 되도록.) 4. 문의사항 : a. 시스템식으로 매수,매도 경우 체결가격은 어떻게 되나요? 딱 조건에 맞는 가격이 정해지나요? b. 매수/매도 수량은 어떻게 정하나요? 혹시 1차, 2차 조건으로 매수/매도를 진행 할 수 있나요? (ex : A 조건에 현재 물량의 50% 매도, B조건에 나머지 50%매도 etc.) c. 매수 상태에서 아직 조건이 안 되어 매도를 못 했다면 하루 지나고 다시 시스템을 적용을 하면 조건에 맞게 매도가 되나요? (컴퓨터는 한번 Off 했다가 On함.) d. 일봉으로 시가에 매수 하는 방법은? e. 위 질문과 같이 일봉 Envelope 하단에서 돌파 시 매수를 하고 3분봉 5일선 이탈 시 매도를 할 수 있나요? (일봉에서 매수, 분봉에서 매도) f. 위 질문에서 매도를 하고 다시 조건이 만족 했을 시 다시 재 매수 진행이 되게 하려면 어떻게 하나요? g. 만약 시스템으로 매수를 하지 않고 수동으로 매수를 한 후 매도를 기존의 매수/매도 식이 있는 시스템으로 매도 가능한가요? 밑에는 제가 작성한 식인데... 당일 매도가 안 되는 것 같습니다. 제대로 작성한 것도 맞는지 모르겠고요... Inputs: Period1(20), Percent(3); Value1 = EnvelopeDown(Period1, Percent); IF L > Value1 and C > Value1 and C > O Then { Buy(); } If C < L or C >= EntryPrice*1.03 Then { Sell(); } 바쁘시겠지만 많은 도움 부탁 드립니다.