커뮤니티

님의침묵-수식수정요청

프로필 이미지
님의침묵
2009-09-13 00:44:54
819
글번호 24703
답변완료
선물(data2)신호를 바탕으로 콜매수를 하려고 합니다. 아래가 선물 신호중 일부입니다. 그 아래가 콜옵션을 위해 변경한 수식인데요... 선물에서는 정상시뮬이 되는데, 콜옵션(두번째수식)에서는 작동을 안해요. 수식수정 부탁드립니다. value1 = abs((DayHigh(1)-DayLow(1))/DayLow(1))*100; value2 = abs((DayHigh(2)-DayLow(2))/DayLow(2))*100; value3 = abs((DayHigh(3)-DayLow(3))/DayLow(3))*100; value4 = abs((DayHigh(4)-DayLow(4))/DayLow(4))*100; value5 = abs((value1+value2+value3+value4)/4); if c > c[500] and c < (dayclose(1) * (1-(value5 * 0.001))) Then Buy("콜"); ------------------------------------------------------ value1 = data2(abs((DayHigh(1)-DayLow(1))/DayLow(1))*100); value2 = data2(abs((DayHigh(2)-DayLow(2))/DayLow(2))*100); value3 = data2(abs((DayHigh(3)-DayLow(3))/DayLow(3))*100); value4 = data2(abs((DayHigh(4)-DayLow(4))/DayLow(4))*100); value5 = data2(abs((value1+value2+value3+value4)/4)); if data2(c) > data2(c[500]) and data2(c) < data2(dayclose(1)) * (1-(value5 * 0.001)) Then Buy("상");
시스템
답변 2
프로필 이미지

캐빈이야

2009-09-13 06:43:19

참조데이터에서 쓰는 함수가 다릅니다. DayHigh -> 기본차트에서 사용하는 일별고점계산 함수이고, HighD -> 참조데이터에서 사용하는 일별고점계산함수입니다. 그래서 아래처럼 사용해야 동작할듯 싶네요. value1 = abs((data2(HighD(1))-data2(LowD(1)))/data2(LowD(1)))*100); value2 = abs((data2(HighD(2))-data2(LowD(2)))/data2(LowD(2)))*100); value3 = abs((data2(HighD(3))-data2(LowD(3)))/data2(LowD(3)))*100); value4 = abs((data2(HighD(4))-data2(LowD(4)))/data2(LowD(4)))*100); value5 = abs((value1+value2+value3+value4)/4)); if data2(c) > data2(c[500]) and data2(c) < data2(closed(1)) * (1-(value5 * 0.001)) Then Buy("상"); 데이터값이나 함수만 DATA2() 가로안에 넣으셔야 될듯 싶습니다. 예를 들면 참조데이터의 종가는 DATA2(C) 참조데이터의5일이동평균값은 DATA2(ma(C,5)) 간단한 답변이라 제가 드렸습니다. 도움이 되실지 모르겠습니다. 성투하세요~ > 님의침묵 님이 쓴 글입니다. > 제목 : 님의침묵-수식수정요청 > 선물(data2)신호를 바탕으로 콜매수를 하려고 합니다. 아래가 선물 신호중 일부입니다. 그 아래가 콜옵션을 위해 변경한 수식인데요... 선물에서는 정상시뮬이 되는데, 콜옵션(두번째수식)에서는 작동을 안해요. 수식수정 부탁드립니다. value1 = abs((DayHigh(1)-DayLow(1))/DayLow(1))*100; value2 = abs((DayHigh(2)-DayLow(2))/DayLow(2))*100; value3 = abs((DayHigh(3)-DayLow(3))/DayLow(3))*100; value4 = abs((DayHigh(4)-DayLow(4))/DayLow(4))*100; value5 = abs((value1+value2+value3+value4)/4); if c > c[500] and c < (dayclose(1) * (1-(value5 * 0.001))) Then Buy("콜"); ------------------------------------------------------ value1 = data2(abs((DayHigh(1)-DayLow(1))/DayLow(1))*100); value2 = data2(abs((DayHigh(2)-DayLow(2))/DayLow(2))*100); value3 = data2(abs((DayHigh(3)-DayLow(3))/DayLow(3))*100); value4 = data2(abs((DayHigh(4)-DayLow(4))/DayLow(4))*100); value5 = data2(abs((value1+value2+value3+value4)/4)); if data2(c) > data2(c[500]) and data2(c) < data2(dayclose(1)) * (1-(value5 * 0.001)) Then Buy("상");
프로필 이미지

예스스탁 예스스탁 답변

2009-09-14 11:20:33

안녕하세요 예스스탁입니다. 주종목에서는 dayopen,dayhigh,daylow,dayclose를 사용하시고 참조종목에서는 openD,highD,LowD,CloseD함수를 사용하시기 바랍니다. var : val1(0,data2),val2(0,data2),val3(0,data2),val4(0,data2),val5(0,data2); val1 = data2(abs((HighD(1)-LowD(1))/LowD(1))*100); val2 = data2(abs((HighD(2)-LowD(2))/LowD(2))*100); val3 = data2(abs((HighD(3)-LowD(3))/LowD(3))*100); val4 = data2(abs((HighD(4)-LowD(4))/LowD(4))*100); val5 = data2(abs((val1+val2+val3+val4)/4)); if data2(c) > data2(c[500]) and data2(c) < data2(closeD(1)) * (1-(val5 * 0.001)) Then Buy("상"); 또한 타종목의 값을 할당받는 변수는 따로 변수를 만드신 후에 선언하실 때 (0,data2)와 같이 선언해 주시면 이전값 참조시에 해당 타종목의 주기대로 이전값참조를 하게 됩니다.따로 (0)으로만 선언하시면 [1],[2]와 같은 이전값이 주종목의 주기로 참조하게 됩니다. 위에 수식에는 해당사항이 아니지만 참고하시기 바랍니다. 즐거운 하루되세요 > 님의침묵 님이 쓴 글입니다. > 제목 : 님의침묵-수식수정요청 > 선물(data2)신호를 바탕으로 콜매수를 하려고 합니다. 아래가 선물 신호중 일부입니다. 그 아래가 콜옵션을 위해 변경한 수식인데요... 선물에서는 정상시뮬이 되는데, 콜옵션(두번째수식)에서는 작동을 안해요. 수식수정 부탁드립니다. value1 = abs((DayHigh(1)-DayLow(1))/DayLow(1))*100; value2 = abs((DayHigh(2)-DayLow(2))/DayLow(2))*100; value3 = abs((DayHigh(3)-DayLow(3))/DayLow(3))*100; value4 = abs((DayHigh(4)-DayLow(4))/DayLow(4))*100; value5 = abs((value1+value2+value3+value4)/4); if c > c[500] and c < (dayclose(1) * (1-(value5 * 0.001))) Then Buy("콜"); ------------------------------------------------------ value1 = data2(abs((DayHigh(1)-DayLow(1))/DayLow(1))*100); value2 = data2(abs((DayHigh(2)-DayLow(2))/DayLow(2))*100); value3 = data2(abs((DayHigh(3)-DayLow(3))/DayLow(3))*100); value4 = data2(abs((DayHigh(4)-DayLow(4))/DayLow(4))*100); value5 = data2(abs((value1+value2+value3+value4)/4)); if data2(c) > data2(c[500]) and data2(c) < data2(dayclose(1)) * (1-(value5 * 0.001)) Then Buy("상");