예스스탁
예스스탁 답변
2020-06-23 11:22:10
안녕하세요
예스스탁입니다.
배열변수에 공유되는 변수가 있습니다.
모두 별도로 선언해서 작성되어야 합니다.
input:단위호가2(15),시작일(20090101);
var:j(0),상승2(100),하락2(-100),벽돌크기2(0),벽돌개수2(0),방향2(0);
array:고2[10](0),저2[10](0);
array:고Bar2[20](0),저Bar2[20](0); // Index 개념이 아닌 벽돌개수.지지,저항선 계산시 사용
#==========================================#
# 초기 처리
#==========================================#
If Index == 0 || Date <= 시작일 Then
{
벽돌크기2 = PriceScale * 단위호가2;
고2[0] = C;
저2[0] = C;
}
#==========================================#
If 방향2 == 0 Then
{
If 저2[1] - 벽돌크기2 >= C Then
{
벽돌개수2 = Int((저2[1] - C)/벽돌크기2);
저2[1] = 저2[1] - (벽돌크기2 * 벽돌개수2);
저Bar2[1] = 0;
방향2 = 하락2;
}
Else If 고2[1] + 벽돌크기2 <= C Then
{
벽돌개수2 = Int((C - 고2[1])/벽돌크기2);
고2[1] = 고2[1] + (벽돌크기2 * 벽돌개수2);
고Bar2[1] = 0;
방향2 = 상승2;
}
}
Else If 방향2 == 하락2 Then
{
If 저2[1] - 벽돌크기2 >= C Then
{
벽돌개수2 = Int((저2[1] - C)/벽돌크기2);
For j = 1 To 19
{
고Bar2[j] = 고Bar2[j] + 벽돌개수2;
저Bar2[j] = 저Bar2[j] + 벽돌개수2;
}
저2[1] = 저2[1] - (벽돌크기2 * 벽돌개수2);
저Bar2[1] = 0;
}
If 저2[1] + 2*벽돌크기2 <= C Then
{
벽돌개수2 = Int((C - 저2[1])/벽돌크기2);
For j = 1 To 19
{
고Bar2[j] = 고Bar2[j] + 벽돌개수2;
저Bar2[j] = 저Bar2[j] + 벽돌개수2;
}
For j = 18 DownTo 1
{
고2[j+1] = 고2[j];
고Bar2[j+1] = 고Bar2[j];
}
고2[1] = 저2[1] + (벽돌크기2 * 벽돌개수2);
고Bar2[1] = 0;
방향2 = 상승2;
}
}
Else If 방향2 == 상승2 Then
{
If 고2[1] + 벽돌크기2 <= C Then
{
벽돌개수2 = Int((C - 고2[1])/벽돌크기2);
For j = 1 To 19
{
고Bar2[j] = 고Bar2[j] + 벽돌개수2;
저Bar2[j] = 저Bar2[j] + 벽돌개수2;
}
고2[1] = 고2[1] + (벽돌크기2 * 벽돌개수2);
고Bar2[1] = 0;
}
If 고2[1] - 2*벽돌크기2 >= C Then
{
벽돌개수2 = Int((고2[1] - C)/벽돌크기2);
For j = 1 To 19
{
고Bar2[j] = 고Bar2[j] + 벽돌개수2;
저Bar2[j] = 저Bar2[j] + 벽돌개수2;
}
For j = 18 DownTo 1
{
저2[j+1] = 저2[j];
저Bar2[j+1] = 저Bar2[j];
}
저2[1] = 고2[1] - (벽돌크기2 * 벽돌개수2);
저Bar2[1] = 0;
방향2 = 하락2;
}
}
#If 방향2[1]==하락2 && 방향2==상승2 Then Plot2(저2[1],"렌코차트",BLUE);
#If 방향2[1]==상승2 && 방향2==하락2 Then Plot2(고2[1],"렌코차트",RED);
if CrossUp(고2[1], 고2[2]) then Plot1(고2[1],"렌코차트",RED);
if CrossDown(저2[1], 저2[2]) then Plot1(저2[1],"렌코차트",BLUE);
즐거운 하루되세요
> 코샘매쓰 님이 쓴 글입니다.
> 제목 : 두입력값에 그래프 두개로 표현
> 단위호가와 단위호가2를 사용해
두 그래프를 표현하고싶습니다. 초보라 참조해서 작성했는데 어디서 잘못됬는지
단위호가를 이용한 그래프도 이상하고 단위호가2그래프는 아에 나오질 안네요....
결론 하나만 할때는 잘되는데 둘이 결합시켜놓으니 안됩니다.
가르쳐주시면 감사합겠습니다.
더운데 고생많으십니다. 수고하세요...
input:단위호가(15),
단위호가2(100),
타주기구분(1), //분봉(1)
분봉구분(5), //타주기가 분봉일 때
시작일(20090101);
var:j(0),상승(100),하락(-100),분봉(1),일봉(2),주봉(3),월봉(4),
벽돌크기(0),벽돌크기2(0),벽돌개수(0),방향(0),방향2(0);
array:고[10](0),저[10](0),고2[10](0),저2[10](0);
array:고Bar[20](0),저Bar[20](0); // Index 개념이 아닌 벽돌개수.지지,저항선 계산시 사용
If 단위호가 <= 단위호가2 Then
{
#==========================================#
# 초기 처리
#==========================================#
If Index == 0 || Date <= 시작일 Then
{
벽돌크기 = PriceScale * 단위호가;
벽돌크기2 = PriceScale * 단위호가2;
고[0] = C;
저[0] = C;
고2[0] = C;
저2[0] = C;
}
#==========================================#
If 방향 == 0 Then
{
If 저[1] - 벽돌크기 >= C Then
{
벽돌개수 = Int((저[1] - C)/벽돌크기);
저[1] = 저[1] - (벽돌크기 * 벽돌개수);
저Bar[1] = 0;
방향 = 하락;
}
Else If 고[1] + 벽돌크기 <= C Then
{
벽돌개수 = Int((C - 고[1])/벽돌크기);
고[1] = 고[1] + (벽돌크기 * 벽돌개수);
고Bar[1] = 0;
방향 = 상승;
}
}
Else If 방향 == 하락 Then
{
If 저[1] - 벽돌크기 >= C Then
{
벽돌개수 = Int((저[1] - C)/벽돌크기);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
저[1] = 저[1] - (벽돌크기 * 벽돌개수);
저Bar[1] = 0;
}
If 저[1] + 2*벽돌크기 <= C Then
{
벽돌개수 = Int((C - 저[1])/벽돌크기);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
For j = 18 DownTo 1
{
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
}
고[1] = 저[1] + (벽돌크기 * 벽돌개수);
고Bar[1] = 0;
방향 = 상승;
}
}
Else If 방향 == 상승 Then
{
If 고[1] + 벽돌크기 <= C Then
{
벽돌개수 = Int((C - 고[1])/벽돌크기);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
고[1] = 고[1] + (벽돌크기 * 벽돌개수);
고Bar[1] = 0;
}
If 고[1] - 2*벽돌크기 >= C Then
{
벽돌개수 = Int((고[1] - C)/벽돌크기);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
For j = 18 DownTo 1
{
저[j+1] = 저[j];
저Bar[j+1] = 저Bar[j];
}
저[1] = 고[1] - (벽돌크기 * 벽돌개수);
저Bar[1] = 0;
방향 = 하락;
}
}
//If 방향[1]==하락 && 방향==상승 Then Plot2(저[1],"렌코차트",BLUE);
//If 방향[1]==상승 && 방향==하락 Then Plot2(고[1],"렌코차트",RED);
}
if CrossUp(고[1], 고[2]) then Plot1(고[1],"렌코차트",RED);
if CrossDown(저[1], 저[2]) then Plot1(저[1],"렌코차트",BLUE);
#==========================================#
If 방향 == 0 Then
{
If 저2[1] - 벽돌크기2 >= C Then
{
벽돌개수 = Int((저2[1] - C)/벽돌크기2);
저2[1] = 저2[1] - (벽돌크기 * 벽돌개수);
저Bar[1] = 0;
방향2 = 하락;
}
Else If 고[1] + 벽돌크기2 <= C Then
{
벽돌개수 = Int((C - 고2[1])/벽돌크기2);
고2[1] = 고2[1] + (벽돌크기2 * 벽돌개수);
고Bar[1] = 0;
방향2 = 상승;
}
}
Else If 방향2 == 하락 Then
{
If 저2[1] - 벽돌크기2 >= C Then
{
벽돌개수 = Int((저2[1] - C)/벽돌크기2);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
저2[1] = 저2[1] - (벽돌크기2 * 벽돌개수);
저Bar[1] = 0;
}
If 저2[1] + 2*벽돌크기2 <= C Then
{
벽돌개수 = Int((C - 저[1])/벽돌크기2);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
For j = 18 DownTo 1
{
고2[j+1] = 고2[j];
고Bar[j+1] = 고Bar[j];
}
고2[1] = 저2[1] + (벽돌크기2 * 벽돌개수);
고Bar[1] = 0;
방향2 = 상승;
}
}
Else If 방향2 == 상승 Then
{
If 고[1] + 벽돌크기2 <= C Then
{
벽돌개수 = Int((C - 고2[1])/벽돌크기2);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
고2[1] = 고2[1] + (벽돌크기2 * 벽돌개수);
고Bar[1] = 0;
}
If 고2[1] - 2*벽돌크기 >= C Then
{
벽돌개수 = Int((고2[1] - C)/벽돌크기2);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
For j = 18 DownTo 1
{
저2[j+1] = 저2[j];
저Bar[j+1] = 저Bar[j];
}
저2[1] = 고2[1] - (벽돌크기2 * 벽돌개수);
저Bar[1] = 0;
방향2 = 하락;
}
if CrossUp(고2 [1], 고2[2]) then Plot2(고2[1],"렌코차트",BLACK);
if CrossDown(저2 [1], 저2[2]) then Plot2(저2[1],"렌코차트",BLACK);
}