커뮤니티

수정부탁합니다.

프로필 이미지
바닥차기
2018-07-19 00:01:56
194
글번호 120716
답변완료
수고하십니다. 해선 추세선 수식입니다. 아래 수식에서 빨강 파랑색 두가지 색상 추세선을 지울수 없을까요? 시스템이 아닌 지표수식으로 바꿔주시고 녹색추세선만 나오게 부탁합니다. Input:length(10),추세선연장(5); #ssssssssssssssssssssssssssssssssss Input:진입횟수제한(1); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Var:최종고가(0),최종저가(0),최종변곡점(""),처리구분(""), sBar(0),TL1(0),TL2(0),TL3(0), 고추세기울기(0),고추세봉개수(0),고추세시작(0),고추세시작IDX(0),고추세최종(0), 저추세기울기(0),저추세봉개수(0),저추세시작(0),저추세시작IDX(0),저추세최종(0); #ssssssssssssssssssssssssssssssssss Var:진입횟수(0); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Var:고1(0),고2(0),고3(0),고4(0),고5(0),고6(0),고7(0),고8(0),고9(0),고10(0), 저1(0),저2(0),저3(0),저4(0),저5(0),저6(0),저7(0),저8(0),저9(0),저10(0), 고1IDX(0),고2IDX(0),고3IDX(0),고4IDX(0),고5IDX(0), 고6IDX(0),고7IDX(0),고8IDX(0),고9IDX(0),고10IDX(0), 저1IDX(0),저2IDX(0),저3IDX(0),저4IDX(0),저5IDX(0), 저6IDX(0),저7IDX(0),저8IDX(0),저9IDX(0),저10IDX(0); #==========================================# Condition1 = Highest(C,length) == C and 최종고가 <> C; Condition2 = Lowest (C,length) == C and 최종저가 <> C; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종변곡점 == "저점" Then 처리구분 = "고점처리"; // 저 - 고 순으로 처리 Else 처리구분 = "저점처리"; // 고 - 저 순으로 처리 } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = C; // 신규고점을 체크하기 위해 저장 If 최종변곡점 == "저점" Then { #ssssssssssssssssssssssssssssssssss 진입횟수 = 0; #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 고9 = 고8; 고9IDX = 고8IDX; 고8 = 고7; 고8IDX = 고7IDX; 고7 = 고6; 고7IDX = 고6IDX; 고6 = 고5; 고6IDX = 고5IDX; 고5 = 고4; 고5IDX = 고4IDX; 고4 = 고3; 고4IDX = 고3IDX; 고3 = 고2; 고3IDX = 고2IDX; 고2 = 고1; 고2IDX = 고1IDX; 고1 = C; 고1IDX = Index; sBar = Index - 저1IDX; // 추세선 시작점의 위치, n봉전으로 표시 TL1 = TL_New(sDate[sBar],sTime[sBar],저1,sDate[0],sTime[0],고1); TL_SetSize(TL1,2); TL_SetColor(TL1,GREEN); } Else If 고1 < C Then // 1번 고점보다 높은 고가 출현 { 고1 = C; 고1IDX = Index; TL_SetEnd(TL1,sDate[0],sTime[0],고1); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } /* 고점추세선 */ If 고2IDX[1] <> 고2IDX Then // 고2의 Index값이 변동 없음 즉, 새로운 고점이 생기지 않았음 { 고추세최종 = 0; 고추세기울기 = 0; 고추세시작 = 0; 고추세봉개수 = 0; If 고2 < 고3 Then { 고추세기울기 = (고2 - 고3)/(고2IDX - 고3IDX); 고추세시작 = 고3; 고추세시작IDX = 고3IDX; } Else If 고2 < 고4 Then { 고추세기울기 = (고2 - 고4)/(고2IDX - 고4IDX); 고추세시작 = 고4; 고추세시작IDX = 고4IDX; } Else If 고2 < 고5 Then { 고추세기울기 = (고2 - 고5)/(고2IDX - 고5IDX); 고추세시작 = 고5; 고추세시작IDX = 고5IDX; } Else If 고2 < 고6 Then { 고추세기울기 = (고2 - 고6)/(고2IDX - 고6IDX); 고추세시작 = 고6; 고추세시작IDX = 고6IDX; } Else If 고2 < 고7 Then { 고추세기울기 = (고2 - 고7)/(고2IDX - 고7IDX); 고추세시작 = 고7; 고추세시작IDX = 고7IDX; } Else If 고2 < 고8 Then { 고추세기울기 = (고2 - 고8)/(고2IDX - 고8IDX); 고추세시작 = 고8; 고추세시작IDX = 고8IDX; } Else If 고2 < 고9 Then { 고추세기울기 = (고2 - 고9)/(고2IDX - 고9IDX); 고추세시작 = 고9; 고추세시작IDX = 고9IDX; } 고추세봉개수 = Index - 고추세시작IDX; 고추세최종 = 고추세기울기 * 고추세봉개수 + 고추세시작; If 고추세최종 > 0 Then { TL2 = TL_New(sDate[고추세봉개수],sTime[고추세봉개수],고추세시작,sDate[0],sTime[0],고추세최종); TL_SetSize(TL2,1); TL_SetColor(TL2,RED); } } Else If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } 최종변곡점 = "고점"; #ssssssssssssssssssssssssssssssssss If 진입횟수 < 진입횟수제한 and #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 고추세최종 > 0 and 고추세최종 < C Then { Buy(); } } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = C; If 최종변곡점 == "고점" then { #ssssssssssssssssssssssssssssssssss 진입횟수 = 0; #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 저9 = 저8; 저9IDX = 저8IDX; 저8 = 저7; 저8IDX = 저7IDX; 저7 = 저6; 저7IDX = 저6IDX; 저6 = 저5; 저6IDX = 저5IDX; 저5 = 저4; 저5IDX = 저4IDX; 저4 = 저3; 저4IDX = 저3IDX; 저3 = 저2; 저3IDX = 저2IDX; 저2 = 저1; 저2IDX = 저1IDX; 저1 = C; 저1IDX = Index; sBar = Index - 고1IDX; TL1 = TL_New(sDate[sBar],sTime[sBar],고1,sDate[0],sTime[0],저1); TL_SetSize(TL1,2); TL_SetColor(TL1,GREEN); } Else If 저1 > C then { 저1 = C; 저1IDX = Index; TL_SetEnd(TL1,sDate[0],sTime[0],저1); } /* 저점추세선 */ If 저2IDX[1] <> 저2IDX Then { 저추세최종 = 0; 저추세기울기 = 0; 저추세시작 = 0; 저추세봉개수 = 0; If 저2 > 저3 and 저3 > 0 Then { 저추세기울기 = (저2 - 저3)/(저2IDX - 저3IDX); 저추세시작 = 저3; 저추세시작IDX = 저3IDX; } Else If 저2 > 저4 and 저4 > 0 Then { 저추세기울기 = (저2 - 저4)/(저2IDX - 저4IDX); 저추세시작 = 저4; 저추세시작IDX = 저4IDX; } Else If 저2 > 저5 and 저5 > 0 Then { 저추세기울기 = (저2 - 저5)/(저2IDX - 저5IDX); 저추세시작 = 저5; 저추세시작IDX = 저5IDX; } Else If 저2 > 저6 and 저6 > 0 Then { 저추세기울기 = (저2 - 저6)/(저2IDX - 저6IDX); 저추세시작 = 저6; 저추세시작IDX = 저6IDX; } Else If 저2 > 저7 and 저7 > 0 Then { 저추세기울기 = (저2 - 저7)/(저2IDX - 저7IDX); 저추세시작 = 저7; 저추세시작IDX = 저7IDX; } Else If 저2 > 저8 and 저8 > 0 Then { 저추세기울기 = (저2 - 저8)/(저2IDX - 저8IDX); 저추세시작 = 저8; 저추세시작IDX = 저8IDX; } Else If 저2 > 저9 and 저9 > 0 Then { 저추세기울기 = (저2 - 저9)/(저2IDX - 저9IDX); 저추세시작 = 저9; 저추세시작IDX = 저9IDX; } 저추세봉개수 = Index - 저추세시작IDX; 저추세최종 = 저추세기울기 * 저추세봉개수 + 저추세시작; If 저추세최종 > 0 Then { TL3 = TL_New(sDate[저추세봉개수],sTime[저추세봉개수],저추세시작,sDate[0],sTime[0],저추세최종); TL_SetSize(TL3,1); TL_SetColor(TL3,BLUE); } } Else If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } 최종변곡점 = "저점"; #ssssssssssssssssssssssssssssssssss If 진입횟수 < 진입횟수제한 and #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 저추세최종 > 0 and 저추세최종 > C Then { Sell(); } } #==========================================# If 처리구분 == "" Then { If Index - 고1IDX <= 추세선연장 Then { If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } } Else { 고추세최종 = 0; } If Index - 저1IDX <= 추세선연장 Then { If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } } Else { 저추세최종 = 0; } If MarketPosition > 0 and TL2[1] == TL2 and 고추세최종 > 0 and 고추세최종[1] <= C[1] and 고추세최종 > C Then ExitLong(); If MarketPosition < 0 and TL3[1] == TL3 and 저추세최종 > 0 and 저추세최종[1] >= C[1] and 저추세최종 < C Then ExitShort(); } #ssssssssssssssssssssssssssssssssss If ((최종변곡점 == "고점" and MarketPosition == 1) or (최종변곡점 == "저점" and MarketPosition == -1)) and MarketPosition[1] != MarketPosition Then { 진입횟수 = 진입횟수 + 1; }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-07-19 09:09:07

안녕하세요 예스스탁입니다. Input:length(10),추세선연장(5); #ssssssssssssssssssssssssssssssssss Input:진입횟수제한(1); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Var:최종고가(0),최종저가(0),최종변곡점(""),처리구분(""), sBar(0),TL1(0),TL2(0),TL3(0), 고추세기울기(0),고추세봉개수(0),고추세시작(0),고추세시작IDX(0),고추세최종(0), 저추세기울기(0),저추세봉개수(0),저추세시작(0),저추세시작IDX(0),저추세최종(0); #ssssssssssssssssssssssssssssssssss Var:진입횟수(0); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Var:고1(0),고2(0),고3(0),고4(0),고5(0),고6(0),고7(0),고8(0),고9(0),고10(0), 저1(0),저2(0),저3(0),저4(0),저5(0),저6(0),저7(0),저8(0),저9(0),저10(0), 고1IDX(0),고2IDX(0),고3IDX(0),고4IDX(0),고5IDX(0), 고6IDX(0),고7IDX(0),고8IDX(0),고9IDX(0),고10IDX(0), 저1IDX(0),저2IDX(0),저3IDX(0),저4IDX(0),저5IDX(0), 저6IDX(0),저7IDX(0),저8IDX(0),저9IDX(0),저10IDX(0); #==========================================# Condition1 = Highest(C,length) == C and 최종고가 <> C; Condition2 = Lowest (C,length) == C and 최종저가 <> C; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종변곡점 == "저점" Then 처리구분 = "고점처리"; // 저 - 고 순으로 처리 Else 처리구분 = "저점처리"; // 고 - 저 순으로 처리 } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = C; // 신규고점을 체크하기 위해 저장 If 최종변곡점 == "저점" Then { #ssssssssssssssssssssssssssssssssss 진입횟수 = 0; #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 고9 = 고8; 고9IDX = 고8IDX; 고8 = 고7; 고8IDX = 고7IDX; 고7 = 고6; 고7IDX = 고6IDX; 고6 = 고5; 고6IDX = 고5IDX; 고5 = 고4; 고5IDX = 고4IDX; 고4 = 고3; 고4IDX = 고3IDX; 고3 = 고2; 고3IDX = 고2IDX; 고2 = 고1; 고2IDX = 고1IDX; 고1 = C; 고1IDX = Index; sBar = Index - 저1IDX; // 추세선 시작점의 위치, n봉전으로 표시 TL1 = TL_New(sDate[sBar],sTime[sBar],저1,sDate[0],sTime[0],고1); TL_SetSize(TL1,2); TL_SetColor(TL1,GREEN); } Else If 고1 < C Then // 1번 고점보다 높은 고가 출현 { 고1 = C; 고1IDX = Index; TL_SetEnd(TL1,sDate[0],sTime[0],고1); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } /* 고점추세선 */ If 고2IDX[1] <> 고2IDX Then // 고2의 Index값이 변동 없음 즉, 새로운 고점이 생기지 않았음 { 고추세최종 = 0; 고추세기울기 = 0; 고추세시작 = 0; 고추세봉개수 = 0; If 고2 < 고3 Then { 고추세기울기 = (고2 - 고3)/(고2IDX - 고3IDX); 고추세시작 = 고3; 고추세시작IDX = 고3IDX; } Else If 고2 < 고4 Then { 고추세기울기 = (고2 - 고4)/(고2IDX - 고4IDX); 고추세시작 = 고4; 고추세시작IDX = 고4IDX; } Else If 고2 < 고5 Then { 고추세기울기 = (고2 - 고5)/(고2IDX - 고5IDX); 고추세시작 = 고5; 고추세시작IDX = 고5IDX; } Else If 고2 < 고6 Then { 고추세기울기 = (고2 - 고6)/(고2IDX - 고6IDX); 고추세시작 = 고6; 고추세시작IDX = 고6IDX; } Else If 고2 < 고7 Then { 고추세기울기 = (고2 - 고7)/(고2IDX - 고7IDX); 고추세시작 = 고7; 고추세시작IDX = 고7IDX; } Else If 고2 < 고8 Then { 고추세기울기 = (고2 - 고8)/(고2IDX - 고8IDX); 고추세시작 = 고8; 고추세시작IDX = 고8IDX; } Else If 고2 < 고9 Then { 고추세기울기 = (고2 - 고9)/(고2IDX - 고9IDX); 고추세시작 = 고9; 고추세시작IDX = 고9IDX; } 고추세봉개수 = Index - 고추세시작IDX; 고추세최종 = 고추세기울기 * 고추세봉개수 + 고추세시작; If 고추세최종 > 0 Then { //TL2 = TL_New(sDate[고추세봉개수],sTime[고추세봉개수],고추세시작,sDate[0],sTime[0],고추세최종); TL_SetSize(TL2,1); TL_SetColor(TL2,RED); } } Else If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } 최종변곡점 = "고점"; /*#ssssssssssssssssssssssssssssssssss If 진입횟수 < 진입횟수제한 and #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 고추세최종 > 0 and 고추세최종 < C Then { Buy(); } */ } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = C; If 최종변곡점 == "고점" then { #ssssssssssssssssssssssssssssssssss 진입횟수 = 0; #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 저9 = 저8; 저9IDX = 저8IDX; 저8 = 저7; 저8IDX = 저7IDX; 저7 = 저6; 저7IDX = 저6IDX; 저6 = 저5; 저6IDX = 저5IDX; 저5 = 저4; 저5IDX = 저4IDX; 저4 = 저3; 저4IDX = 저3IDX; 저3 = 저2; 저3IDX = 저2IDX; 저2 = 저1; 저2IDX = 저1IDX; 저1 = C; 저1IDX = Index; sBar = Index - 고1IDX; TL1 = TL_New(sDate[sBar],sTime[sBar],고1,sDate[0],sTime[0],저1); TL_SetSize(TL1,2); TL_SetColor(TL1,GREEN); } Else If 저1 > C then { 저1 = C; 저1IDX = Index; TL_SetEnd(TL1,sDate[0],sTime[0],저1); } /* 저점추세선 */ If 저2IDX[1] <> 저2IDX Then { 저추세최종 = 0; 저추세기울기 = 0; 저추세시작 = 0; 저추세봉개수 = 0; If 저2 > 저3 and 저3 > 0 Then { 저추세기울기 = (저2 - 저3)/(저2IDX - 저3IDX); 저추세시작 = 저3; 저추세시작IDX = 저3IDX; } Else If 저2 > 저4 and 저4 > 0 Then { 저추세기울기 = (저2 - 저4)/(저2IDX - 저4IDX); 저추세시작 = 저4; 저추세시작IDX = 저4IDX; } Else If 저2 > 저5 and 저5 > 0 Then { 저추세기울기 = (저2 - 저5)/(저2IDX - 저5IDX); 저추세시작 = 저5; 저추세시작IDX = 저5IDX; } Else If 저2 > 저6 and 저6 > 0 Then { 저추세기울기 = (저2 - 저6)/(저2IDX - 저6IDX); 저추세시작 = 저6; 저추세시작IDX = 저6IDX; } Else If 저2 > 저7 and 저7 > 0 Then { 저추세기울기 = (저2 - 저7)/(저2IDX - 저7IDX); 저추세시작 = 저7; 저추세시작IDX = 저7IDX; } Else If 저2 > 저8 and 저8 > 0 Then { 저추세기울기 = (저2 - 저8)/(저2IDX - 저8IDX); 저추세시작 = 저8; 저추세시작IDX = 저8IDX; } Else If 저2 > 저9 and 저9 > 0 Then { 저추세기울기 = (저2 - 저9)/(저2IDX - 저9IDX); 저추세시작 = 저9; 저추세시작IDX = 저9IDX; } 저추세봉개수 = Index - 저추세시작IDX; 저추세최종 = 저추세기울기 * 저추세봉개수 + 저추세시작; If 저추세최종 > 0 Then { //TL3 = TL_New(sDate[저추세봉개수],sTime[저추세봉개수],저추세시작,sDate[0],sTime[0],저추세최종); TL_SetSize(TL3,1); TL_SetColor(TL3,BLUE); } } Else If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } 최종변곡점 = "저점"; /*#ssssssssssssssssssssssssssssssssss If 진입횟수 < 진입횟수제한 and #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 저추세최종 > 0 and 저추세최종 > C Then { Sell(); } */ } #==========================================# If 처리구분 == "" Then { If Index - 고1IDX <= 추세선연장 Then { If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } } Else { 고추세최종 = 0; } If Index - 저1IDX <= 추세선연장 Then { If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } } Else { 저추세최종 = 0; } /* If MarketPosition > 0 and TL2[1] == TL2 and 고추세최종 > 0 and 고추세최종[1] <= C[1] and 고추세최종 > C Then ExitLong(); If MarketPosition < 0 and TL3[1] == TL3 and 저추세최종 > 0 and 저추세최종[1] >= C[1] and 저추세최종 < C Then ExitShort(); */ } /*#ssssssssssssssssssssssssssssssssss If ((최종변곡점 == "고점" and MarketPosition == 1) or (최종변곡점 == "저점" and MarketPosition == -1)) and MarketPosition[1] != MarketPosition Then { 진입횟수 = 진입횟수 + 1; } */ 즐거운 하루되세요 > 바닥차기 님이 쓴 글입니다. > 제목 : 수정부탁합니다. > 수고하십니다. 해선 추세선 수식입니다. 아래 수식에서 빨강 파랑색 두가지 색상 추세선을 지울수 없을까요? 시스템이 아닌 지표수식으로 바꿔주시고 녹색추세선만 나오게 부탁합니다. Input:length(10),추세선연장(5); #ssssssssssssssssssssssssssssssssss Input:진입횟수제한(1); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Var:최종고가(0),최종저가(0),최종변곡점(""),처리구분(""), sBar(0),TL1(0),TL2(0),TL3(0), 고추세기울기(0),고추세봉개수(0),고추세시작(0),고추세시작IDX(0),고추세최종(0), 저추세기울기(0),저추세봉개수(0),저추세시작(0),저추세시작IDX(0),저추세최종(0); #ssssssssssssssssssssssssssssssssss Var:진입횟수(0); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Var:고1(0),고2(0),고3(0),고4(0),고5(0),고6(0),고7(0),고8(0),고9(0),고10(0), 저1(0),저2(0),저3(0),저4(0),저5(0),저6(0),저7(0),저8(0),저9(0),저10(0), 고1IDX(0),고2IDX(0),고3IDX(0),고4IDX(0),고5IDX(0), 고6IDX(0),고7IDX(0),고8IDX(0),고9IDX(0),고10IDX(0), 저1IDX(0),저2IDX(0),저3IDX(0),저4IDX(0),저5IDX(0), 저6IDX(0),저7IDX(0),저8IDX(0),저9IDX(0),저10IDX(0); #==========================================# Condition1 = Highest(C,length) == C and 최종고가 <> C; Condition2 = Lowest (C,length) == C and 최종저가 <> C; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종변곡점 == "저점" Then 처리구분 = "고점처리"; // 저 - 고 순으로 처리 Else 처리구분 = "저점처리"; // 고 - 저 순으로 처리 } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = C; // 신규고점을 체크하기 위해 저장 If 최종변곡점 == "저점" Then { #ssssssssssssssssssssssssssssssssss 진입횟수 = 0; #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 고9 = 고8; 고9IDX = 고8IDX; 고8 = 고7; 고8IDX = 고7IDX; 고7 = 고6; 고7IDX = 고6IDX; 고6 = 고5; 고6IDX = 고5IDX; 고5 = 고4; 고5IDX = 고4IDX; 고4 = 고3; 고4IDX = 고3IDX; 고3 = 고2; 고3IDX = 고2IDX; 고2 = 고1; 고2IDX = 고1IDX; 고1 = C; 고1IDX = Index; sBar = Index - 저1IDX; // 추세선 시작점의 위치, n봉전으로 표시 TL1 = TL_New(sDate[sBar],sTime[sBar],저1,sDate[0],sTime[0],고1); TL_SetSize(TL1,2); TL_SetColor(TL1,GREEN); } Else If 고1 < C Then // 1번 고점보다 높은 고가 출현 { 고1 = C; 고1IDX = Index; TL_SetEnd(TL1,sDate[0],sTime[0],고1); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } /* 고점추세선 */ If 고2IDX[1] <> 고2IDX Then // 고2의 Index값이 변동 없음 즉, 새로운 고점이 생기지 않았음 { 고추세최종 = 0; 고추세기울기 = 0; 고추세시작 = 0; 고추세봉개수 = 0; If 고2 < 고3 Then { 고추세기울기 = (고2 - 고3)/(고2IDX - 고3IDX); 고추세시작 = 고3; 고추세시작IDX = 고3IDX; } Else If 고2 < 고4 Then { 고추세기울기 = (고2 - 고4)/(고2IDX - 고4IDX); 고추세시작 = 고4; 고추세시작IDX = 고4IDX; } Else If 고2 < 고5 Then { 고추세기울기 = (고2 - 고5)/(고2IDX - 고5IDX); 고추세시작 = 고5; 고추세시작IDX = 고5IDX; } Else If 고2 < 고6 Then { 고추세기울기 = (고2 - 고6)/(고2IDX - 고6IDX); 고추세시작 = 고6; 고추세시작IDX = 고6IDX; } Else If 고2 < 고7 Then { 고추세기울기 = (고2 - 고7)/(고2IDX - 고7IDX); 고추세시작 = 고7; 고추세시작IDX = 고7IDX; } Else If 고2 < 고8 Then { 고추세기울기 = (고2 - 고8)/(고2IDX - 고8IDX); 고추세시작 = 고8; 고추세시작IDX = 고8IDX; } Else If 고2 < 고9 Then { 고추세기울기 = (고2 - 고9)/(고2IDX - 고9IDX); 고추세시작 = 고9; 고추세시작IDX = 고9IDX; } 고추세봉개수 = Index - 고추세시작IDX; 고추세최종 = 고추세기울기 * 고추세봉개수 + 고추세시작; If 고추세최종 > 0 Then { TL2 = TL_New(sDate[고추세봉개수],sTime[고추세봉개수],고추세시작,sDate[0],sTime[0],고추세최종); TL_SetSize(TL2,1); TL_SetColor(TL2,RED); } } Else If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } 최종변곡점 = "고점"; #ssssssssssssssssssssssssssssssssss If 진입횟수 < 진입횟수제한 and #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 고추세최종 > 0 and 고추세최종 < C Then { Buy(); } } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = C; If 최종변곡점 == "고점" then { #ssssssssssssssssssssssssssssssssss 진입횟수 = 0; #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 저9 = 저8; 저9IDX = 저8IDX; 저8 = 저7; 저8IDX = 저7IDX; 저7 = 저6; 저7IDX = 저6IDX; 저6 = 저5; 저6IDX = 저5IDX; 저5 = 저4; 저5IDX = 저4IDX; 저4 = 저3; 저4IDX = 저3IDX; 저3 = 저2; 저3IDX = 저2IDX; 저2 = 저1; 저2IDX = 저1IDX; 저1 = C; 저1IDX = Index; sBar = Index - 고1IDX; TL1 = TL_New(sDate[sBar],sTime[sBar],고1,sDate[0],sTime[0],저1); TL_SetSize(TL1,2); TL_SetColor(TL1,GREEN); } Else If 저1 > C then { 저1 = C; 저1IDX = Index; TL_SetEnd(TL1,sDate[0],sTime[0],저1); } /* 저점추세선 */ If 저2IDX[1] <> 저2IDX Then { 저추세최종 = 0; 저추세기울기 = 0; 저추세시작 = 0; 저추세봉개수 = 0; If 저2 > 저3 and 저3 > 0 Then { 저추세기울기 = (저2 - 저3)/(저2IDX - 저3IDX); 저추세시작 = 저3; 저추세시작IDX = 저3IDX; } Else If 저2 > 저4 and 저4 > 0 Then { 저추세기울기 = (저2 - 저4)/(저2IDX - 저4IDX); 저추세시작 = 저4; 저추세시작IDX = 저4IDX; } Else If 저2 > 저5 and 저5 > 0 Then { 저추세기울기 = (저2 - 저5)/(저2IDX - 저5IDX); 저추세시작 = 저5; 저추세시작IDX = 저5IDX; } Else If 저2 > 저6 and 저6 > 0 Then { 저추세기울기 = (저2 - 저6)/(저2IDX - 저6IDX); 저추세시작 = 저6; 저추세시작IDX = 저6IDX; } Else If 저2 > 저7 and 저7 > 0 Then { 저추세기울기 = (저2 - 저7)/(저2IDX - 저7IDX); 저추세시작 = 저7; 저추세시작IDX = 저7IDX; } Else If 저2 > 저8 and 저8 > 0 Then { 저추세기울기 = (저2 - 저8)/(저2IDX - 저8IDX); 저추세시작 = 저8; 저추세시작IDX = 저8IDX; } Else If 저2 > 저9 and 저9 > 0 Then { 저추세기울기 = (저2 - 저9)/(저2IDX - 저9IDX); 저추세시작 = 저9; 저추세시작IDX = 저9IDX; } 저추세봉개수 = Index - 저추세시작IDX; 저추세최종 = 저추세기울기 * 저추세봉개수 + 저추세시작; If 저추세최종 > 0 Then { TL3 = TL_New(sDate[저추세봉개수],sTime[저추세봉개수],저추세시작,sDate[0],sTime[0],저추세최종); TL_SetSize(TL3,1); TL_SetColor(TL3,BLUE); } } Else If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } 최종변곡점 = "저점"; #ssssssssssssssssssssssssssssssssss If 진입횟수 < 진입횟수제한 and #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 저추세최종 > 0 and 저추세최종 > C Then { Sell(); } } #==========================================# If 처리구분 == "" Then { If Index - 고1IDX <= 추세선연장 Then { If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } } Else { 고추세최종 = 0; } If Index - 저1IDX <= 추세선연장 Then { If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } } Else { 저추세최종 = 0; } If MarketPosition > 0 and TL2[1] == TL2 and 고추세최종 > 0 and 고추세최종[1] <= C[1] and 고추세최종 > C Then ExitLong(); If MarketPosition < 0 and TL3[1] == TL3 and 저추세최종 > 0 and 저추세최종[1] >= C[1] and 저추세최종 < C Then ExitShort(); } #ssssssssssssssssssssssssssssssssss If ((최종변곡점 == "고점" and MarketPosition == 1) or (최종변곡점 == "저점" and MarketPosition == -1)) and MarketPosition[1] != MarketPosition Then { 진입횟수 = 진입횟수 + 1; }