커뮤니티
문의드립니다.
2013-02-27 21:59:41
302
글번호 60050
#==========================================#
# 지표명 : 지그재그차트
# 작성자 : 수식지왕
# 블로그 : http://yahoosir.blog.me
#==========================================#
Input:상승률(100),하락률(100);
Var:j(0),상승(100),하락(-100),추세(0),
기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),zz(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 기준고 <= C || 기준고 == 0 || IsNaN(기준고) == True Then
{
기준고 = C;
기준고Bar = 0;
}
Else
기준고Bar = 기준고Bar + 1;
If 기준저 >= C || 기준저 == 0 || IsNaN(기준저) == True Then
{
기준저 = C;
기준저Bar = 0;
}
Else
기준저Bar = 기준저Bar + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준저[1] * (1 + (상승률*0.01/100)) > C[1] && 기준저[1] * (1 + (상승률*0.01/100)) <= C Then
추세 = 상승;
Else If 기준고[1] * (1 - (하락률*0.01/100)) < C[1] && 기준고[1] * (1 - (하락률*0.01/100)) >= C Then
추세 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = C;
기준고Bar = 0;
기준저 = C;
기준저Bar = 0;
}
Else if 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = C;
기준저Bar = 0;
기준고 = C;
기준고Bar = 0;
}
Else If 추세[1] == 하락 && 추세 == 하락 Then
{
If 기준고[1] * (1 - (하락률*0.01/100)) <= C[1]
&& 기준고[1] * (1 - (하락률*0.01/100)) > C
&& 고[1] < 기준고 Then
{
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = C;
기준고Bar = 0;
}
}
Else If 추세[1] == 상승 && 추세 == 상승 Then
{
If 기준저[1] * (1 + (상승률*0.01/100)) >= C[1]
&& 기준저[1] * (1 + (상승률*0.01/100)) < C
&& 저[1] > 기준저 Then
{
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = C;
기준저Bar = 0;
}
}
If ZZ[1] != ZZ Then{
if ZZ < ZZ[1] Then
buy();
if ZZ > ZZ[1] Then
sell();
}
위의 식은 종가를 기준으로 선을 그어주는데요, 고가와 저가로 된 선을 긋게 해 주시구요, 신호는 종가를 기다리지 않고 전고전저를 기준으로 atstop으로 즉시주문이 나가게 하고싶습니다.
또한 위 식을 가지고 유로fx를 참조하여 마이크로유로를 거래하기위한 식도 부탁드립니다.
초보적인 질문 죄송하군요.
부탁드립니다. 노력하지만 한계가...
답변 2
예스스탁 예스스탁 답변
2013-02-28 13:53:46
안녕하세요
예스스탁입니다.
1. 지표
#==========================================#
# 지표명 : 지그재그차트
# 작성자 : 수식지왕
# 블로그 : http://yahoosir.blog.me
#==========================================#
Input:상승률(100),하락률(100);
Var:j(0),상승(100),하락(-100),추세(0),
기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),zz(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 기준고 <= 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] * (1 + (상승률*0.01/100)) > L[1] && 기준저[1] * (1 + (상승률*0.01/100)) <= L Then
추세 = 상승;
Else If 기준고[1] * (1 - (하락률*0.01/100)) < H[1] && 기준고[1] * (1 - (하락률*0.01/100)) >= H Then
추세 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = H;
기준고Bar = 0;
기준저 = H;
기준저Bar = 0;
}
Else if 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = L;
기준저Bar = 0;
기준고 = L;
기준고Bar = 0;
}
Else If 추세[1] == 하락 && 추세 == 하락 Then
{
If 기준고[1] * (1 - (하락률*0.01/100)) <= L[1]
&& 기준고[1] * (1 - (하락률*0.01/100)) > L
&& 고[1] < 기준고 Then
{
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = L;
기준고Bar = 0;
}
}
Else If 추세[1] == 상승 && 추세 == 상승 Then
{
If 기준저[1] * (1 + (상승률*0.01/100)) >= H[1]
&& 기준저[1] * (1 + (상승률*0.01/100)) < H
&& 저[1] > 기준저 Then
{
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = H;
기준저Bar = 0;
}
}
plot1(고[1]);
plot2(저[1]);
2. 시스템
#==========================================#
# 지표명 : 지그재그차트
# 작성자 : 수식지왕
# 블로그 : http://yahoosir.blog.me
#==========================================#
Input:상승률(100),하락률(100);
Var:j(0),상승(100),하락(-100),추세(0),
기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),zz(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 기준고 <= 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] * (1 + (상승률*0.01/100)) > L[1] && 기준저[1] * (1 + (상승률*0.01/100)) <= L Then
추세 = 상승;
Else If 기준고[1] * (1 - (하락률*0.01/100)) < H[1] && 기준고[1] * (1 - (하락률*0.01/100)) >= H Then
추세 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = H;
기준고Bar = 0;
기준저 = H;
기준저Bar = 0;
}
Else if 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = L;
기준저Bar = 0;
기준고 = L;
기준고Bar = 0;
}
Else If 추세[1] == 하락 && 추세 == 하락 Then
{
If 기준고[1] * (1 - (하락률*0.01/100)) <= L[1]
&& 기준고[1] * (1 - (하락률*0.01/100)) > L
&& 고[1] < 기준고 Then
{
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = L;
기준고Bar = 0;
}
}
Else If 추세[1] == 상승 && 추세 == 상승 Then
{
If 기준저[1] * (1 + (상승률*0.01/100)) >= H[1]
&& 기준저[1] * (1 + (상승률*0.01/100)) < H
&& 저[1] > 기준저 Then
{
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = H;
기준저Bar = 0;
}
}
plot1(추세);
3. data2 지표
#==========================================#
# 지표명 : 지그재그차트
# 작성자 : 수식지왕
# 블로그 : http://yahoosir.blog.me
#==========================================#
Input:상승률(100),하락률(100);
Var:j(0,data1),상승(100,data2),하락(-100,data2),추세(0,data2),
기준고(0,data2),기준저(0,data2),기준고Bar(0,data2),기준저Bar(0,data2),zz(0,data2);
Array:고[20](0,data2),저[20](0,data2),고Bar[20](0,data2),저Bar[20](0,data2);
#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 1;
저Bar[j] = 저Bar[j] + 1;
}
#==========================================#
# 최근 고,저 갱신
#==========================================#
If 기준고 <= data2(H) || 기준고 == 0 || IsNaN(기준고) == True Then
{
기준고 = data2(H);
기준고Bar = 0;
}
Else
기준고Bar = 기준고Bar + 1;
If 기준저 >= data2(L) || 기준저 == 0 || IsNaN(기준저) == True Then
{
기준저 = data2(L);
기준저Bar = 0;
}
Else
기준저Bar = 기준저Bar + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준저[1] * (1 + (상승률*0.01/100)) > data2(L[1]) && 기준저[1] * (1 + (상승률*0.01/100)) <= data2(L) Then
추세 = 상승;
Else If 기준고[1] * (1 - (하락률*0.01/100)) < data2(H[1]) && 기준고[1] * (1 - (하락률*0.01/100)) >= data2(H) Then
추세 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = data2(H);
기준고Bar = 0;
기준저 = data2(H);
기준저Bar = 0;
}
Else if 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = data2(L);
기준저Bar = 0;
기준고 = data2(L);
기준고Bar = 0;
}
Else If 추세[1] == 하락 && 추세 == 하락 Then
{
If 기준고[1] * (1 - (하락률*0.01/100)) <= data2(L[1])
&& 기준고[1] * (1 - (하락률*0.01/100)) > data2(L)
&& 고[1] < 기준고 Then
{
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = data2(L);
기준고Bar = 0;
}
}
Else If 추세[1] == 상승 && 추세 == 상승 Then
{
If 기준저[1] * (1 + (상승률*0.01/100)) >= data2(H[1])
&& 기준저[1] * (1 + (상승률*0.01/100)) < data2(H)
&& 저[1] > 기준저 Then
{
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = data2(H);
기준저Bar = 0;
}
}
plot1(고[1]);
plot2(저[1]);
4. data2 시스템
(참조데이터는 봉완성시로 작성해야 합니다. 종가로 돌파시 신호발생합니다.)
#==========================================#
# 지표명 : 지그재그차트
# 작성자 : 수식지왕
# 블로그 : http://yahoosir.blog.me
#==========================================#
Input:상승률(100),하락률(100);
Var:j(0,data1),상승(100,data2),하락(-100,data2),추세(0,data2),
기준고(0,data2),기준저(0,data2),기준고Bar(0,data2),기준저Bar(0,data2),zz(0,data2);
Array:고[20](0,data2),저[20](0,data2),고Bar[20](0,data2),저Bar[20](0,data2);
#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 1;
저Bar[j] = 저Bar[j] + 1;
}
#==========================================#
# 최근 고,저 갱신
#==========================================#
If 기준고 <= data2(H) || 기준고 == 0 || IsNaN(기준고) == True Then
{
기준고 = data2(H);
기준고Bar = 0;
}
Else
기준고Bar = 기준고Bar + 1;
If 기준저 >= data2(L) || 기준저 == 0 || IsNaN(기준저) == True Then
{
기준저 = data2(L);
기준저Bar = 0;
}
Else
기준저Bar = 기준저Bar + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준저[1] * (1 + (상승률*0.01/100)) > data2(L[1]) && 기준저[1] * (1 + (상승률*0.01/100)) <= data2(L) Then
추세 = 상승;
Else If 기준고[1] * (1 - (하락률*0.01/100)) < data2(H[1]) && 기준고[1] * (1 - (하락률*0.01/100)) >= data2(H) Then
추세 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = data2(H);
기준고Bar = 0;
기준저 = data2(H);
기준저Bar = 0;
}
Else if 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = data2(L);
기준저Bar = 0;
기준고 = data2(L);
기준고Bar = 0;
}
Else If 추세[1] == 하락 && 추세 == 하락 Then
{
If 기준고[1] * (1 - (하락률*0.01/100)) <= data2(L[1])
&& 기준고[1] * (1 - (하락률*0.01/100)) > data2(L)
&& 고[1] < 기준고 Then
{
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = data2(L);
기준고Bar = 0;
}
}
Else If 추세[1] == 상승 && 추세 == 상승 Then
{
If 기준저[1] * (1 + (상승률*0.01/100)) >= data2(H[1])
&& 기준저[1] * (1 + (상승률*0.01/100)) < data2(H)
&& 저[1] > 기준저 Then
{
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = data2(H);
기준저Bar = 0;
}
}
if MarketPosition <= 0 and data2(crossup(c,고[1])) Then
buy("b");
if MarketPosition >= 0 and data2(CrossDown(c,저[1])) Then
sell("s");
즐거운 하루되세요
> 아침못 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> #==========================================#
# 지표명 : 지그재그차트
# 작성자 : 수식지왕
# 블로그 : http://yahoosir.blog.me
#==========================================#
Input:상승률(100),하락률(100);
Var:j(0),상승(100),하락(-100),추세(0),
기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),zz(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 기준고 <= C || 기준고 == 0 || IsNaN(기준고) == True Then
{
기준고 = C;
기준고Bar = 0;
}
Else
기준고Bar = 기준고Bar + 1;
If 기준저 >= C || 기준저 == 0 || IsNaN(기준저) == True Then
{
기준저 = C;
기준저Bar = 0;
}
Else
기준저Bar = 기준저Bar + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준저[1] * (1 + (상승률*0.01/100)) > C[1] && 기준저[1] * (1 + (상승률*0.01/100)) <= C Then
추세 = 상승;
Else If 기준고[1] * (1 - (하락률*0.01/100)) < C[1] && 기준고[1] * (1 - (하락률*0.01/100)) >= C Then
추세 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = C;
기준고Bar = 0;
기준저 = C;
기준저Bar = 0;
}
Else if 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = C;
기준저Bar = 0;
기준고 = C;
기준고Bar = 0;
}
Else If 추세[1] == 하락 && 추세 == 하락 Then
{
If 기준고[1] * (1 - (하락률*0.01/100)) <= C[1]
&& 기준고[1] * (1 - (하락률*0.01/100)) > C
&& 고[1] < 기준고 Then
{
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = C;
기준고Bar = 0;
}
}
Else If 추세[1] == 상승 && 추세 == 상승 Then
{
If 기준저[1] * (1 + (상승률*0.01/100)) >= C[1]
&& 기준저[1] * (1 + (상승률*0.01/100)) < C
&& 저[1] > 기준저 Then
{
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = C;
기준저Bar = 0;
}
}
If ZZ[1] != ZZ Then{
if ZZ < ZZ[1] Then
buy();
if ZZ > ZZ[1] Then
sell();
}
위의 식은 종가를 기준으로 선을 그어주는데요, 고가와 저가로 된 선을 긋게 해 주시구요, 신호는 종가를 기다리지 않고 전고전저를 기준으로 atstop으로 즉시주문이 나가게 하고싶습니다.
또한 위 식을 가지고 유로fx를 참조하여 마이크로유로를 거래하기위한 식도 부탁드립니다.
초보적인 질문 죄송하군요.
부탁드립니다. 노력하지만 한계가...
아침못
2013-02-28 14:13:20
정리해 주신 2번 시스템식에 주문함수가 없네요.
plot1(추세);
이렇게만 되어있는데요.
선이 꺾어질때 atstop으로 주문나가게 하는 시스템식을 원합니다.
귀찮게 해드려서 죄송합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
1. 지표
#==========================================#
# 지표명 : 지그재그차트
# 작성자 : 수식지왕
# 블로그 : http://yahoosir.blog.me
#==========================================#
Input:상승률(100),하락률(100);
Var:j(0),상승(100),하락(-100),추세(0),
기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),zz(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 기준고 <= 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] * (1 + (상승률*0.01/100)) > L[1] && 기준저[1] * (1 + (상승률*0.01/100)) <= L Then
추세 = 상승;
Else If 기준고[1] * (1 - (하락률*0.01/100)) < H[1] && 기준고[1] * (1 - (하락률*0.01/100)) >= H Then
추세 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = H;
기준고Bar = 0;
기준저 = H;
기준저Bar = 0;
}
Else if 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = L;
기준저Bar = 0;
기준고 = L;
기준고Bar = 0;
}
Else If 추세[1] == 하락 && 추세 == 하락 Then
{
If 기준고[1] * (1 - (하락률*0.01/100)) <= L[1]
&& 기준고[1] * (1 - (하락률*0.01/100)) > L
&& 고[1] < 기준고 Then
{
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = L;
기준고Bar = 0;
}
}
Else If 추세[1] == 상승 && 추세 == 상승 Then
{
If 기준저[1] * (1 + (상승률*0.01/100)) >= H[1]
&& 기준저[1] * (1 + (상승률*0.01/100)) < H
&& 저[1] > 기준저 Then
{
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = H;
기준저Bar = 0;
}
}
plot1(고[1]);
plot2(저[1]);
2. 시스템
#==========================================#
# 지표명 : 지그재그차트
# 작성자 : 수식지왕
# 블로그 : http://yahoosir.blog.me
#==========================================#
Input:상승률(100),하락률(100);
Var:j(0),상승(100),하락(-100),추세(0),
기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),zz(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 기준고 <= 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] * (1 + (상승률*0.01/100)) > L[1] && 기준저[1] * (1 + (상승률*0.01/100)) <= L Then
추세 = 상승;
Else If 기준고[1] * (1 - (하락률*0.01/100)) < H[1] && 기준고[1] * (1 - (하락률*0.01/100)) >= H Then
추세 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = H;
기준고Bar = 0;
기준저 = H;
기준저Bar = 0;
}
Else if 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = L;
기준저Bar = 0;
기준고 = L;
기준고Bar = 0;
}
Else If 추세[1] == 하락 && 추세 == 하락 Then
{
If 기준고[1] * (1 - (하락률*0.01/100)) <= L[1]
&& 기준고[1] * (1 - (하락률*0.01/100)) > L
&& 고[1] < 기준고 Then
{
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = L;
기준고Bar = 0;
}
}
Else If 추세[1] == 상승 && 추세 == 상승 Then
{
If 기준저[1] * (1 + (상승률*0.01/100)) >= H[1]
&& 기준저[1] * (1 + (상승률*0.01/100)) < H
&& 저[1] > 기준저 Then
{
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = H;
기준저Bar = 0;
}
}
plot1(추세);
3. data2 지표
#==========================================#
# 지표명 : 지그재그차트
# 작성자 : 수식지왕
# 블로그 : http://yahoosir.blog.me
#==========================================#
Input:상승률(100),하락률(100);
Var:j(0,data1),상승(100,data2),하락(-100,data2),추세(0,data2),
기준고(0,data2),기준저(0,data2),기준고Bar(0,data2),기준저Bar(0,data2),zz(0,data2);
Array:고[20](0,data2),저[20](0,data2),고Bar[20](0,data2),저Bar[20](0,data2);
#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 1;
저Bar[j] = 저Bar[j] + 1;
}
#==========================================#
# 최근 고,저 갱신
#==========================================#
If 기준고 <= data2(H) || 기준고 == 0 || IsNaN(기준고) == True Then
{
기준고 = data2(H);
기준고Bar = 0;
}
Else
기준고Bar = 기준고Bar + 1;
If 기준저 >= data2(L) || 기준저 == 0 || IsNaN(기준저) == True Then
{
기준저 = data2(L);
기준저Bar = 0;
}
Else
기준저Bar = 기준저Bar + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준저[1] * (1 + (상승률*0.01/100)) > data2(L[1]) && 기준저[1] * (1 + (상승률*0.01/100)) <= data2(L) Then
추세 = 상승;
Else If 기준고[1] * (1 - (하락률*0.01/100)) < data2(H[1]) && 기준고[1] * (1 - (하락률*0.01/100)) >= data2(H) Then
추세 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = data2(H);
기준고Bar = 0;
기준저 = data2(H);
기준저Bar = 0;
}
Else if 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = data2(L);
기준저Bar = 0;
기준고 = data2(L);
기준고Bar = 0;
}
Else If 추세[1] == 하락 && 추세 == 하락 Then
{
If 기준고[1] * (1 - (하락률*0.01/100)) <= data2(L[1])
&& 기준고[1] * (1 - (하락률*0.01/100)) > data2(L)
&& 고[1] < 기준고 Then
{
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = data2(L);
기준고Bar = 0;
}
}
Else If 추세[1] == 상승 && 추세 == 상승 Then
{
If 기준저[1] * (1 + (상승률*0.01/100)) >= data2(H[1])
&& 기준저[1] * (1 + (상승률*0.01/100)) < data2(H)
&& 저[1] > 기준저 Then
{
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = data2(H);
기준저Bar = 0;
}
}
plot1(고[1]);
plot2(저[1]);
4. data2 시스템
(참조데이터는 봉완성시로 작성해야 합니다. 종가로 돌파시 신호발생합니다.)
#==========================================#
# 지표명 : 지그재그차트
# 작성자 : 수식지왕
# 블로그 : http://yahoosir.blog.me
#==========================================#
Input:상승률(100),하락률(100);
Var:j(0,data1),상승(100,data2),하락(-100,data2),추세(0,data2),
기준고(0,data2),기준저(0,data2),기준고Bar(0,data2),기준저Bar(0,data2),zz(0,data2);
Array:고[20](0,data2),저[20](0,data2),고Bar[20](0,data2),저Bar[20](0,data2);
#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 1;
저Bar[j] = 저Bar[j] + 1;
}
#==========================================#
# 최근 고,저 갱신
#==========================================#
If 기준고 <= data2(H) || 기준고 == 0 || IsNaN(기준고) == True Then
{
기준고 = data2(H);
기준고Bar = 0;
}
Else
기준고Bar = 기준고Bar + 1;
If 기준저 >= data2(L) || 기준저 == 0 || IsNaN(기준저) == True Then
{
기준저 = data2(L);
기준저Bar = 0;
}
Else
기준저Bar = 기준저Bar + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준저[1] * (1 + (상승률*0.01/100)) > data2(L[1]) && 기준저[1] * (1 + (상승률*0.01/100)) <= data2(L) Then
추세 = 상승;
Else If 기준고[1] * (1 - (하락률*0.01/100)) < data2(H[1]) && 기준고[1] * (1 - (하락률*0.01/100)) >= data2(H) Then
추세 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = data2(H);
기준고Bar = 0;
기준저 = data2(H);
기준저Bar = 0;
}
Else if 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = data2(L);
기준저Bar = 0;
기준고 = data2(L);
기준고Bar = 0;
}
Else If 추세[1] == 하락 && 추세 == 하락 Then
{
If 기준고[1] * (1 - (하락률*0.01/100)) <= data2(L[1])
&& 기준고[1] * (1 - (하락률*0.01/100)) > data2(L)
&& 고[1] < 기준고 Then
{
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = data2(L);
기준고Bar = 0;
}
}
Else If 추세[1] == 상승 && 추세 == 상승 Then
{
If 기준저[1] * (1 + (상승률*0.01/100)) >= data2(H[1])
&& 기준저[1] * (1 + (상승률*0.01/100)) < data2(H)
&& 저[1] > 기준저 Then
{
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = data2(H);
기준저Bar = 0;
}
}
if MarketPosition <= 0 and data2(crossup(c,고[1])) Then
buy("b");
if MarketPosition >= 0 and data2(CrossDown(c,저[1])) Then
sell("s");
즐거운 하루되세요
> 아침못 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> #==========================================#
# 지표명 : 지그재그차트
# 작성자 : 수식지왕
# 블로그 : http://yahoosir.blog.me
#==========================================#
Input:상승률(100),하락률(100);
Var:j(0),상승(100),하락(-100),추세(0),
기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),zz(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 기준고 <= C || 기준고 == 0 || IsNaN(기준고) == True Then
{
기준고 = C;
기준고Bar = 0;
}
Else
기준고Bar = 기준고Bar + 1;
If 기준저 >= C || 기준저 == 0 || IsNaN(기준저) == True Then
{
기준저 = C;
기준저Bar = 0;
}
Else
기준저Bar = 기준저Bar + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준저[1] * (1 + (상승률*0.01/100)) > C[1] && 기준저[1] * (1 + (상승률*0.01/100)) <= C Then
추세 = 상승;
Else If 기준고[1] * (1 - (하락률*0.01/100)) < C[1] && 기준고[1] * (1 - (하락률*0.01/100)) >= C Then
추세 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = C;
기준고Bar = 0;
기준저 = C;
기준저Bar = 0;
}
Else if 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = C;
기준저Bar = 0;
기준고 = C;
기준고Bar = 0;
}
Else If 추세[1] == 하락 && 추세 == 하락 Then
{
If 기준고[1] * (1 - (하락률*0.01/100)) <= C[1]
&& 기준고[1] * (1 - (하락률*0.01/100)) > C
&& 고[1] < 기준고 Then
{
고[1] = 기준고;
고Bar[1] = 기준고Bar;
ZZ = 기준고;
기준고 = C;
기준고Bar = 0;
}
}
Else If 추세[1] == 상승 && 추세 == 상승 Then
{
If 기준저[1] * (1 + (상승률*0.01/100)) >= C[1]
&& 기준저[1] * (1 + (상승률*0.01/100)) < C
&& 저[1] > 기준저 Then
{
저[1] = 기준저;
저Bar[1] = 기준저Bar;
ZZ = 기준저;
기준저 = C;
기준저Bar = 0;
}
}
If ZZ[1] != ZZ Then{
if ZZ < ZZ[1] Then
buy();
if ZZ > ZZ[1] Then
sell();
}
위의 식은 종가를 기준으로 선을 그어주는데요, 고가와 저가로 된 선을 긋게 해 주시구요, 신호는 종가를 기다리지 않고 전고전저를 기준으로 atstop으로 즉시주문이 나가게 하고싶습니다.
또한 위 식을 가지고 유로fx를 참조하여 마이크로유로를 거래하기위한 식도 부탁드립니다.
초보적인 질문 죄송하군요.
부탁드립니다. 노력하지만 한계가...