커뮤니티
또 문의드립니다.
2017-11-18 01:20:32
162
글번호 114290
이번것도 종목데이터가 없다는 에러가 나옵니다..
저는 워낙 몰라 어떻게 해야할지 모르겠습니다. 암튼 문제없게 수정 부탁드립니다.
Input:상승률(0.12),하락률(0.12);
Var:j(0),상승(100,data1),하락(-100,data1),양방향(2,data1),색깔(0,data1),파랑(-1,data1),빨강(1,data1),
기준고(0,data1),기준저(0,data1),기준고Bar(0,data1),기준저Bar(0,data1),추세(0,data1),이중파동(0,data1);
Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0);
Input:상승률D(0.12),하락률D(0.12);
Var:jj(0),상승D(100,data2),하락D(-100,data2),양방향D(2,data2),색깔D(0,data2),파랑D(-1,data2),빨강D(1,data2),
기준고D(0,data2),기준저D(0,data2),기준고BarD(0,data2),기준저BarD(0,data2),추세D(0,data2),이중파동D(0,data2);
Array:고D[20](0,data2),저D[20](0,data2),고BarD[20](0,data2),저BarD[20](0,data2);
#################Data1
#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For j = 1 To 19
{
저Bar[j] = 저Bar[j] + 1;
고Bar[j] = 고Bar[j] + 1;
}
#==========================================#
# 이중파동 처리
#==========================================#
If 이중파동 > 0 Then
{
이중파동 = 0;
}
#==========================================#
# 최근 고,저 갱신
#==========================================#
If 기준고 <= data1(H) || 기준고 == 0 || IsNaN(기준고) == True Then
{
기준고 = data1(H);
기준고Bar = 0;
}
Else
기준고Bar = 기준고Bar + 1;
If 기준저 >= data1(L) || 기준저 == 0 || IsNaN(기준저) == True Then
{
기준저 = data1(L);
기준저Bar = 0;
}
Else
기준저Bar = 기준저Bar + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준고 * (1 - (하락률/100)) > data1(H) && 기준저 * (1 + (상승률/100)) < data1(L) Then
{
추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락));
}
Else If 기준고 * (1 - (하락률/100)) > data1(H) Then 추세 = 하락;
Else If 기준저 * (1 + (상승률/100)) < data1(L) Then 추세 = 상승;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1 {
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
기준고 = data1(H);
기준고Bar = 0;
기준저 = data1(L);
기준저Bar = 0;
If 고[2] < 고[1] Then 색깔 = 빨강 ;
If 이중파동[1] > 0 Then 이중파동 = 고[1];
}
If 추세[1] == 하락 && 추세 == 하락 &&
고[1] < 기준고 &&
기준고 * (1 - (하락률/100)) > data1(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;
기준고 = data1(H);
기준고Bar = 0;
기준저 = data1(L);
기준저Bar = 0;
If 저[2] > 저[1] Then 색깔 = 파랑;
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;
기준저 = data1(L);
기준저Bar = 0;
기준고 = data1(H);
기준고Bar = 0;
If 저[2] > 저[1] Then 색깔 = 파랑;
If 이중파동[1] > 0 Then 이중파동 = 저[1];
}
If 추세[1] == 상승 && 추세 == 상승 &&
저[1] > 기준저 &&
기준저 * (1 + (상승률/100)) < data1(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;
기준저 = data1(L);
기준저Bar = 0;
기준고 = data1(H);
기준고Bar = 0;
If 고[2] < 고[1] Then 색깔 = 빨강;
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;
기준고 = data1(H);
기준고Bar = 0;
기준저 = data1(L);
기준저Bar = 0;
추세 = 추세[1];
If 추세[1] == 상승 Then
{
If 고[2] < 고[1] Then 색깔 = 빨강;
If 저[2] > 저[1] Then 색깔 = 파랑;
이중파동 = 저[1];
}
Else
{
If 저[2] > 저[1] Then 색깔 = 파랑;
If 고[2] < 고[1] Then 색깔 = 빨강;
이중파동 = 고[1];
}
}
#############################Data2
#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For jj = 1 To 19
{
저BarD[jj] = 저BarD[jj] + 1;
고BarD[jj] = 고BarD[jj] + 1;
}
#==========================================#
# 이중파동 처리
#==========================================#
If 이중파동D > 0 Then
{
이중파동D = 0;
}
#==========================================#
# 최근 고,저 갱신
#==========================================#
If 기준고D <= data2(H) || 기준고D == 0 || IsNaN(기준고D) == True Then
{
기준고D = data2(H);
기준고BarD = 0;
}
Else
기준고BarD = 기준고BarD + 1;
If 기준저D >=data2(L) || 기준저D == 0 || IsNaN(기준저D) == True Then
{
기준저D = data2(L);
기준저BarD = 0;
}
Else
기준저BarD = 기준저BarD + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준고D * (1 - (하락률D/100)) > data2(H) && 기준저D * (1 + (상승률D/100)) < data2(L) Then
{
추세D = Iff(기준고BarD==기준저BarD,양방향D,Iff(기준고BarD>기준저BarD,상승D,하락D));
}
Else If 기준고D * (1 - (하락률D/100)) > data2(H) Then 추세D = 하락D;
Else If 기준저D * (1 + (상승률D/100)) < data2(L) Then 추세D = 상승D;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세D[1] == 상승D && 추세D == 하락D Then
{
For jj = 18 DownTo 1 {
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
기준고D = data2(H);
기준고BarD = 0;
기준저D = data2(L);
기준저BarD = 0;
If 고D[2] < 고D[1] Then 색깔D = 빨강D ;
If 이중파동D[1] > 0 Then 이중파동D = 고D[1];
}
If 추세D[1] == 하락D && 추세D == 하락D &&
고D[1] < 기준고D &&
기준고D * (1 - (하락률D/100)) > data2(H) Then
{
For jj = 18 DownTo 1
{
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준고D = data2(H);
기준고BarD = 0;
기준저D = data2(L);
기준저BarD = 0;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
이중파동D = 고D[1];
}
If 추세D[1] == 하락D && 추세D == 상승D Then
{
For jj = 18 DownTo 1
{
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준저D = data2(L);
기준저BarD = 0;
기준고D = data2(H);
기준고BarD = 0;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
If 이중파동D[1] > 0 Then 이중파동D = 저D[1];
}
If 추세D[1] == 상승D && 추세D == 상승D &&
저D[1] > 기준저D &&
기준저D * (1 + (상승률D/100)) <data2(L) Then
{
For jj = 18 DownTo 1
{
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준저D = data2(L);
기준저BarD = 0;
기준고D = data2(H);
기준고BarD = 0;
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
이중파동D = 저D[1];
}
If 추세D == 양방향D Then
{
For jj = 18 DownTo 1
{
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준고D = data2(H);
기준고BarD = 0;
기준저D = data2(L);
기준저BarD = 0;
추세D = 추세D[1];
If 추세D[1] == 상승D Then
{
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
이중파동D = 저D[1];
}
Else
{
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
이중파동D = 고D[1];
}
}
#==========================================#
# 역행출력
#==========================================#
if data1(crossup(c,고[1])) and data2(H < 고D[1]) Then{
PlotPaintBar(C,O,"1", black);
PlaySound("C:₩예스트레이더31₩Data₩역행.wav");
}
if data1(Crossdown(c,저[1])) and data3(H < 고D[1]) Then{
PlotPaintBar(C,O,"1", black);
PlaySound("C:₩예스트레이더31₩Data₩역행.wav");
}
답변 1
예스스탁 예스스탁 답변
2017-11-20 10:40:24
안녕하세요
예스스탁입니다.
기본차트(data1)과 참조데이터(data2)가 어떤 종목인지는
수식 내용만으로는 알수 없습니다.
수식자체는 data1과 data2만 필요한 수식같은데
마지막 부분에 data3이 사용되어 있는데
해당부분은 잘못된 부분인거 같아 수정해 드립니다.
예를들어 data1 콜, data2풋으로 설정하고 적용해 보시기 바랍니다.
Input:상승률(0.12),하락률(0.12);
Var:j(0),상승(100,data1),하락(-100,data1),양방향(2,data1),색깔(0,data1),파랑(-1,data1),빨강(1,data1),
기준고(0,data1),기준저(0,data1),기준고Bar(0,data1),기준저Bar(0,data1),추세(0,data1),이중파동(0,data1);
Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0);
Input:상승률D(0.12),하락률D(0.12);
Var:jj(0),상승D(100,data2),하락D(-100,data2),양방향D(2,data2),색깔D(0,data2),파랑D(-1,data2),빨강D(1,data2),
기준고D(0,data2),기준저D(0,data2),기준고BarD(0,data2),기준저BarD(0,data2),추세D(0,data2),이중파동D(0,data2);
Array:고D[20](0,data2),저D[20](0,data2),고BarD[20](0,data2),저BarD[20](0,data2);
#################Data1
#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For j = 1 To 19
{
저Bar[j] = 저Bar[j] + 1;
고Bar[j] = 고Bar[j] + 1;
}
#==========================================#
# 이중파동 처리
#==========================================#
If 이중파동 > 0 Then
{
이중파동 = 0;
}
#==========================================#
# 최근 고,저 갱신
#==========================================#
If 기준고 <= data1(H) || 기준고 == 0 || IsNaN(기준고) == True Then
{
기준고 = data1(H);
기준고Bar = 0;
}
Else
기준고Bar = 기준고Bar + 1;
If 기준저 >= data1(L) || 기준저 == 0 || IsNaN(기준저) == True Then
{
기준저 = data1(L);
기준저Bar = 0;
}
Else
기준저Bar = 기준저Bar + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준고 * (1 - (하락률/100)) > data1(H) && 기준저 * (1 + (상승률/100)) < data1(L) Then
{
추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락));
}
Else If 기준고 * (1 - (하락률/100)) > data1(H) Then 추세 = 하락;
Else If 기준저 * (1 + (상승률/100)) < data1(L) Then 추세 = 상승;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1 {
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
기준고 = data1(H);
기준고Bar = 0;
기준저 = data1(L);
기준저Bar = 0;
If 고[2] < 고[1] Then 색깔 = 빨강 ;
If 이중파동[1] > 0 Then 이중파동 = 고[1];
}
If 추세[1] == 하락 && 추세 == 하락 &&
고[1] < 기준고 &&
기준고 * (1 - (하락률/100)) > data1(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;
기준고 = data1(H);
기준고Bar = 0;
기준저 = data1(L);
기준저Bar = 0;
If 저[2] > 저[1] Then 색깔 = 파랑;
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;
기준저 = data1(L);
기준저Bar = 0;
기준고 = data1(H);
기준고Bar = 0;
If 저[2] > 저[1] Then 색깔 = 파랑;
If 이중파동[1] > 0 Then 이중파동 = 저[1];
}
If 추세[1] == 상승 && 추세 == 상승 &&
저[1] > 기준저 &&
기준저 * (1 + (상승률/100)) < data1(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;
기준저 = data1(L);
기준저Bar = 0;
기준고 = data1(H);
기준고Bar = 0;
If 고[2] < 고[1] Then 색깔 = 빨강;
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;
기준고 = data1(H);
기준고Bar = 0;
기준저 = data1(L);
기준저Bar = 0;
추세 = 추세[1];
If 추세[1] == 상승 Then
{
If 고[2] < 고[1] Then 색깔 = 빨강;
If 저[2] > 저[1] Then 색깔 = 파랑;
이중파동 = 저[1];
}
Else
{
If 저[2] > 저[1] Then 색깔 = 파랑;
If 고[2] < 고[1] Then 색깔 = 빨강;
이중파동 = 고[1];
}
}
#############################Data2
#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For jj = 1 To 19
{
저BarD[jj] = 저BarD[jj] + 1;
고BarD[jj] = 고BarD[jj] + 1;
}
#==========================================#
# 이중파동 처리
#==========================================#
If 이중파동D > 0 Then
{
이중파동D = 0;
}
#==========================================#
# 최근 고,저 갱신
#==========================================#
If 기준고D <= data2(H) || 기준고D == 0 || IsNaN(기준고D) == True Then
{
기준고D = data2(H);
기준고BarD = 0;
}
Else
기준고BarD = 기준고BarD + 1;
If 기준저D >=data2(L) || 기준저D == 0 || IsNaN(기준저D) == True Then
{
기준저D = data2(L);
기준저BarD = 0;
}
Else
기준저BarD = 기준저BarD + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준고D * (1 - (하락률D/100)) > data2(H) && 기준저D * (1 + (상승률D/100)) < data2(L) Then
{
추세D = Iff(기준고BarD==기준저BarD,양방향D,Iff(기준고BarD>기준저BarD,상승D,하락D));
}
Else If 기준고D * (1 - (하락률D/100)) > data2(H) Then 추세D = 하락D;
Else If 기준저D * (1 + (상승률D/100)) < data2(L) Then 추세D = 상승D;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세D[1] == 상승D && 추세D == 하락D Then
{
For jj = 18 DownTo 1 {
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
기준고D = data2(H);
기준고BarD = 0;
기준저D = data2(L);
기준저BarD = 0;
If 고D[2] < 고D[1] Then 색깔D = 빨강D ;
If 이중파동D[1] > 0 Then 이중파동D = 고D[1];
}
If 추세D[1] == 하락D && 추세D == 하락D &&
고D[1] < 기준고D &&
기준고D * (1 - (하락률D/100)) > data2(H) Then
{
For jj = 18 DownTo 1
{
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준고D = data2(H);
기준고BarD = 0;
기준저D = data2(L);
기준저BarD = 0;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
이중파동D = 고D[1];
}
If 추세D[1] == 하락D && 추세D == 상승D Then
{
For jj = 18 DownTo 1
{
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준저D = data2(L);
기준저BarD = 0;
기준고D = data2(H);
기준고BarD = 0;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
If 이중파동D[1] > 0 Then 이중파동D = 저D[1];
}
If 추세D[1] == 상승D && 추세D == 상승D &&
저D[1] > 기준저D &&
기준저D * (1 + (상승률D/100)) <data2(L) Then
{
For jj = 18 DownTo 1
{
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준저D = data2(L);
기준저BarD = 0;
기준고D = data2(H);
기준고BarD = 0;
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
이중파동D = 저D[1];
}
If 추세D == 양방향D Then
{
For jj = 18 DownTo 1
{
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준고D = data2(H);
기준고BarD = 0;
기준저D = data2(L);
기준저BarD = 0;
추세D = 추세D[1];
If 추세D[1] == 상승D Then
{
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
이중파동D = 저D[1];
}
Else
{
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
이중파동D = 고D[1];
}
}
#==========================================#
# 역행출력
#==========================================#
if data1(crossup(c,고[1])) and data2(H < 고D[1]) Then{
PlotPaintBar(C,O,"1", black);
PlaySound("C:₩예스트레이더31₩Data₩역행.wav");
}
if data1(Crossdown(c,저[1])) and data2(H < 고D[1]) Then{
PlotPaintBar(C,O,"1", black);
PlaySound("C:₩예스트레이더31₩Data₩역행.wav");
}
즐거운 하루되세요
> 트라반 님이 쓴 글입니다.
> 제목 : 또 문의드립니다.
> 이번것도 종목데이터가 없다는 에러가 나옵니다..
저는 워낙 몰라 어떻게 해야할지 모르겠습니다. 암튼 문제없게 수정 부탁드립니다.
Input:상승률(0.12),하락률(0.12);
Var:j(0),상승(100,data1),하락(-100,data1),양방향(2,data1),색깔(0,data1),파랑(-1,data1),빨강(1,data1),
기준고(0,data1),기준저(0,data1),기준고Bar(0,data1),기준저Bar(0,data1),추세(0,data1),이중파동(0,data1);
Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0);
Input:상승률D(0.12),하락률D(0.12);
Var:jj(0),상승D(100,data2),하락D(-100,data2),양방향D(2,data2),색깔D(0,data2),파랑D(-1,data2),빨강D(1,data2),
기준고D(0,data2),기준저D(0,data2),기준고BarD(0,data2),기준저BarD(0,data2),추세D(0,data2),이중파동D(0,data2);
Array:고D[20](0,data2),저D[20](0,data2),고BarD[20](0,data2),저BarD[20](0,data2);
#################Data1
#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For j = 1 To 19
{
저Bar[j] = 저Bar[j] + 1;
고Bar[j] = 고Bar[j] + 1;
}
#==========================================#
# 이중파동 처리
#==========================================#
If 이중파동 > 0 Then
{
이중파동 = 0;
}
#==========================================#
# 최근 고,저 갱신
#==========================================#
If 기준고 <= data1(H) || 기준고 == 0 || IsNaN(기준고) == True Then
{
기준고 = data1(H);
기준고Bar = 0;
}
Else
기준고Bar = 기준고Bar + 1;
If 기준저 >= data1(L) || 기준저 == 0 || IsNaN(기준저) == True Then
{
기준저 = data1(L);
기준저Bar = 0;
}
Else
기준저Bar = 기준저Bar + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준고 * (1 - (하락률/100)) > data1(H) && 기준저 * (1 + (상승률/100)) < data1(L) Then
{
추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락));
}
Else If 기준고 * (1 - (하락률/100)) > data1(H) Then 추세 = 하락;
Else If 기준저 * (1 + (상승률/100)) < data1(L) Then 추세 = 상승;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1 {
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
기준고 = data1(H);
기준고Bar = 0;
기준저 = data1(L);
기준저Bar = 0;
If 고[2] < 고[1] Then 색깔 = 빨강 ;
If 이중파동[1] > 0 Then 이중파동 = 고[1];
}
If 추세[1] == 하락 && 추세 == 하락 &&
고[1] < 기준고 &&
기준고 * (1 - (하락률/100)) > data1(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;
기준고 = data1(H);
기준고Bar = 0;
기준저 = data1(L);
기준저Bar = 0;
If 저[2] > 저[1] Then 색깔 = 파랑;
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;
기준저 = data1(L);
기준저Bar = 0;
기준고 = data1(H);
기준고Bar = 0;
If 저[2] > 저[1] Then 색깔 = 파랑;
If 이중파동[1] > 0 Then 이중파동 = 저[1];
}
If 추세[1] == 상승 && 추세 == 상승 &&
저[1] > 기준저 &&
기준저 * (1 + (상승률/100)) < data1(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;
기준저 = data1(L);
기준저Bar = 0;
기준고 = data1(H);
기준고Bar = 0;
If 고[2] < 고[1] Then 색깔 = 빨강;
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;
기준고 = data1(H);
기준고Bar = 0;
기준저 = data1(L);
기준저Bar = 0;
추세 = 추세[1];
If 추세[1] == 상승 Then
{
If 고[2] < 고[1] Then 색깔 = 빨강;
If 저[2] > 저[1] Then 색깔 = 파랑;
이중파동 = 저[1];
}
Else
{
If 저[2] > 저[1] Then 색깔 = 파랑;
If 고[2] < 고[1] Then 색깔 = 빨강;
이중파동 = 고[1];
}
}
#############################Data2
#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For jj = 1 To 19
{
저BarD[jj] = 저BarD[jj] + 1;
고BarD[jj] = 고BarD[jj] + 1;
}
#==========================================#
# 이중파동 처리
#==========================================#
If 이중파동D > 0 Then
{
이중파동D = 0;
}
#==========================================#
# 최근 고,저 갱신
#==========================================#
If 기준고D <= data2(H) || 기준고D == 0 || IsNaN(기준고D) == True Then
{
기준고D = data2(H);
기준고BarD = 0;
}
Else
기준고BarD = 기준고BarD + 1;
If 기준저D >=data2(L) || 기준저D == 0 || IsNaN(기준저D) == True Then
{
기준저D = data2(L);
기준저BarD = 0;
}
Else
기준저BarD = 기준저BarD + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If 기준고D * (1 - (하락률D/100)) > data2(H) && 기준저D * (1 + (상승률D/100)) < data2(L) Then
{
추세D = Iff(기준고BarD==기준저BarD,양방향D,Iff(기준고BarD>기준저BarD,상승D,하락D));
}
Else If 기준고D * (1 - (하락률D/100)) > data2(H) Then 추세D = 하락D;
Else If 기준저D * (1 + (상승률D/100)) < data2(L) Then 추세D = 상승D;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 추세D[1] == 상승D && 추세D == 하락D Then
{
For jj = 18 DownTo 1 {
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
기준고D = data2(H);
기준고BarD = 0;
기준저D = data2(L);
기준저BarD = 0;
If 고D[2] < 고D[1] Then 색깔D = 빨강D ;
If 이중파동D[1] > 0 Then 이중파동D = 고D[1];
}
If 추세D[1] == 하락D && 추세D == 하락D &&
고D[1] < 기준고D &&
기준고D * (1 - (하락률D/100)) > data2(H) Then
{
For jj = 18 DownTo 1
{
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준고D = data2(H);
기준고BarD = 0;
기준저D = data2(L);
기준저BarD = 0;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
이중파동D = 고D[1];
}
If 추세D[1] == 하락D && 추세D == 상승D Then
{
For jj = 18 DownTo 1
{
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준저D = data2(L);
기준저BarD = 0;
기준고D = data2(H);
기준고BarD = 0;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
If 이중파동D[1] > 0 Then 이중파동D = 저D[1];
}
If 추세D[1] == 상승D && 추세D == 상승D &&
저D[1] > 기준저D &&
기준저D * (1 + (상승률D/100)) <data2(L) Then
{
For jj = 18 DownTo 1
{
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준저D = data2(L);
기준저BarD = 0;
기준고D = data2(H);
기준고BarD = 0;
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
이중파동D = 저D[1];
}
If 추세D == 양방향D Then
{
For jj = 18 DownTo 1
{
고D[jj+1] = 고D[jj];
고BarD[jj+1] = 고BarD[jj];
저D[jj+1] = 저D[jj];
저BarD[jj+1] = 저BarD[jj];
}
고D[1] = 기준고D;
고BarD[1] = 기준고BarD;
저D[1] = 기준저D;
저BarD[1] = 기준저BarD;
기준고D = data2(H);
기준고BarD = 0;
기준저D = data2(L);
기준저BarD = 0;
추세D = 추세D[1];
If 추세D[1] == 상승D Then
{
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
이중파동D = 저D[1];
}
Else
{
If 저D[2] > 저D[1] Then 색깔D = 파랑D;
If 고D[2] < 고D[1] Then 색깔D = 빨강D;
이중파동D = 고D[1];
}
}
#==========================================#
# 역행출력
#==========================================#
if data1(crossup(c,고[1])) and data2(H < 고D[1]) Then{
PlotPaintBar(C,O,"1", black);
PlaySound("C:₩예스트레이더31₩Data₩역행.wav");
}
if data1(Crossdown(c,저[1])) and data3(H < 고D[1]) Then{
PlotPaintBar(C,O,"1", black);
PlaySound("C:₩예스트레이더31₩Data₩역행.wav");
}