커뮤니티

문의드립니다.

프로필 이미지
진팡이
2017-10-30 10:10:55
215
글번호 113739
답변완료
아래는 자동추세선입니다. 이 수식에서는 다양한 추세선이 그어 집니다 1. 최근 고점 추세선 2개와 저점 추세선 2개 만 그어지게 할수있나요? 2.두번째 고점 추세선돌파시 매수신호 두번재 저점 춧세선돌파시 매도신호 부탁드립니다. #==========================================# # 시스템명 : 고저라인_자동추세선_ver_15 # 작 성 자 : 수식지왕 # 블 로 그 : http://yahoosir.blog.me #==========================================# Input:length(10),추세선연장(5),추세판단범위(10),진입횟수제한(1), #ssssssssssssssssssssssssssssssssss 파동선두께(1),추세선두께(0),파동선색(GREEN),수치표시(0); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Var:j(0),jj(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),진입횟수(0), TL1(0),TL2(0),TL3(0),Text1(0), 고추세최종(0),저추세최종(0),고ID(0),저ID(0); Array:고[100,4](0),저[100,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# #ssssssssssssssssssssssssssssssssss If Index == 0 Then { 고[1,1] = C; 저[1,1] = C; } #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 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 { 진입횟수 = 0; For j = 100 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = C; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text1 = Text_New(sDate,sTime,고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,파동선색); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } Else If 고[1,1] < C Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = C; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text_SetLocation(Text1,sDate,sTime,고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } /* 고점추세선 */ If 고[2,2][1] <> 고[2,2] Then // 고2의 Index값이 변동 없음 즉, 새로운 고점이 생기지 않았음 { 고추세최종 = 0; For j = 3 To 추세판단범위 { If 고[2,1] < 고[j,1] Then { 고추세최종 = (고[2,1] - 고[j,1])/(고[2,2] - 고[j,2]) * (Index - 고[j,2]) + 고[j,1]; TL2 = TL_New(고[j,3],고[j,4],고[j,1],sDate,sTime,고추세최종); 고ID = j; #ssssssssssssssssssssssssssssssssss TL_SetSize(TL2,추세선두께); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee TL_SetColor(TL2,RED); j = 100; } } } Else If 고추세최종[1] > 0 Then { 고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1]; TL_SetEnd(TL2,sDate,sTime,고추세최종); } If 저추세최종[1] > 0 Then { 저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1]; TL_SetEnd(TL3,sDate,sTime,저추세최종); } 최종꼭지점 = "고점"; If 진입횟수 < 진입횟수제한 and 고추세최종 > 0 and 고추세최종 < C Then { Buy(); } } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = C; If 최종꼭지점 == "고점" then { 진입횟수 = 0; For j = 100 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = C; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text1 = Text_New(sDate,sTime,저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,파동선색); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } Else If 저[1,1] > C then { 저[1,1] = C; 저[1,3] = sDate; 저[1,4] = sTime; 저[1,2] = Index; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text_SetLocation(Text1,sDate,sTime,저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } /* 저점추세선 */ If 저[2,2][1] <> 저[2,2] Then { 저추세최종 = 0; For j = 3 To 추세판단범위 { If 저[2,1] > 저[j,1] and 저[j,1] > 0 Then { 저추세최종 = (저[2,1] - 저[j,1])/(저[2,2] - 저[j,2]) * (Index - 저[j,2]) + 저[j,1]; TL3 = TL_New(저[j,3],저[j,4],저[j,1],sDate,sTime,저추세최종); 저ID = j; #ssssssssssssssssssssssssssssssssss TL_SetSize(TL3,추세선두께); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee TL_SetColor(TL3,Blue); j = 100; } } } Else If 저추세최종[1] > 0 Then { 저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1]; TL_SetEnd(TL3,sDate,sTime,저추세최종); } If 고추세최종[1] > 0 Then { 고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1]; TL_SetEnd(TL2,sDate,sTime,고추세최종); } 최종꼭지점 = "저점"; If 진입횟수 < 진입횟수제한 and 저추세최종 > 0 and 저추세최종 > C Then { Sell(); } } #==========================================# If 처리구분 == "" Then { If Index - 고[1,2] <= 추세선연장 Then { If 고추세최종[1] > 0 Then { 고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1]; TL_SetEnd(TL2,sDate,sTime,고추세최종); } } Else { 고추세최종 = 0; } If Index - 저[1,2] <= 추세선연장 Then { If 저추세최종[1] > 0 Then { 저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1]; TL_SetEnd(TL3,sDate,sTime,저추세최종); } } 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(); } If ((최종꼭지점 == "고점" and MarketPosition == 1) or (최종꼭지점 == "저점" and MarketPosition == -1)) and MarketPosition[1] != MarketPosition Then { 진입횟수 = 진입횟수 + 1; }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-10-31 11:26:19

안녕하세요 예스스탁입니다. Input:length(10),추세선연장(5),추세판단범위(10),진입횟수제한(1), #ssssssssssssssssssssssssssssssssss 파동선두께(1),추세선두께(0),파동선색(GREEN),수치표시(0); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Var:j(0),jj(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),진입횟수(0), TL1(0),TL2(0),TL3(0),Text1(0),tL21(0),tl22(0),tl31(0),tl32(0), 고추세최종(0),저추세최종(0),고ID(0),저ID(0); Array:고[100,4](0),저[100,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# #ssssssssssssssssssssssssssssssssss If Index == 0 Then { 고[1,1] = C; 저[1,1] = C; } #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 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 { 진입횟수 = 0; For j = 100 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = C; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text1 = Text_New(sDate,sTime,고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,파동선색); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } Else If 고[1,1] < C Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = C; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text_SetLocation(Text1,sDate,sTime,고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } /* 고점추세선 */ If 고[2,2][1] <> 고[2,2] Then // 고2의 Index값이 변동 없음 즉, 새로운 고점이 생기지 않았음 { 고추세최종 = 0; For j = 3 To 추세판단범위 { If 고[2,1] < 고[j,1] Then { 고추세최종 = (고[2,1] - 고[j,1])/(고[2,2] - 고[j,2]) * (Index - 고[j,2]) + 고[j,1]; TL2 = TL_New(고[j,3],고[j,4],고[j,1],sDate,sTime,고추세최종); TL21 = TL2[1]; TL22 = TL21[1]; TL_Delete(TL22); 고ID = j; #ssssssssssssssssssssssssssssssssss TL_SetSize(TL2,추세선두께); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee TL_SetColor(TL2,RED); j = 100; } } } Else If 고추세최종[1] > 0 Then { 고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1]; TL_SetEnd(TL2,sDate,sTime,고추세최종); } If 저추세최종[1] > 0 Then { 저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1]; TL_SetEnd(TL3,sDate,sTime,저추세최종); } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = C; If 최종꼭지점 == "고점" then { 진입횟수 = 0; For j = 100 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = C; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text1 = Text_New(sDate,sTime,저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,파동선색); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } Else If 저[1,1] > C then { 저[1,1] = C; 저[1,3] = sDate; 저[1,4] = sTime; 저[1,2] = Index; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text_SetLocation(Text1,sDate,sTime,저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } /* 저점추세선 */ If 저[2,2][1] <> 저[2,2] Then { 저추세최종 = 0; For j = 3 To 추세판단범위 { If 저[2,1] > 저[j,1] and 저[j,1] > 0 Then { 저추세최종 = (저[2,1] - 저[j,1])/(저[2,2] - 저[j,2]) * (Index - 저[j,2]) + 저[j,1]; TL3 = TL_New(저[j,3],저[j,4],저[j,1],sDate,sTime,저추세최종); TL31 = TL3[1]; TL32 = TL31[1]; TL_Delete(TL32); 저ID = j; #ssssssssssssssssssssssssssssssssss TL_SetSize(TL3,추세선두께); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee TL_SetColor(TL3,Blue); j = 100; } } } Else If 저추세최종[1] > 0 Then { 저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1]; TL_SetEnd(TL3,sDate,sTime,저추세최종); TL_SetExtRight(TL3,true); } If 고추세최종[1] > 0 Then { 고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1]; TL_SetEnd(TL2,sDate,sTime,고추세최종); TL_SetExtRight(TL2,true); } 최종꼭지점 = "저점"; } #==========================================# If 처리구분 == "" Then { If Index - 고[1,2] <= 추세선연장 Then { If 고추세최종[1] > 0 Then { 고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1]; TL_SetEnd(TL2,sDate,sTime,고추세최종); TL_SetExtRight(TL2,true); } } Else { 고추세최종 = 0; } If Index - 저[1,2] <= 추세선연장 Then { If 저추세최종[1] > 0 Then { 저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1]; TL_SetEnd(TL3,sDate,sTime,저추세최종); TL_SetExtRight(TL3,true); } } Else { 저추세최종 = 0; } } if TL_GetValue(TL21,sdate,stime) > 0 and C > TL_GetValue(TL21,sdate,stime) and C[1] < TL_GetValue(TL21[1],sdate[1],stime[1]) then buy("b"); if TL_GetValue(TL31,sdate,stime) > 0 and C < TL_GetValue(TL31,sdate,stime) and C[1] > TL_GetValue(TL31[1],sdate[1],stime[1]) then sell("s"); 즐거운 하루되세요 > 진팡이 님이 쓴 글입니다. > 제목 : 문의드립니다. > 아래는 자동추세선입니다. 이 수식에서는 다양한 추세선이 그어 집니다 1. 최근 고점 추세선 2개와 저점 추세선 2개 만 그어지게 할수있나요? 2.두번째 고점 추세선돌파시 매수신호 두번재 저점 춧세선돌파시 매도신호 부탁드립니다. #==========================================# # 시스템명 : 고저라인_자동추세선_ver_15 # 작 성 자 : 수식지왕 # 블 로 그 : http://yahoosir.blog.me #==========================================# Input:length(10),추세선연장(5),추세판단범위(10),진입횟수제한(1), #ssssssssssssssssssssssssssssssssss 파동선두께(1),추세선두께(0),파동선색(GREEN),수치표시(0); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Var:j(0),jj(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),진입횟수(0), TL1(0),TL2(0),TL3(0),Text1(0), 고추세최종(0),저추세최종(0),고ID(0),저ID(0); Array:고[100,4](0),저[100,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# #ssssssssssssssssssssssssssssssssss If Index == 0 Then { 고[1,1] = C; 저[1,1] = C; } #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 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 { 진입횟수 = 0; For j = 100 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = C; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text1 = Text_New(sDate,sTime,고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,파동선색); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } Else If 고[1,1] < C Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = C; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text_SetLocation(Text1,sDate,sTime,고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } /* 고점추세선 */ If 고[2,2][1] <> 고[2,2] Then // 고2의 Index값이 변동 없음 즉, 새로운 고점이 생기지 않았음 { 고추세최종 = 0; For j = 3 To 추세판단범위 { If 고[2,1] < 고[j,1] Then { 고추세최종 = (고[2,1] - 고[j,1])/(고[2,2] - 고[j,2]) * (Index - 고[j,2]) + 고[j,1]; TL2 = TL_New(고[j,3],고[j,4],고[j,1],sDate,sTime,고추세최종); 고ID = j; #ssssssssssssssssssssssssssssssssss TL_SetSize(TL2,추세선두께); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee TL_SetColor(TL2,RED); j = 100; } } } Else If 고추세최종[1] > 0 Then { 고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1]; TL_SetEnd(TL2,sDate,sTime,고추세최종); } If 저추세최종[1] > 0 Then { 저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1]; TL_SetEnd(TL3,sDate,sTime,저추세최종); } 최종꼭지점 = "고점"; If 진입횟수 < 진입횟수제한 and 고추세최종 > 0 and 고추세최종 < C Then { Buy(); } } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = C; If 최종꼭지점 == "고점" then { 진입횟수 = 0; For j = 100 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = C; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text1 = Text_New(sDate,sTime,저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,파동선색); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } Else If 저[1,1] > C then { 저[1,1] = C; 저[1,3] = sDate; 저[1,4] = sTime; 저[1,2] = Index; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); #ssssssssssssssssssssssssssssssssss If 수치표시 == 1 Then { Text_SetLocation(Text1,sDate,sTime,저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee } /* 저점추세선 */ If 저[2,2][1] <> 저[2,2] Then { 저추세최종 = 0; For j = 3 To 추세판단범위 { If 저[2,1] > 저[j,1] and 저[j,1] > 0 Then { 저추세최종 = (저[2,1] - 저[j,1])/(저[2,2] - 저[j,2]) * (Index - 저[j,2]) + 저[j,1]; TL3 = TL_New(저[j,3],저[j,4],저[j,1],sDate,sTime,저추세최종); 저ID = j; #ssssssssssssssssssssssssssssssssss TL_SetSize(TL3,추세선두께); #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee TL_SetColor(TL3,Blue); j = 100; } } } Else If 저추세최종[1] > 0 Then { 저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1]; TL_SetEnd(TL3,sDate,sTime,저추세최종); } If 고추세최종[1] > 0 Then { 고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1]; TL_SetEnd(TL2,sDate,sTime,고추세최종); } 최종꼭지점 = "저점"; If 진입횟수 < 진입횟수제한 and 저추세최종 > 0 and 저추세최종 > C Then { Sell(); } } #==========================================# If 처리구분 == "" Then { If Index - 고[1,2] <= 추세선연장 Then { If 고추세최종[1] > 0 Then { 고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1]; TL_SetEnd(TL2,sDate,sTime,고추세최종); } } Else { 고추세최종 = 0; } If Index - 저[1,2] <= 추세선연장 Then { If 저추세최종[1] > 0 Then { 저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1]; TL_SetEnd(TL3,sDate,sTime,저추세최종); } } 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(); } If ((최종꼭지점 == "고점" and MarketPosition == 1) or (최종꼭지점 == "저점" and MarketPosition == -1)) and MarketPosition[1] != MarketPosition Then { 진입횟수 = 진입횟수 + 1; }