커뮤니티

수고 많으십니다~

프로필 이미지
비월검파
2011-11-22 12:18:00
496
글번호 45033
답변완료
안녕하세요 ! 거듭 감사의 인사를 올립니다. 아래 식을 같은 조건으로 변수만 변경하여 4개가 표시 될수 있도록 부탁 좀 올립니다. 즉 각각 따로 4개를 할수 있는것을 하나의 식으로 좀 만들어 주십사 하는 부탁 입니다. 4개의 변수(input)만 다르게 하면 나타날수 있는 식을 말씀 드립니다. 감사 합니다 ~꾸 뻑~ Input:상승률(0.12),하락률(0.12); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ var2 = 이중파동;#Plot1(이중파동,"Zigzag",blue); var3 = -1; } Else{ var1 = 이중파동;#Plot1(이중파동,"Zigzag",red); var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= H || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = H; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= L || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = L; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > H && 기준저 * (1 + (상승률/100)) < L Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > H Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < L Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else {var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > H Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else {var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < L Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#Plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#Plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } if var3 == -1 Then{ plot1(var1); plot2(var2); plot6(var2+(var1-var2)*0.5); } if var3 == 1 Then{ plot1(var1); plot2(var2); plot6(var1-(var1-var2)*0.50); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-11-22 15:21:23

안녕하세요 예스스탁입니다. 외부변수 저정하시면 됩니다. Input:상승률(0.12),하락률(0.12); Input:상승률1(0.12),하락률1(0.12); Input:상승률2(0.12),하락률2(0.12); Input:상승률3(0.12),하락률3(0.12); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); Var:j1(0),상승1(100),하락1(-100),양방향1(2),색깔1(0),파랑1(-1),빨강1(1), 기준고1(0),기준저1(0),기준고Bar1(0),기준저Bar1(0),추세1(0),이중파동1(0); Var:j2(0),상승2(100),하락2(-100),양방향2(2),색깔2(0),파랑2(-1),빨강2(1), 기준고2(0),기준저2(0),기준고Bar2(0),기준저Bar2(0),추세2(0),이중파동2(0); Var:j3(0),상승3(100),하락3(-100),양방향3(2),색깔3(0),파랑3(-1),빨강3(1), 기준고3(0),기준저3(0),기준고Bar3(0),기준저Bar3(0),추세3(0),이중파동3(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); Array:고1[20](0),저1[20](0),고Bar1[20](0),저Bar1[20](0); Array:고2[20](0),저2[20](0),고Bar2[20](0),저Bar2[20](0); Array:고3[20](0),저3[20](0),고Bar3[20](0),저Bar3[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j1 = 1 To 19 { 저Bar1[j1] = 저Bar1[j1] + 1; 고Bar1[j1] = 고Bar1[j1] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동1 > 0 Then { if 색깔1 == 빨강1 Then{ var12 = 이중파동1;#Plot1(이중파동1,"Zigzag",blue); var13 = -1; } Else{ var11 = 이중파동1;#Plot1(이중파동1,"Zigzag",red); var13 = 1; } 이중파동1 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고1 <= H || 기준고1 == 0 || IsNaN(기준고1) == True Then { 기준고1 = H; 기준고Bar1 = 0; } Else 기준고Bar1 = 기준고Bar1 + 1; If 기준저1 >= L || 기준저1 == 0 || IsNaN(기준저1) == True Then { 기준저1 = L; 기준저Bar1 = 0; } Else 기준저Bar1 = 기준저Bar1 + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고1 * (1 - (하락률1/100)) > H && 기준저1 * (1 + (상승률1/100)) < L Then { 추세1 = Iff(기준고Bar1==기준저Bar1,양방향1,Iff(기준고Bar1>기준저Bar1,상승1,하락1)); } Else If 기준고1 * (1 - (하락률1/100)) > H Then 추세1 = 하락1; Else If 기준저1 * (1 + (상승률1/100)) < L Then 추세1 = 상승1; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세1[1] == 상승1 && 추세1 == 하락1 Then { For j1 = 18 DownTo 1 { 고1[j1+1] = 고1[j1]; 고Bar1[j1+1] = 고Bar1[j1]; } 고1[1] = 기준고1; 고Bar1[1] = 기준고Bar1; 기준고1 = H; 기준고Bar1 = 0; 기준저1 = L; 기준저Bar1 = 0; If 고1[2] < 고1[1] Then 색깔1 = 빨강1 ; If 이중파동1[1] > 0 Then 이중파동1 = 고1[1]; Else {var11 = 고1[1];#plot1(고1[1],"Zigzag",RED); var13 = 1; } } If 추세1[1] == 하락1 && 추세1 == 하락1 && 고1[1] < 기준고1 && 기준고1 * (1 - (하락률1/100)) > H Then { For j1 = 18 DownTo 1 { 고1[j1+1] = 고1[j1]; 고Bar1[j1+1] = 고Bar1[j1]; 저1[j1+1] = 저1[j1]; 저Bar1[j1+1] = 저Bar1[j1]; } 고1[1] = 기준고1; 고Bar1[1] = 기준고Bar1; 저1[1] = 기준저1; 저Bar1[1] = 기준저Bar1; 기준고1 = H; 기준고Bar1 = 0; 기준저1 = L; 기준저Bar1 = 0; If 저1[2] > 저1[1] Then 색깔1 = 파랑1; var12 = 저1[1];#plot1(저1[1],"Zigzag",blue); var13 = -1; If 고1[2] < 고1[1] Then 색깔1 = 빨강1; 이중파동1 = 고1[1]; } If 추세1[1] == 하락1 && 추세1 == 상승1 Then { For j1 = 18 DownTo 1 { 저1[j1+1] = 저1[j1]; 저Bar1[j1+1] = 저Bar1[j1]; } 저1[1] = 기준저1; 저Bar1[1] = 기준저Bar1; 기준저1 = L; 기준저Bar1 = 0; 기준고1 = H; 기준고Bar1 = 0; If 저1[2] > 저1[1] Then 색깔1 = 파랑1; If 이중파동1[1] > 0 Then 이중파동1 = 저1[1]; Else {var12 = 저1[1];#plot1(저1[1],"Zigzag",blue); var13 = -1; } } If 추세1[1] == 상승1 && 추세1 == 상승1 && 저1[1] > 기준저1 && 기준저1 * (1 + (상승률1/100)) < L Then { For j1 = 18 DownTo 1 { 고1[j1+1] = 고1[j1]; 고Bar1[j1+1] = 고Bar1[j1]; 저1[j1+1] = 저1[j1]; 저Bar1[j1+1] = 저Bar1[j1]; } 고1[1] = 기준고1; 고Bar1[1] = 기준고Bar1; 저1[1] = 기준저1; 저Bar1[1] = 기준저Bar1; 기준저1 = L; 기준저Bar1 = 0; 기준고1 = H; 기준고Bar1 = 0; If 고1[2] < 고1[1] Then 색깔1 = 빨강1; var11 = 고1[1];#plot1(고1[1],"Zigzag",RED); var13 = 1; If 저1[2] > 저1[1] Then 색깔1 = 파랑1; 이중파동1 = 저1[1]; } If 추세1 == 양방향1 Then { For j1 = 18 DownTo 1 { 고1[j1+1] = 고1[j1]; 고Bar1[j1+1] = 고Bar1[j1]; 저1[j1+1] = 저1[j1]; 저Bar1[j1+1] = 저Bar1[j1]; } 고1[1] = 기준고1; 고Bar1[1] = 기준고Bar1; 저1[1] = 기준저1; 저Bar1[1] = 기준저Bar1; 기준고1 = H; 기준고Bar1 = 0; 기준저1 = L; 기준저Bar1 = 0; 추세1 = 추세1[1]; If 추세1[1] == 상승1 Then { If 고1[2] < 고1[1] Then 색깔1 = 빨강1; var11 = 고1[1];#Plot1(고[1],"Zigzag",RED); var13 = 1; If 저1[2] > 저1[1] Then 색깔1 = 파랑1; 이중파동1 = 저1[1]; } Else { If 저1[2] > 저1[1] Then 색깔1 = 파랑1; var12 = 저1[1];#Plot1(저1[1],"Zigzag",blue); var13 = -1; If 고1[2] < 고1[1] Then 색깔1 = 빨강1; 이중파동1 = 고1[1]; } } #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ var2 = 이중파동;#Plot1(이중파동,"Zigzag",blue); var3 = -1; } Else{ var1 = 이중파동;#Plot1(이중파동,"Zigzag",red); var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= H || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = H; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= L || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = L; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > H && 기준저 * (1 + (상승률/100)) < L Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > H Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < L Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else {var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > H Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else {var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < L Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#Plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#Plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } #==========================================# # 전고점,전저점 index 증가 #==========================================# For j2 = 1 To 19 { 저Bar2[j2] = 저Bar2[j2] + 1; 고Bar2[j2] = 고Bar2[j2] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동2 > 0 Then { if 색깔2 == 빨강2 Then{ var22 = 이중파동2;#Plot1(이중파동2,"Zigzag",blue); var23 = -1; } Else{ var21 = 이중파동2;#Plot1(이중파동2,"Zigzag",red); var23 = 1; } 이중파동2 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고2 <= H || 기준고2 == 0 || IsNaN(기준고2) == True Then { 기준고2 = H; 기준고Bar2 = 0; } Else 기준고Bar2 = 기준고Bar2 + 1; If 기준저2 >= L || 기준저2 == 0 || IsNaN(기준저2) == True Then { 기준저2 = L; 기준저Bar2 = 0; } Else 기준저Bar2 = 기준저Bar2 + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고2 * (1 - (하락률2/100)) > H && 기준저2 * (1 + (상승률2/100)) < L Then { 추세2 = Iff(기준고Bar2==기준저Bar2,양방향2,Iff(기준고Bar2>기준저Bar2,상승2,하락2)); } Else If 기준고2 * (1 - (하락률2/100)) > H Then 추세2 = 하락2; Else If 기준저2 * (1 + (상승률2/100)) < L Then 추세2 = 상승2; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세2[1] == 상승2 && 추세2 == 하락2 Then { For j2 = 18 DownTo 1 { 고2[j2+1] = 고2[j2]; 고Bar2[j2+1] = 고Bar2[j2]; } 고2[1] = 기준고2; 고Bar2[1] = 기준고Bar2; 기준고2 = H; 기준고Bar2 = 0; 기준저2 = L; 기준저Bar2 = 0; If 고2[2] < 고2[1] Then 색깔2 = 빨강2 ; If 이중파동2[1] > 0 Then 이중파동2 = 고2[1]; Else {var21 = 고2[1];#plot1(고2[1],"Zigzag",RED); var23 = 1; } } If 추세2[1] == 하락2 && 추세2 == 하락2 && 고2[1] < 기준고2 && 기준고2 * (1 - (하락률2/100)) > H Then { For j2 = 18 DownTo 1 { 고2[j2+1] = 고2[j2]; 고Bar2[j2+1] = 고Bar2[j2]; 저2[j2+1] = 저2[j2]; 저Bar2[j2+1] = 저Bar2[j2]; } 고2[1] = 기준고2; 고Bar2[1] = 기준고Bar2; 저2[1] = 기준저2; 저Bar2[1] = 기준저Bar2; 기준고2 = H; 기준고Bar2 = 0; 기준저2 = L; 기준저Bar2 = 0; If 저2[2] > 저2[1] Then 색깔2 = 파랑2; var22 = 저2[1];#plot1(저2[1],"Zigzag",blue); var23 = -1; If 고2[2] < 고2[1] Then 색깔2 = 빨강2; 이중파동2 = 고2[1]; } If 추세2[1] == 하락2 && 추세2 == 상승2 Then { For j2 = 18 DownTo 1 { 저2[j2+1] = 저2[j2]; 저Bar2[j2+1] = 저Bar2[j2]; } 저2[1] = 기준저2; 저Bar2[1] = 기준저Bar2; 기준저2 = L; 기준저Bar2 = 0; 기준고2 = H; 기준고Bar2 = 0; If 저2[2] > 저2[1] Then 색깔2 = 파랑2; If 이중파동2[1] > 0 Then 이중파동2 = 저2[1]; Else {var22 = 저2[1];#plot1(저2[1],"Zigzag",blue); var23 = -1; } } If 추세2[1] == 상승2 && 추세2 == 상승2 && 저2[1] > 기준저2 && 기준저2 * (1 + (상승률2/100)) < L Then { For j2 = 18 DownTo 1 { 고2[j2+1] = 고2[j2]; 고Bar2[j2+1] = 고Bar2[j2]; 저2[j2+1] = 저2[j2]; 저Bar2[j2+1] = 저Bar2[j2]; } 고2[1] = 기준고2; 고Bar2[1] = 기준고Bar2; 저2[1] = 기준저2; 저Bar2[1] = 기준저Bar2; 기준저2 = L; 기준저Bar2 = 0; 기준고2 = H; 기준고Bar2 = 0; If 고2[2] < 고2[1] Then 색깔2 = 빨강2; var21 = 고2[1];#plot1(고1[1],"Zigzag",RED); var23 = 1; If 저2[2] > 저2[1] Then 색깔2 = 파랑2; 이중파동2 = 저2[1]; } If 추세2 == 양방향2 Then { For j2 = 18 DownTo 1 { 고2[j2+1] = 고2[j2]; 고Bar2[j2+1] = 고Bar2[j2]; 저2[j2+1] = 저2[j2]; 저Bar2[j2+1] = 저Bar2[j2]; } 고2[1] = 기준고2; 고Bar2[1] = 기준고Bar2; 저2[1] = 기준저2; 저Bar2[1] = 기준저Bar2; 기준고2 = H; 기준고Bar2 = 0; 기준저2 = L; 기준저Bar2 = 0; 추세2 = 추세2[1]; If 추세2[1] == 상승2 Then { If 고2[2] < 고2[1] Then 색깔2 = 빨강2; var21 = 고2[1];#Plot1(고2[1],"Zigzag",RED); var23 = 1; If 저2[2] > 저2[1] Then 색깔2 = 파랑2; 이중파동2 = 저2[1]; } Else { If 저2[2] > 저2[1] Then 색깔2 = 파랑2; var22 = 저2[1];#Plot1(저2[1],"Zigzag",blue); var23 = -1; If 고2[2] < 고2[1] Then 색깔2 = 빨강2; 이중파동2 = 고2[1]; } } #==========================================# # 전고점,전저점 index 증가 #==========================================# For j3 = 1 To 19 { 저Bar3[j3] = 저Bar3[j3] + 1; 고Bar3[j3] = 고Bar3[j3] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동3 > 0 Then { if 색깔3 == 빨강3 Then{ var32 = 이중파동3;#Plot1(이중파동3,"Zigzag",blue); var33 = -1; } Else{ var31 = 이중파동3;#Plot1(이중파동3,"Zigzag",red); var33 = 1; } 이중파동3 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고3 <= H || 기준고3 == 0 || IsNaN(기준고3) == True Then { 기준고3 = H; 기준고Bar3 = 0; } Else 기준고Bar3 = 기준고Bar3 + 1; If 기준저3 >= L || 기준저3 == 0 || IsNaN(기준저3) == True Then { 기준저3 = L; 기준저Bar3 = 0; } Else 기준저Bar3 = 기준저Bar3 + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고3 * (1 - (하락률3/100)) > H && 기준저3 * (1 + (상승률3/100)) < L Then { 추세3 = Iff(기준고Bar3==기준저Bar3,양방향3,Iff(기준고Bar3>기준저Bar3,상승3,하락3)); } Else If 기준고3 * (1 - (하락률3/100)) > H Then 추세3 = 하락3; Else If 기준저3 * (1 + (상승률3/100)) < L Then 추세3 = 상승3; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세3[1] == 상승3 && 추세3 == 하락3 Then { For j3 = 18 DownTo 1 { 고3[j3+1] = 고3[j3]; 고Bar3[j3+1] = 고Bar3[j3]; } 고3[1] = 기준고3; 고Bar3[1] = 기준고Bar3; 기준고3 = H; 기준고Bar3 = 0; 기준저3 = L; 기준저Bar3 = 0; If 고3[2] < 고3[1] Then 색깔3 = 빨강3 ; If 이중파동3[1] > 0 Then 이중파동3 = 고3[1]; Else {var31 = 고3[1];#plot1(고3[1],"Zigzag",RED); var33 = 1; } } If 추세3[1] == 하락3 && 추세3 == 하락3 && 고3[1] < 기준고3 && 기준고3 * (1 - (하락률3/100)) > H Then { For j3 = 18 DownTo 1 { 고3[j3+1] = 고3[j3]; 고Bar3[j3+1] = 고Bar3[j3]; 저3[j3+1] = 저3[j3]; 저Bar3[j3+1] = 저Bar3[j3]; } 고3[1] = 기준고3; 고Bar3[1] = 기준고Bar3; 저3[1] = 기준저3; 저Bar3[1] = 기준저Bar3; 기준고3 = H; 기준고Bar3 = 0; 기준저3 = L; 기준저Bar3 = 0; If 저3[2] > 저3[1] Then 색깔3 = 파랑3; var32 = 저3[1];#plot1(저3[1],"Zigzag",blue); var33 = -1; If 고3[2] < 고3[1] Then 색깔3 = 빨강3; 이중파동3 = 고3[1]; } If 추세3[1] == 하락3 && 추세3 == 상승3 Then { For j3 = 18 DownTo 1 { 저3[j3+1] = 저3[j3]; 저Bar3[j3+1] = 저Bar3[j3]; } 저3[1] = 기준저3; 저Bar3[1] = 기준저Bar3; 기준저3 = L; 기준저Bar3 = 0; 기준고3 = H; 기준고Bar3 = 0; If 저3[2] > 저3[1] Then 색깔3 = 파랑3; If 이중파동3[1] > 0 Then 이중파동3 = 저3[1]; Else {var32 = 저3[1];#plot1(저3[1],"Zigzag",blue); var33 = -1; } } If 추세3[1] == 상승3 && 추세3 == 상승3 && 저3[1] > 기준저3 && 기준저3 * (1 + (상승률3/100)) < L Then { For j3 = 18 DownTo 1 { 고3[j3+1] = 고3[j3]; 고Bar3[j3+1] = 고Bar3[j3]; 저3[j3+1] = 저3[j3]; 저Bar3[j3+1] = 저Bar3[j3]; } 고3[1] = 기준고3; 고Bar3[1] = 기준고Bar3; 저3[1] = 기준저3; 저Bar3[1] = 기준저Bar3; 기준저3 = L; 기준저Bar3 = 0; 기준고3 = H; 기준고Bar3 = 0; If 고3[2] < 고3[1] Then 색깔3 = 빨강3; var31 = 고3[1];#plot1(고1[1],"Zigzag",RED); var33 = 1; If 저3[3] > 저3[1] Then 색깔3 = 파랑3; 이중파동3 = 저3[1]; } If 추세3 == 양방향3 Then { For j3 = 18 DownTo 1 { 고3[j3+1] = 고3[j3]; 고Bar3[j3+1] = 고Bar3[j3]; 저3[j3+1] = 저3[j3]; 저Bar3[j3+1] = 저Bar3[j3]; } 고3[1] = 기준고3; 고Bar3[1] = 기준고Bar3; 저3[1] = 기준저3; 저Bar3[1] = 기준저Bar3; 기준고3 = H; 기준고Bar3 = 0; 기준저3 = L; 기준저Bar3 = 0; 추세3 = 추세3[1]; If 추세3[1] == 상승3 Then { If 고3[2] < 고3[1] Then 색깔3 = 빨강3; var31 = 고3[1];#Plot1(고3[1],"Zigzag",RED); var33 = 1; If 저3[2] > 저3[1] Then 색깔3 = 파랑3; 이중파동3 = 저3[1]; } Else { If 저3[2] > 저3[1] Then 색깔3 = 파랑3; var32 = 저3[1];#Plot1(저3[1],"Zigzag",blue); var33 = -1; If 고3[2] < 고3[1] Then 색깔3 = 빨강3; 이중파동3 = 고3[1]; } } if var3 == -1 Then{ plot11(var1); plot12(var2); plot16(var2+(var1-var2)*0.5); } if var3 == 1 Then{ plot11(var1); plot12(var2); plot16(var1-(var1-var2)*0.50); } if var13 == -1 Then{ plot1(var11); plot2(var12); plot6(var12+(var11-var12)*0.5); } if var13 == 1 Then{ plot1(var11); plot2(var12); plot6(var11-(var11-var12)*0.50); } if var23 == -1 Then{ plot21(var21); plot22(var22); plot26(var22+(var21-var22)*0.5); } if var23 == 1 Then{ plot21(var21); plot22(var22); plot26(var21-(var21-var22)*0.50); } if var33 == -1 Then{ plot31(var31); plot32(var32); plot36(var32+(var31-var32)*0.5); } if var33 == 1 Then{ plot31(var31); plot32(var32); plot36(var31-(var31-var32)*0.50); } 즐거운 하루되세요 > 비월검파 님이 쓴 글입니다. > 제목 : 수고 많으십니다~ > 안녕하세요 ! 거듭 감사의 인사를 올립니다. 아래 식을 같은 조건으로 변수만 변경하여 4개가 표시 될수 있도록 부탁 좀 올립니다. 즉 각각 따로 4개를 할수 있는것을 하나의 식으로 좀 만들어 주십사 하는 부탁 입니다. 4개의 변수(input)만 다르게 하면 나타날수 있는 식을 말씀 드립니다. 감사 합니다 ~꾸 뻑~ Input:상승률(0.12),하락률(0.12); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ var2 = 이중파동;#Plot1(이중파동,"Zigzag",blue); var3 = -1; } Else{ var1 = 이중파동;#Plot1(이중파동,"Zigzag",red); var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= H || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = H; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= L || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = L; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > H && 기준저 * (1 + (상승률/100)) < L Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > H Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < L Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else {var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > H Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else {var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < L Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#Plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#Plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } if var3 == -1 Then{ plot1(var1); plot2(var2); plot6(var2+(var1-var2)*0.5); } if var3 == 1 Then{ plot1(var1); plot2(var2); plot6(var1-(var1-var2)*0.50); }