커뮤니티

타주기식 부탁드립니다.

프로필 이미지
예시스
2016-05-31 17:29:42
226
글번호 98662
답변완료
아래식은 38697 질의에 답변해주셨던 내용인데요 타주기 식을 만들어 보려하니 잘 안되어 부탁드립니다. 감사합니다. INPUTS: TICKCHG(10), #{Change (number of ticks) required to set up a new swing high/low.} PCTCHG(.2), #{Percent change in price to set up a new swing high/low} OCCUR(1), PLOTBARS(40), ETALINE(true), ZIGZAG(TRUE); ARRAY: PBAR[50](0), P[50](0); VARS: X(0), PP(1), JA_SLOPE1(0), JLA_CTR(0), JLA_LINE(0), JAIRHBAR(0), #{ LAST SWING HIGH BAR} JAIRLBAR(0), #{LAST SWING LOW BAR} LOWSEEK(FALSE), #{LOOKING FOR A LOW OR A HIGH?} W(0), #{COUNTER} JLA_IRH(0), #{LAST SWING HIGH VALUE} JLA_IRL(99999), #{LAST SWING LOW VALUE} JA_SLOPE2(0), JA_SLOPE3(0), JLA_PT1(0), WOLFE(0); #{==================MAIN #PROGRAM=========================} IF CURRENTBAR == 1 THEN P[50] = C; IF LOWSEEK == FALSE AND P[50] <= H THEN BEGIN P[50] = H; PBAR[50] = 0; END; IF LOWSEEK == TRUE AND P[50] >= L THEN BEGIN P[50] = L; PBAR[50] = 0; END; IF (LOWSEEK == FALSE AND PBAR[50] <> 0) THEN BEGIN IF (TICKCHG == 0 AND L < P[50] * ( 1 - PCTCHG / 100) ) OR (TICKCHG <> 0 AND L < ( P[50] - tickchg * PriceScale)) THEN BEGIN IF ZIGZAG == TRUE THEN PLOT4(P[50],"SWINGS"); LOWSEEK = TRUE; FOR W = 1 TO 49 BEGIN PBAR[W] = PBAR[W+1]; P[W] = P[W+1]; END; P[50] = L; PBAR[50] = 0; END; END; IF (LOWSEEK == TRUE AND PBAR[50] <> 0) THEN BEGIN IF (TICKCHG == 0 AND H> P[50] * ( 1 + PCTCHG / 100)) OR (TICKCHG <> 0 AND H > (P[50] + tickchg * PriceScale )) THEN BEGIN IF ZIGZAG == TRUE THEN PLOT4(P[50],"SWINGS"); LOWSEEK = FALSE; FOR W = 1 TO 49 BEGIN PBAR[W] = PBAR[W+1]; P[W] = P[W+1]; END; P[50] = H; PBAR[50] = 0; END; END; IF P[48 - PP] <> 0 THEN BEGIN PP = -1; WOLFE = 0; WHILE WOLFE < OCCUR AND PP < 46 BEGIN PP = PP + 1; VALUE1 = P[47-PP]; VALUE2 = P[48-PP]; VALUE3 = P[49-PP]; VALUE4 = P[50-PP]; CONDITION1 = VALUE2 > VALUE1 AND VALUE4 > VALUE3 AND VALUE4 < VALUE2 AND VALUE3 < VALUE1 AND VALUE4 > VALUE1; CONDITION2 = VALUE2 < VALUE1 AND VALUE4 < VALUE3 AND VALUE4 > VALUE2 AND VALUE3 > VALUE1 AND VALUE4 < VALUE1; IF CONDITION1 OR CONDITION2 THEN WOLFE = WOLFE + 1; END; JA_SLOPE1 = (P[49-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[49-PP]); JA_SLOPE2 = (P[50-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[50-PP]); #{LINE 1-3} if PBAR[47-PP] >=0 and PBAR[49-PP] >= 0 and PBAR[49-PP]-PLOTBARS >=0 then begin TL_Delete(value90); VALUE90 = TL_New(sDATE[PBAR[47-PP]],sTIME[PBAR[47-PP]],P[47-PP ], sDATE[PBAR[49-PP]], sTIME[PBAR[49-PP]],P[49-PP]); Value14=TL_SetColor(VALUE90, red); #{VALUE93 = TL_SetExtRight(VALUE90,TRUE);} VALUE94 = TL_SETEND(VALUE90,sDate[PBAR[49-PP]-PLOTBARS],sTime[PBAR[49-PP]-PLOTBARS], TL_GetVALUE(VALUE90,sDate[PBAR[49-PP]-PLOTBARS],sTime[PBAR[49-PP]-PLOTBARS])); // end ; #{LINE 1-4} if PBAR[47-PP] >= 0 and PBAR[50-PP] >= 0 and PBAR[49-PP]-PLOTBARS >= 0 then begin TL_Delete(value91); VALUE91 = TL_NEW(sDATE[PBAR[47-PP]],sTIME[PBAR[47-PP]],P[47-PP ], sDATE[PBAR[50-PP]], sTIME[PBAR[50-PP]],P[50-PP]); Value14=TL_SetColor(VALUE91, green); TL_SETEND(VALUE91,sDate[PBAR[49-PP]-PLOTBARS],sTime[PBAR[49-PP]-PLOTBARS], TL_GETVALUE(VALUE91,sDate[PBAR[49-PP]-PLOTBARS],sTime[PBAR[49-PP]-PLOTBARS])); end ; if PBAR[48-PP] >=0 and PBAR[50-PP]-PLOTBARS >= 0 then begin #{ETA LINE} IF ETALINE THEN BEGIN TL_Delete(value92); VALUE92 = TL_NEW(sDate[PBAR[48-PP]],sTime[PBAR[48-PP]],P[48-PP ], sDate[PBAR[50-PP]],sTime[PBAR[50-PP]],P[50-PP]); Value14=TL_SetColor(VALUE92, blue); TL_SETEND(VALUE92,sDate[PBAR[50-PP]-PLOTBARS],sTime[PBAR[50-PP]-PLOTBARS], TL_GETVALUE(VALUE92,sDate[PBAR[50-PP]-PLOTBARS],sTime[PBAR[50-PP] -PLOTBARS])); END; end; END; IF LastBarOnChart == 1 AND ZIGZAG == TRUE THEN BEGIN JA_SLOPE3 = (P[50] - P[49]) / (PBAR[49] - PBAR[50]); FOR JLA_CTR = PBAR[49] DOWNTO PBAR[50] BEGIN PLOT4(P[49] + (PBAR[49] - JLA_CTR) * JA_SLOPE3,"Swings"); END; END; FOR W = 1 TO 50 BEGIN PBAR[W] = PBAR[W]+1; END;
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-06-01 14:58:50

안녕하세요 예스스탁입니다. 문의하신 내용 가능하지 않습니다. 해당 수식은 추세선함수를 이용해서만 가능한 내용인데 추세선 함수가 참조데이터에는 적용이 되지 않아 변환이 가능하지 않습니다. 즐거운 하루되세요 > 예시스 님이 쓴 글입니다. > 제목 : 타주기식 부탁드립니다. > 아래식은 38697 질의에 답변해주셨던 내용인데요 타주기 식을 만들어 보려하니 잘 안되어 부탁드립니다. 감사합니다. INPUTS: TICKCHG(10), #{Change (number of ticks) required to set up a new swing high/low.} PCTCHG(.2), #{Percent change in price to set up a new swing high/low} OCCUR(1), PLOTBARS(40), ETALINE(true), ZIGZAG(TRUE); ARRAY: PBAR[50](0), P[50](0); VARS: X(0), PP(1), JA_SLOPE1(0), JLA_CTR(0), JLA_LINE(0), JAIRHBAR(0), #{ LAST SWING HIGH BAR} JAIRLBAR(0), #{LAST SWING LOW BAR} LOWSEEK(FALSE), #{LOOKING FOR A LOW OR A HIGH?} W(0), #{COUNTER} JLA_IRH(0), #{LAST SWING HIGH VALUE} JLA_IRL(99999), #{LAST SWING LOW VALUE} JA_SLOPE2(0), JA_SLOPE3(0), JLA_PT1(0), WOLFE(0); #{==================MAIN #PROGRAM=========================} IF CURRENTBAR == 1 THEN P[50] = C; IF LOWSEEK == FALSE AND P[50] <= H THEN BEGIN P[50] = H; PBAR[50] = 0; END; IF LOWSEEK == TRUE AND P[50] >= L THEN BEGIN P[50] = L; PBAR[50] = 0; END; IF (LOWSEEK == FALSE AND PBAR[50] <> 0) THEN BEGIN IF (TICKCHG == 0 AND L < P[50] * ( 1 - PCTCHG / 100) ) OR (TICKCHG <> 0 AND L < ( P[50] - tickchg * PriceScale)) THEN BEGIN IF ZIGZAG == TRUE THEN PLOT4(P[50],"SWINGS"); LOWSEEK = TRUE; FOR W = 1 TO 49 BEGIN PBAR[W] = PBAR[W+1]; P[W] = P[W+1]; END; P[50] = L; PBAR[50] = 0; END; END; IF (LOWSEEK == TRUE AND PBAR[50] <> 0) THEN BEGIN IF (TICKCHG == 0 AND H> P[50] * ( 1 + PCTCHG / 100)) OR (TICKCHG <> 0 AND H > (P[50] + tickchg * PriceScale )) THEN BEGIN IF ZIGZAG == TRUE THEN PLOT4(P[50],"SWINGS"); LOWSEEK = FALSE; FOR W = 1 TO 49 BEGIN PBAR[W] = PBAR[W+1]; P[W] = P[W+1]; END; P[50] = H; PBAR[50] = 0; END; END; IF P[48 - PP] <> 0 THEN BEGIN PP = -1; WOLFE = 0; WHILE WOLFE < OCCUR AND PP < 46 BEGIN PP = PP + 1; VALUE1 = P[47-PP]; VALUE2 = P[48-PP]; VALUE3 = P[49-PP]; VALUE4 = P[50-PP]; CONDITION1 = VALUE2 > VALUE1 AND VALUE4 > VALUE3 AND VALUE4 < VALUE2 AND VALUE3 < VALUE1 AND VALUE4 > VALUE1; CONDITION2 = VALUE2 < VALUE1 AND VALUE4 < VALUE3 AND VALUE4 > VALUE2 AND VALUE3 > VALUE1 AND VALUE4 < VALUE1; IF CONDITION1 OR CONDITION2 THEN WOLFE = WOLFE + 1; END; JA_SLOPE1 = (P[49-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[49-PP]); JA_SLOPE2 = (P[50-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[50-PP]); #{LINE 1-3} if PBAR[47-PP] >=0 and PBAR[49-PP] >= 0 and PBAR[49-PP]-PLOTBARS >=0 then begin TL_Delete(value90); VALUE90 = TL_New(sDATE[PBAR[47-PP]],sTIME[PBAR[47-PP]],P[47-PP ], sDATE[PBAR[49-PP]], sTIME[PBAR[49-PP]],P[49-PP]); Value14=TL_SetColor(VALUE90, red); #{VALUE93 = TL_SetExtRight(VALUE90,TRUE);} VALUE94 = TL_SETEND(VALUE90,sDate[PBAR[49-PP]-PLOTBARS],sTime[PBAR[49-PP]-PLOTBARS], TL_GetVALUE(VALUE90,sDate[PBAR[49-PP]-PLOTBARS],sTime[PBAR[49-PP]-PLOTBARS])); // end ; #{LINE 1-4} if PBAR[47-PP] >= 0 and PBAR[50-PP] >= 0 and PBAR[49-PP]-PLOTBARS >= 0 then begin TL_Delete(value91); VALUE91 = TL_NEW(sDATE[PBAR[47-PP]],sTIME[PBAR[47-PP]],P[47-PP ], sDATE[PBAR[50-PP]], sTIME[PBAR[50-PP]],P[50-PP]); Value14=TL_SetColor(VALUE91, green); TL_SETEND(VALUE91,sDate[PBAR[49-PP]-PLOTBARS],sTime[PBAR[49-PP]-PLOTBARS], TL_GETVALUE(VALUE91,sDate[PBAR[49-PP]-PLOTBARS],sTime[PBAR[49-PP]-PLOTBARS])); end ; if PBAR[48-PP] >=0 and PBAR[50-PP]-PLOTBARS >= 0 then begin #{ETA LINE} IF ETALINE THEN BEGIN TL_Delete(value92); VALUE92 = TL_NEW(sDate[PBAR[48-PP]],sTime[PBAR[48-PP]],P[48-PP ], sDate[PBAR[50-PP]],sTime[PBAR[50-PP]],P[50-PP]); Value14=TL_SetColor(VALUE92, blue); TL_SETEND(VALUE92,sDate[PBAR[50-PP]-PLOTBARS],sTime[PBAR[50-PP]-PLOTBARS], TL_GETVALUE(VALUE92,sDate[PBAR[50-PP]-PLOTBARS],sTime[PBAR[50-PP] -PLOTBARS])); END; end; END; IF LastBarOnChart == 1 AND ZIGZAG == TRUE THEN BEGIN JA_SLOPE3 = (P[50] - P[49]) / (PBAR[49] - PBAR[50]); FOR JLA_CTR = PBAR[49] DOWNTO PBAR[50] BEGIN PLOT4(P[49] + (PBAR[49] - JLA_CTR) * JA_SLOPE3,"Swings"); END; END; FOR W = 1 TO 50 BEGIN PBAR[W] = PBAR[W]+1; END;