커뮤니티
수고 많으십니다~
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);
}
다음글