커뮤니티
특정지표값의 캔들상 표현 추가질문
2012-03-19 09:29:18
343
글번호 49044
23490번 질문내용인데요...
수고하십니다..
선물 분차트에서
지표로 rsi를 적용했을때...
장시작후 rsi값이 30 이하로 처음 떨어졌을때 그때 캔들의 시고저종/4 의 값으로
캔들에 선을 긋고 싶습니다.
이후 장이 진행이 되어 30 이상으로 올라왔을때 그때 캔들의 시고저종/4 의 값으로
캔들에 선을 긋고 싶습니다.
또한
장시작후 rsi값이 70 이상으로 처음 올라갔을때 그때 캔들이 시고저종/4 의 값으로
캔들에 선을 긋고 싶습니다.
이후 장이 진행이 되어 70 이하로 떨어졌을때 그때 캔들의 시고저종/4 의 값으로
캔들에 선을 긋고 싶습니다..
위에서 적은 내용이 차트상에서 표현이 됐을시 최대 선의 갯수는 4개..
예를 들어
rsi 값이 처음 30 이하로 떨여졌을때 선 1
rsi 값이 이후 진행이 되어 30 이상으로 올라왔을때 선 2
rsi 값이 처음 70 이상으로 올라갓을때 선 3
rsi 값이 이후 진행이 되어 70 이하로 떨어졌을때 선 4
물론 위의 선들이 표현되는 순서는 그날 장의 움직임에 따라 틀리겠죠.
수고하세요.^^*
위의 내용에서...
시장이 진행됨에 따라 rsi값이 30이하로 내려간후 다시 30이상으로 올라왔다가
다시 30이하로 내려올수도 있을텐데요...
이럴때 캔들상에 다시 표현을 해주는 겁니다..
이렇게 표현할시 장중에 몇개의 선이 그려질지 모르는 상황이 발생되겠죠
물론 70이상 올라갔을때와 이후 70이하로 내려올때도 마찬가지구요..
감사합니다..수고하세요.^^*
답변 1
예스스탁 예스스탁 답변
2012-03-19 15:26:59
안녕하세요
예스스탁입니다.
plot1명령어는 수식상에 고정적으로 사용되야 하므로
문의하신 부분과 같이 완전 유동적으로 작성할 수는 없습니다.
갯수를 지정해 놓고 작성할 수 밖에 없습니다
1 첫번째 발생시점의 값만 그리기
if date != date[1] Then{
var1 = 0;
var2 = 0;
var3 = 0;
var4 = 0;
}
value1 = rsi(10);
if var1 < 1 and CrossDown(value1,30) Then{
var1 = var1+1;
var11 = (O+H+L+C)/4;
}
if var2 < 1 and Crossup(value1,30) Then{
var2 = var2+1;
var21 = (O+H+L+C)/4;
}
if var3 < 1 and Crossup(value1,70) Then{
var3 = var3+1;
var31 = (O+H+L+C)/4;
}
if var4 < 1 and CrossDown(value1,70) Then{
var4 = var4+1;
var41 = (O+H+L+C)/4;
}
if CurrentDate == sdate Then{
if var1 >= 1 Then
plot1(var11);
if var2 >= 1 Then
plot2(var21);
if var3 >= 1 Then
plot3(var31);
if var4 >= 1 Then
plot4(var41);
}
2, 5개까지 그리기
참고하셔서 필요한 만큰 늘려서 작성하시기 바랍니다.
var : cnt(0);
Array : up30[11](0),Dn30[11](0),Up70[11](0),Dn70[11](0);
if date != date[1] Then{
for cnt = 0 to 10{
Up30[cnt] = 0;
Dn30[cnt] = 0;
Up70[cnt] = 0;
Dn70[cnt] = 0;
}
var1 = 0;
var2 = 0;
var3 = 0;
var4 = 0;
}
value1 = rsi(10);
if CrossDown(value1,30) Then{
var1 = var1+1;
UP30[var1] = (O+H+L+C)/4;
}
if Crossup(value1,30) Then{
var2 = var2+1;
Dn30[var2] = (O+H+L+C)/4;
}
if Crossup(value1,70) Then{
var3 = var3+1;
UP70[var3] = (O+H+L+C)/4;
}
if CrossDown(value1,70) Then{
var4 = var4+1;
Dn70[var4] = (O+H+L+C)/4;
}
if CurrentDate == sdate Then{
if var1 >= 1 Then
plot1(UP30[1]);
if var1 >= 2 Then
plot2(UP30[2]);
if var1 >= 3 Then
plot3(UP30[3]);
if var1 >= 4 Then
plot4(UP30[4]);
if var1 >= 5 Then
plot5(UP30[5]);
if var2 >= 1 Then
plot21(Dn30[1]);
if var2 >= 2 Then
plot22(Dn30[2]);
if var2 >= 3 Then
plot23(Dn30[3]);
if var2 >= 4 Then
plot24(Dn30[4]);
if var2 >= 5 Then
plot25(Dn30[5]);
if var3 >= 1 Then
plot61(UP70[1]);
if var3 >= 2 Then
plot62(UP70[2]);
if var3 >= 3 Then
plot63(UP70[3]);
if var3 >= 4 Then
plot64(UP70[4]);
if var3 >= 5 Then
plot65(UP70[5]);
if var4 >= 1 Then
plot81(Dn70[1]);
if var4 >= 2 Then
plot82(Dn70[2]);
if var4 >= 3 Then
plot83(Dn70[3]);
if var4 >= 4 Then
plot84(Dn70[4]);
if var4 >= 5 Then
plot85(Dn70[5]);
}
즐거운 하루되세요
> 휴먼시아 님이 쓴 글입니다.
> 제목 : 특정지표값의 캔들상 표현 추가질문
> 23490번 질문내용인데요...
수고하십니다..
선물 분차트에서
지표로 rsi를 적용했을때...
장시작후 rsi값이 30 이하로 처음 떨어졌을때 그때 캔들의 시고저종/4 의 값으로
캔들에 선을 긋고 싶습니다.
이후 장이 진행이 되어 30 이상으로 올라왔을때 그때 캔들의 시고저종/4 의 값으로
캔들에 선을 긋고 싶습니다.
또한
장시작후 rsi값이 70 이상으로 처음 올라갔을때 그때 캔들이 시고저종/4 의 값으로
캔들에 선을 긋고 싶습니다.
이후 장이 진행이 되어 70 이하로 떨어졌을때 그때 캔들의 시고저종/4 의 값으로
캔들에 선을 긋고 싶습니다..
위에서 적은 내용이 차트상에서 표현이 됐을시 최대 선의 갯수는 4개..
예를 들어
rsi 값이 처음 30 이하로 떨여졌을때 선 1
rsi 값이 이후 진행이 되어 30 이상으로 올라왔을때 선 2
rsi 값이 처음 70 이상으로 올라갓을때 선 3
rsi 값이 이후 진행이 되어 70 이하로 떨어졌을때 선 4
물론 위의 선들이 표현되는 순서는 그날 장의 움직임에 따라 틀리겠죠.
수고하세요.^^*
위의 내용에서...
시장이 진행됨에 따라 rsi값이 30이하로 내려간후 다시 30이상으로 올라왔다가
다시 30이하로 내려올수도 있을텐데요...
이럴때 캔들상에 다시 표현을 해주는 겁니다..
이렇게 표현할시 장중에 몇개의 선이 그려질지 모르는 상황이 발생되겠죠
물론 70이상 올라갔을때와 이후 70이하로 내려올때도 마찬가지구요..
감사합니다..수고하세요.^^*