예스스탁
예스스탁 답변
2023-07-03 10:21:53
안녕하세요
예스스탁입니다.
과거 발생한 선들의 아이디를 저장해 연장해야 합니다.
과거 100개까지 지정한 기간으로 연장합니다.
1
input: n(1), hh(60) ;
var : dd(0),cnt(0);
Array : TL1[100](0),TL2[100](0),V1[100](0),V2[100](0),D1[100](0);
Array : TL3[100](0),TL4[100](0),V3[100](0),V4[100](0),D2[100](0);
if bdate != Bdate[1] Then
dd = dd+1;
var1 = ma(c,5);
var2 = ma(c,20);
if CrossUp(var1, var2) Then
{
For cnt = 99 DownTo 1
{
TL1[cnt] = TL1[cnt-1];
TL2[cnt] = TL2[cnt-1];
V1[cnt] = V1[cnt-1];
V2[cnt] = V2[cnt-1];
D1[cnt] = D1[cnt-1];
}
V1[0] = H;
V2[0] = L;
D1[0] = dd;
TL1[0] = TL_new(sDate,sTime,V1[0],NextBarSdate,NextBarStime,V1[0]);
TL2[0] = TL_new(sDate,sTime,V2[0],NextBarSdate,NextBarStime,V2[0]);
TL_SetColor(TL1[0],Red);
TL_SetColor(TL2[0],Red);
}
Else
{
For cnt = 99 DownTo 0
{
if dd < D1[cnt]+n Then
{
TL_SetEnd(TL1[cnt],sDate,sTime,V1[cnt]);
TL_SetEnd(TL2[cnt],sDate,sTime,V2[cnt]);
}
}
}
if CrossDown(var1, var2) Then
{
For cnt = 99 DownTo 1
{
TL3[cnt] = TL3[cnt-1];
TL4[cnt] = TL4[cnt-1];
V3[cnt] = V3[cnt-1];
V4[cnt] = V4[cnt-1];
D2[cnt] = D2[cnt-1];
}
V3[0] = H;
V4[0] = L;
D2[0] = dd;
TL3[0] = TL_new(sDate,sTime,V3[0],NextBarSdate,NextBarStime,V3[0]);
TL4[0] = TL_new(sDate,sTime,V4[0],NextBarSdate,NextBarStime,V4[0]);
TL_SetColor(TL3[0],Blue);
TL_SetColor(TL4[0],Blue);
}
Else
{
For cnt = 99 DownTo 0
{
if dd < D2[cnt]+n Then
{
TL_SetEnd(TL3[cnt],sDate,sTime,V3[cnt]);
TL_SetEnd(TL4[cnt],sDate,sTime,V4[cnt]);
}
}
}
2
input: n(1), hh(60) ;
var : dd(0),cnt(0);
Array : TL1[100](0),TL2[100](0),V1[100](0),V2[100](0),D1[100](0);
Array : TL3[100](0),TL4[100](0),V3[100](0),V4[100](0),D2[100](0);
if bdate != Bdate[1] Then
dd = dd+1;
var1 = ma(c,5);
var2 = ma(c,20);
if CrossUp(var1, var2) Then
{
For cnt = 99 DownTo 1
{
TL1[cnt] = TL1[cnt-1];
TL2[cnt] = TL2[cnt-1];
V1[cnt] = V1[cnt-1];
V2[cnt] = V2[cnt-1];
D1[cnt] = D1[cnt-1];
}
V1[0] = H;
V2[0] = L;
D1[0] = Index;
TL1[0] = TL_new(sDate,sTime,V1[0],NextBarSdate,NextBarStime,V1[0]);
TL2[0] = TL_new(sDate,sTime,V2[0],NextBarSdate,NextBarStime,V2[0]);
TL_SetColor(TL1[0],Red);
TL_SetColor(TL2[0],Red);
}
Else
{
For cnt = 99 DownTo 0
{
if Index < D1[cnt]+hh Then
{
TL_SetEnd(TL1[cnt],sDate,sTime,V1[cnt]);
TL_SetEnd(TL2[cnt],sDate,sTime,V2[cnt]);
}
}
}
if CrossDown(var1, var2) Then
{
For cnt = 99 DownTo 1
{
TL3[cnt] = TL3[cnt-1];
TL4[cnt] = TL4[cnt-1];
V3[cnt] = V3[cnt-1];
V4[cnt] = V4[cnt-1];
D2[cnt] = D2[cnt-1];
}
V3[0] = H;
V4[0] = L;
D2[0] = Index;
TL3[0] = TL_new(sDate,sTime,V3[0],NextBarSdate,NextBarStime,V3[0]);
TL4[0] = TL_new(sDate,sTime,V4[0],NextBarSdate,NextBarStime,V4[0]);
TL_SetColor(TL3[0],Blue);
TL_SetColor(TL4[0],Blue);
}
Else
{
For cnt = 99 DownTo 0
{
if Index < D2[cnt]+hh Then
{
TL_SetEnd(TL3[cnt],sDate,sTime,V3[cnt]);
TL_SetEnd(TL4[cnt],sDate,sTime,V4[cnt]);
}
}
}
즐거운 하루되세요
> 요타 님이 쓴 글입니다.
> 제목 : 수식좀 요청 드립니다.
> * 좋은 한주되십시요.
* 지난번 수직선은 잘쓰고 있습니다. 고맙습니다.
* 이번에는 수평선좀 부탁 드립니다.
input: n(1), hh(60) ;
var1 = ma(c,5) ;
var2 = ma(c,20) ; 일경우
crossup(var1, var2) 조건에 해당봉 고가,저가에 쌍수평선
crossdown(var1, var2) 조건에 해당봉 고가,저가에 쌍수평선 좀 부탁 드립니다
즉 크로스가 나는 봉의 최고가 부터 우측 으로 차트 끝까지
크로스가 나는 봉의 최저가 부터 우측 으로 차트 끝까지
단 변수(n(1))일 까지 입니다.(고저 수평선이 다음날 표시 되면 안됨니다.)
n(1) = 해당일 만 수평선
n(2) = 해당일 + 전일
n(3) = 해당일 + 전일 + 전전일 3일이전 까지
아래 모양 입니다.
봉 고가선 봉 저가선 수평으로 우측 차트 끝까지 하루치만 선표시(변수)
<아래>
───────────────────────────────(고가수평선)
Ⅱ (해당봉)
───────────────────────────────(저가수평선)
* 혹시 가능 하시면
차트 끝까지 버젼(일) 표시
60봉 까지만 수평선 출력 버젼도 함게 부탁 드립니다. 죄송합니다
매번 도움에 정말 고맙습니다.