커뮤니티

함수 각주 및 해석 요청(11-1)

프로필 이미지
통큰베팅
2016-03-28 18:08:05
66
글번호 96650
답변완료
안녕하세요? 아래의 함수를 해석 요청드립니다. 1. 각 구문에 주석(#)을 달아서 요청드립니다. 2. 아래의 함수가 의미하는 바,즉 언제 사고 언제 파는지를 서술해주시기 바랍니다. 1번과 2번 각각 요청드립니다. ------------------------------------------------------------------------------------ var : entry1(0); var : ho1(0),OL1(0),HL1(0); var : maho1(0),maOL1(0),maHL1(0); var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0); var : EntryCnt1(0); var : V1(0),V2(0),V3(0),V4(0),V5(0); var : V6(0),V7(0),V8(0),V9(0),V10(0); if bdate != bdate[1] Then entry1 = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry1 = entry1+1; ho1 = Dayhigh-Dayopen; OL1 = DayOpen-DayLow; HL1 = DayHigh-DayLow; sumho1 = 0; sumOL1 = 0; sumHL1 = 0; for cnt1 = 1 to 10{ sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1)); sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1)); sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1)); } maho1 = sumho1/10; maOL1 = sumOL1/10; maHL1 = sumHL1/10; V1 = dayopen(0)+maho1; V2 = DayOpen(0)-maOL1; V3 = DayOpen(0)+maHL1; V4 = DayOpen(0)-maHL1; V5 = NthMaxList(1,V1,V2,V3,V4); V6 = NthMaxList(2,V1,V2,V3,V4); V9 = NthMaxList(3,V1,V2,V3,V4); V10 = NthMaxList(4,V1,V2,V3,V4); V7 = (V5+V10)/2; V8 = (V6+V9)/2; if MarketPosition == 0 and entry1 == 0 Then{ if V7 > V8 Then sell("s1",AtStop,v7); if V7 < V8 Then sell("s2",Atlimit,v8); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ ExitShort("sp1",atlimit,V9); if BarsSinceEntry >= 1 then ExitShort("sl1",AtStop,V6); } if MarketPosition == -1 and IsEntryName("s2") == true Then{ ExitShort("sp2",atlimit,V9); if BarsSinceEntry >= 1 Then ExitShort("sl2",AtStop,V6); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-03-29 09:30:18

안녕하세요 예스스탁입니다. 매수매도시점은 주석 참고하시기 바랍니다. 진입청산내용은 주석으로 판단하시기 바랍니다. 어떤의미에서 해당 조건으로 진입청산하는지 정확히 모르겠습니다. var : entry1(0); var : ho1(0),OL1(0),HL1(0); var : maho1(0),maOL1(0),maHL1(0); var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0); var : EntryCnt1(0); var : V1(0),V2(0),V3(0),V4(0),V5(0); var : V6(0),V7(0),V8(0),V9(0),V10(0); #새로운 영업일 시작되면 entry1은 0 if bdate != bdate[1] Then entry1 = 0; #진입이 발생하면 entry1은 1씩 증가(진입횟수 카운트) if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry1 = entry1+1; #당일고가-당일시가 ho1 = Dayhigh-Dayopen; #당일시가-당일저가 OL1 = DayOpen-DayLow; #일일고가-당일저가 HL1 = DayHigh-DayLow; #10일간 일간고가-일간시가의 평균값 계산 #10일간 일간시가-일간저가의 평균값 계산 #10일간 일간고가-일간저가의 평균값 계산 sumho1 = 0; sumOL1 = 0; sumHL1 = 0; for cnt1 = 1 to 10{ sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1)); sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1)); sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1)); } maho1 = sumho1/10; maOL1 = sumOL1/10; maHL1 = sumHL1/10; #당일시가 + 10일간고가시가의 평균값 V1 = dayopen(0)+maho1; #당일시가 + 10일간시가저가의 평균값 V2 = DayOpen(0)-maOL1; #당일시가 + 10일간고가저가의 평균값 V3 = DayOpen(0)+maHL1; #당일시가 - 10일간고가시가의 평균값 V4 = DayOpen(0)-maHL1; #위 4개 값중 1,2,3,4번째 값 저장 V5 = NthMaxList(1,V1,V2,V3,V4); V6 = NthMaxList(2,V1,V2,V3,V4); V9 = NthMaxList(3,V1,V2,V3,V4); V10 = NthMaxList(4,V1,V2,V3,V4); #4개 값중 가장큰값과 가장작은값의 중간값 V7 = (V5+V10)/2; #4개값중 2번째,3번째 큰값의 평균 V8 = (V6+V9)/2; #무포지션이고 당일 첫진입일때만 if MarketPosition == 0 and entry1 == 0 Then{ #v7이 v8보다 큰상태에서 v7보다 작은값 발생시 매도 if V7 > V8 Then sell("s1",AtStop,v7); #v7이 v8보다 작은상태에서 v8보다 큰값 발생시 매도 if V7 < V8 Then sell("s2",Atlimit,v8); } #매도후 if MarketPosition == -1 and IsEntryName("s1") == true Then{ #v9이하의 시세 발생하면 청산 ExitShort("sp1",atlimit,V9); #1봉 이후에 v6이상의 시세발생하면 청산 if BarsSinceEntry >= 1 then ExitShort("sl1",AtStop,V6); } #매수 후 if MarketPosition == -1 and IsEntryName("s2") == true Then{ #v9이상의 값 발생하면 청산 ExitShort("sp2",atlimit,V9); #1개봉 이후에 v6이하의 시세 발생하면 청산 if BarsSinceEntry >= 1 Then ExitShort("sl2",AtStop,V6); } 즐거운 하루되세요 > 통큰베팅 님이 쓴 글입니다. > 제목 : 함수 각주 및 해석 요청(11-1) > 안녕하세요? 아래의 함수를 해석 요청드립니다. 1. 각 구문에 주석(#)을 달아서 요청드립니다. 2. 아래의 함수가 의미하는 바,즉 언제 사고 언제 파는지를 서술해주시기 바랍니다. 1번과 2번 각각 요청드립니다. ------------------------------------------------------------------------------------ var : entry1(0); var : ho1(0),OL1(0),HL1(0); var : maho1(0),maOL1(0),maHL1(0); var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0); var : EntryCnt1(0); var : V1(0),V2(0),V3(0),V4(0),V5(0); var : V6(0),V7(0),V8(0),V9(0),V10(0); if bdate != bdate[1] Then entry1 = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry1 = entry1+1; ho1 = Dayhigh-Dayopen; OL1 = DayOpen-DayLow; HL1 = DayHigh-DayLow; sumho1 = 0; sumOL1 = 0; sumHL1 = 0; for cnt1 = 1 to 10{ sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1)); sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1)); sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1)); } maho1 = sumho1/10; maOL1 = sumOL1/10; maHL1 = sumHL1/10; V1 = dayopen(0)+maho1; V2 = DayOpen(0)-maOL1; V3 = DayOpen(0)+maHL1; V4 = DayOpen(0)-maHL1; V5 = NthMaxList(1,V1,V2,V3,V4); V6 = NthMaxList(2,V1,V2,V3,V4); V9 = NthMaxList(3,V1,V2,V3,V4); V10 = NthMaxList(4,V1,V2,V3,V4); V7 = (V5+V10)/2; V8 = (V6+V9)/2; if MarketPosition == 0 and entry1 == 0 Then{ if V7 > V8 Then sell("s1",AtStop,v7); if V7 < V8 Then sell("s2",Atlimit,v8); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ ExitShort("sp1",atlimit,V9); if BarsSinceEntry >= 1 then ExitShort("sl1",AtStop,V6); } if MarketPosition == -1 and IsEntryName("s2") == true Then{ ExitShort("sp2",atlimit,V9); if BarsSinceEntry >= 1 Then ExitShort("sl2",AtStop,V6); }