커뮤니티

시스템 문의 드립니다

프로필 이미지
이세야
2015-12-03 16:18:45
109
글번호 93044
답변완료
수고하십니다. input : P1(3), cut(2) ; var : sum1(0),cnt(0); Var1 = (dayopen+dayclose)/2; sum1 = 0; for cnt = 0 to P1-1{ sum1 = sum1+(dayopen(cnt)+DayClose(cnt))/2; } if EntryDate(cut) != sDate Then if crossup(O,Var1) then { Sell("매도해라"); } if crossdown (C,Var1) then { Buy("매수해라");} setstopprofittarget(0.5,pointstop) ; setstoploss(0.5,pointstop) ; setstopendofday(140000) ; 개인적으로 만들어본 이 시스템이 시가가 중앙선 돌파시 매도 종가가 중앙선 하향돌파시 매수 하루 두번 플레이 익절 0.5 손절 0.5 2시청산 맞는지 여쭤보고 싶어서 글을 올리게되었습니다. 그리고 각 함수의 식마다 부가적인 설명 부탁드립니다. (첫번째줄 p1과 열번째줄 !가 무엇을 의미하는지 궁금합니다.) 번거롭게해서 죄송합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-12-03 17:09:05

안녕하세요 예스스탁입니다. 현재식에 불필요한 내용이 있어 삭제했습니다. sum1 = 0; for cnt = 0 to P1-1{ sum1 = sum1+(dayopen(cnt)+DayClose(cnt))/2; } 위 내용은 당일포함 P1일간의 시가와 종가의 중간값을 누적하는 식입니다. 즉 input의 P1은 위 식의 일수를 지정한 변수입니다. 진입횟수를 세는 부분은 기존의 EntryDate(cut) != sDate 로는 2번으로 제어가 되지 않습니다. 아래 당일 진입횟수를 세는 내용을 추가해 드렸습니다. !=은 2개의 값이 다르다라는 표현입니다. A == B는 A와 B가 같다 A != B는 A와 B가 다르다 입니다. 만약 중앙선이 단순 당일의 시가와 종가의 중간값이 아니고 P1일간의 평균값이면 2번식을 이용하시기 바랍니다. 1번식은 당일시가와 종가의 중간값입니다. 1번 input : P1(3), cut(2) ; var : sum1(0),cnt(0); var : T1(0),entry(0); #날짜가 변경되면 지금까지의 총 거래횟수 저장 if date != date[1] Then T1 = TotalTrades; #당일진입횟수 계산 #현재 무포지션이면 현재 총거래횟수에서 첫봉기준 총거래횟수를 뺌 #현재 무포지션이 아니면(매수나 매도진입상태이면) #현재 총거래횟수에서 첫봉기준 총거래횟수를 빼고 1을 더해붐 #1을 더하는 것은 미청산포지션은 거래횟수에 들어가지 않으므로 1을 더해 미청산도 거래횟수로 감안하기 위함입니다. if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; #당일시가와종가의 중간값 Var1 = (dayopen+dayclose)/2; #당일 2번까지 if entry < 2 Then{ #시가가 중간값을 상향돌파하면 매도 if crossup(O,Var1) then { Sell("매도해라"); } #시가가 중간값을 하향이탈하면 매수 if crossdown (C,Var1) then { Buy("매수해라"); } } #0.5 목표수익 setstopprofittarget(0.5,pointstop) ; #0.5 손절 setstoploss(0.5,pointstop) ; #14시 당일청산 setstopendofday(140000) ; 2번 input : P1(3), cut(2) ; var : sum1(0),cnt(0); var : T1(0),entry(0); #날짜가 변경되면 지금까지의 총 거래횟수 저장 if date != date[1] Then T1 = TotalTrades; #당일진입횟수 계산 #현재 무포지션이면 현재 총거래횟수에서 첫봉기준 총거래횟수를 뺌 #현재 무포지션이 아니면(매수나 매도진입상태이면) #현재 총거래횟수에서 첫봉기준 총거래횟수를 빼고 1을 더해붐 #1을 더하는 것은 미청산포지션은 거래횟수에 들어가지 않으므로 1을 더해 미청산도 거래횟수로 감안하기 위함입니다. if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; #기초값을 0 sum1 = 0; for cnt = 0 to P1-1{ #cnt에 0이 저장되면 #sum1에 (dayopen(0)+DayClose(0))/2 값을 저장 #cnt에 1이 저장되면 #sum1에 (dayopen(1)+DayClose(1))/2 값을 저장 sum1 = sum1+(dayopen(cnt)+DayClose(cnt))/2; } #누적값을 일수로 나누어 평균 Var1 = sum1/P1; #당일 2번까지 if entry < 2 Then{ #시가가 중간값을 상향돌파하면 매도 if crossup(O,Var1) then { Sell("매도해라"); } #시가가 중간값을 하향이탈하면 매수 if crossdown (C,Var1) then { Buy("매수해라"); } } #0.5 목표수익 setstopprofittarget(0.5,pointstop) ; #0.5 손절 setstoploss(0.5,pointstop) ; #14시 당일청산 setstopendofday(140000) ; 즐거운 하루되세요 > 이세야 님이 쓴 글입니다. > 제목 : 시스템 문의 드립니다 > 수고하십니다. input : P1(3), cut(2) ; var : sum1(0),cnt(0); Var1 = (dayopen+dayclose)/2; sum1 = 0; for cnt = 0 to P1-1{ sum1 = sum1+(dayopen(cnt)+DayClose(cnt))/2; } if EntryDate(cut) != sDate Then if crossup(O,Var1) then { Sell("매도해라"); } if crossdown (C,Var1) then { Buy("매수해라");} setstopprofittarget(0.5,pointstop) ; setstoploss(0.5,pointstop) ; setstopendofday(140000) ; 개인적으로 만들어본 이 시스템이 시가가 중앙선 돌파시 매도 종가가 중앙선 하향돌파시 매수 하루 두번 플레이 익절 0.5 손절 0.5 2시청산 맞는지 여쭤보고 싶어서 글을 올리게되었습니다. 그리고 각 함수의 식마다 부가적인 설명 부탁드립니다. (첫번째줄 p1과 열번째줄 !가 무엇을 의미하는지 궁금합니다.) 번거롭게해서 죄송합니다.