커뮤니티

수식 문의 드립니다.

프로필 이미지
bin
2020-05-20 11:04:58
1121
글번호 139011
답변완료
안녕하세요. 수식 작성중에 어려움이 있어, 문의 드립니다. 만들고 싶은 수식은 아래와 같습니다. 항상 많은 도움주셔서 감사드립니다. #1 1. 거래 시간 : 07:00:00 ~ 15:00:00 2. 진입 조건식 : 1) macd Osilator(12,26,9) 가 0을 상향 돌파시, buy 2) macd Osilator(12,26,9) 가 0을 하향 돌파시, sell 3. 청산 조건식 : 1) Buy 포지션일경우, macd Osilator(12,26,9) 가 0을 하향 돌파시 청산 2) Sell 포지션일경우, macd Osilator(12,26,9) 가 0을 상향 돌파시 청산 3) 수익기준 20pt (나스닥 기준) 달성 후 10pt 까지 떨어지면 익절 후 다음진입신호 신규진입. 4) 수익기준 20pt 이상 시, 상기 청산조건식 1) & 2) 에 의해 청산 후 다음진입신호 신규진입. 4. 강제청산시간 : 15:00:00 5. 기타 : 거래 시간 내에는 조건식에 따라 거래횟수에 관계없이 진행, 강제청산시간 후 진입금지. #2 1. 거래 시간 : 17:00:00 ~ 05:00:00(익일) 2. 진입 조건식 : 1) macd Osilator(12,26,9) 가 0을 상향 돌파시, 매수 2) macd Osilator(12,26,9) 가 0을 하향 돌파시, 매도 3. 청산 조건식 : 1) Buy 포지션일경우, macd Osilator(12,26,9) 가 0을 하향 돌파시 청산 2) Sell 포지션일경우, macd Osilator(12,26,9) 가 0을 상향 돌파시 청산 3) 수익기준 20pt (나스닥 기준) 달성 후 10pt 까지 떨어지면 익절 후 다음진입신호 신규진입. 4) 수익기준 20pt 이상 시, 상기 청산조건식 1) & 2) 에 의해 청산 후 다음진입신호 신규진입. 4. 강제청산시간 : 05:00:00(익일) 5. 기타 : 거래 시간 내에는 조건식에 따라 거래횟수에 관계없이 진행, 강제청산시간 후 진입금지.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-05-20 14:56:36

안녕하세요 예스스탁입니다. 1번과 2번식 아래식 내용으로 동일합니다. 외부변수의 StartTime과 EndTime으로 시간만 달리지정하시면 됩니다. Input : short(12), long(26), signal(9),Profit(20),Drop(10); input : StartTime(70000),EndTime(151500); var : Tcond(false); Var : MACDv(0), MACDs(0),macdo(0) ; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Tcond == true then { if MarketPosition <= 0 and crossup(MACDO,0) Then buy("b"); if MarketPosition >= 0 and CrossDown(MACDO,0) Then sell("s"); if MarketPosition == 1 then { if highest(H,BarsSinceEntry) >= EntryPrice+Profit then { ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-drop); } } if MarketPosition == 1 then { if Lowest(L,BarsSinceEntry) <= EntryPrice-Profit then { ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+drop); } } } if EndTime > StartTime Then SetStopEndofday(EndTime); Else { if sdate != sdate[1] Then SetStopEndofday(EndTime); if bdate != bdate[1] Then SetStopEndofday(0); } 즐거운 하루되세요 > bin 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > 안녕하세요. 수식 작성중에 어려움이 있어, 문의 드립니다. 만들고 싶은 수식은 아래와 같습니다. 항상 많은 도움주셔서 감사드립니다. #1 1. 거래 시간 : 07:00:00 ~ 15:00:00 2. 진입 조건식 : 1) macd Osilator(12,26,9) 가 0을 상향 돌파시, buy 2) macd Osilator(12,26,9) 가 0을 하향 돌파시, sell 3. 청산 조건식 : 1) Buy 포지션일경우, macd Osilator(12,26,9) 가 0을 하향 돌파시 청산 2) Sell 포지션일경우, macd Osilator(12,26,9) 가 0을 상향 돌파시 청산 3) 수익기준 20pt (나스닥 기준) 달성 후 10pt 까지 떨어지면 익절 후 다음진입신호 신규진입. 4) 수익기준 20pt 이상 시, 상기 청산조건식 1) & 2) 에 의해 청산 후 다음진입신호 신규진입. 4. 강제청산시간 : 15:00:00 5. 기타 : 거래 시간 내에는 조건식에 따라 거래횟수에 관계없이 진행, 강제청산시간 후 진입금지. #2 1. 거래 시간 : 17:00:00 ~ 05:00:00(익일) 2. 진입 조건식 : 1) macd Osilator(12,26,9) 가 0을 상향 돌파시, 매수 2) macd Osilator(12,26,9) 가 0을 하향 돌파시, 매도 3. 청산 조건식 : 1) Buy 포지션일경우, macd Osilator(12,26,9) 가 0을 하향 돌파시 청산 2) Sell 포지션일경우, macd Osilator(12,26,9) 가 0을 상향 돌파시 청산 3) 수익기준 20pt (나스닥 기준) 달성 후 10pt 까지 떨어지면 익절 후 다음진입신호 신규진입. 4) 수익기준 20pt 이상 시, 상기 청산조건식 1) & 2) 에 의해 청산 후 다음진입신호 신규진입. 4. 강제청산시간 : 05:00:00(익일) 5. 기타 : 거래 시간 내에는 조건식에 따라 거래횟수에 관계없이 진행, 강제청산시간 후 진입금지.