커뮤니티

data2가 선물 분봉일때 선물 일봉의 고저차를 보고 싶습니다.

프로필 이미지
회원
2011-04-02 20:32:32
705
글번호 37189
답변완료
Input : 고저차이평주기(20); Var : 고저차이평(0), sumV(0), count(0), ChUp(0), ChDn(0); sumV = 0; For count = 1 To 고저차이평주기 { sumV = sumV+(DayHigh(count)-DayLow(count)); } 고저차이평 = sumV / 고저차이평주기; //고저차의 이동평균 분봉으로 선물만 볼때(data1만 있을 때) 이 식으로 연결선물 일봉의 고저차를 분봉에 표시할 수 있습니다. 그런데 연결선물 분봉이 data2일때 이 식처럼 연결선물 일봉의 고저차를 표시하거나 시스템에 적용하려면 어떻게 해야 하나요? 그렇고 setstoploss를 data2 기준으로 적용하는 방법도 궁금합니다. 늘 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-04-04 11:19:33

안녕하세요 예스스탁입니다. 1. 참조종목을 사용할 경우 식을 많이 변경하셔야 합니다. day~함수의 경우 차트 첫봉의 날자 +99일치의 일봉데이터가 더 제공되지만 참조종목의 경우에는 해당 값이 제공되지 않고 차트의 데이터로만 계산이 되며 참조종목의 일봉값을 가져오는 함수는 for문에 직접 사용가능하지 않으므로 아래와 같이 변경하셔야 합니다. Input : 고저차이평주기(20); Var : 고저차이평(0,data2), sumV(0,data2), count(0),cnt(0); Array : HH[50](0,data2),LL[50](0,data2); if data2(date != date[1]) Then{ HH[0] = data2(H); LL[0] = data2(L); for cnt = 1 to 고저차이평주기{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if data2(H) > HH[0] Then HH[0] = Data2(H); if data2(L) < LL[0] Then LL[0] = Data2(L); sumV = 0; if HH[고저차이평주기] > 0 then{ For count = 1 To 고저차이평주기{ sumV = sumV+(HH[count]-LL[count]); } 고저차이평 = sumV / 고저차이평주기; //고저차의 이동평균 } plot1(고저차이평); 2. 기존에 주종목에서 사용하는 강제청산 내용을 참조종목으로 변경시에는 모두 봉완성시 조건으로 작성하셔야 합니다. 시세를 감시하여 특정가격에 도달하면 즉시 청산하는 내용은 주종목에만 한정됩니다. var1 = data2(c); if MarketPosition == 1 and data2(L) <= var1[BarsSinceEntry]*0.95 Then ExitLong(); if MarketPosition == -1 and data2(H) >= var1[BarsSinceEntry]*1.05 Then ExitShort(); 즐거운 하루되세요 > 닭고기 님이 쓴 글입니다. > 제목 : data2가 선물 분봉일때 선물 일봉의 고저차를 보고 싶습니다. > Input : 고저차이평주기(20); Var : 고저차이평(0), sumV(0), count(0), ChUp(0), ChDn(0); sumV = 0; For count = 1 To 고저차이평주기 { sumV = sumV+(DayHigh(count)-DayLow(count)); } 고저차이평 = sumV / 고저차이평주기; //고저차의 이동평균 분봉으로 선물만 볼때(data1만 있을 때) 이 식으로 연결선물 일봉의 고저차를 분봉에 표시할 수 있습니다. 그런데 연결선물 분봉이 data2일때 이 식처럼 연결선물 일봉의 고저차를 표시하거나 시스템에 적용하려면 어떻게 해야 하나요? 그렇고 setstoploss를 data2 기준으로 적용하는 방법도 궁금합니다. 늘 감사합니다.