예스스탁
예스스탁 답변
2023-07-10 09:51:56
안녕하세요
예스스탁입니다.
Input: aa(5) , bb(15) ;
input: n(1), hh(60) ;
var : box(0);
var : dd1(0),cnt2(0);
var : TL1(0),TL2(0),TX1(0),TX2(0);
var1 = ma(c,aa) ;
var2 = ma(c,bb) ;
if CrossUp(var1,var2) Then
{
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Red);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
value1 = H;
Value2 = L;
TL1 = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,value1);
TL2 = TL_New(sDate,sTime,value2,NextBarSdate,NextBarStime,value2);
TL_SetColor(TL1,Red);
TL_SetColor(TL2,Red);
TX1 = Text_New(NextBarSdate,NextBarStime,value1,NumToStr(value1,2));
TX2 = Text_New(NextBarSdate,NextBarStime,value2,NumToStr(Value2,2));
Text_SetStyle(TX1,0,1);
Text_SetStyle(TX2,0,1);
}
else if CrossDown(var1,var2) Then
{
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Blue);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
value1 = H;
Value2 = L;
TL1 = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,value1);
TL2 = TL_New(sDate,sTime,value2,NextBarSdate,NextBarStime,value2);
TL_SetColor(TL1,Blue);
TL_SetColor(TL2,Blue);
TX1 = Text_New(NextBarSdate,NextBarStime,value1,NumToStr(value1,2));
TX2 = Text_New(NextBarSdate,NextBarStime,value2,NumToStr(Value2,2));
Text_SetStyle(TX1,0,1);
Text_SetStyle(TX2,0,1);
}
Else
{
Box_SetEnd(box,NextBarSdate,NextBarStime,l);
TL_SetEnd(TL1,NextBarSdate,NextBarStime,value1);
TL_SetEnd(TL2,NextBarSdate,NextBarStime,value2);
Text_SetLocation(TX1,NextBarSdate,NextBarStime,value1);
Text_SetLocation(TX2,NextBarSdate,NextBarStime,value2);
}
즐거운 하루되세요
> 요타 님이 쓴 글입니다.
> 제목 : 수치좀 부탁 드립니다.
> * 매번 도움에 고맙 습니다.
* 아래 수식에서 수정 좀 요청 드립니다.
* <요청1> 두 수식을 합처 부탁 드립니다.
즉 색상이 변경 되는 첫봉에 수평선을 출력 하려 합니다.
<요청2> 수평선이 색상이 변경되면 끝나게 부탁 드립니다.
<요청3> 수평선 우측 끝부분에 가격 표시
## 윗부분 (hh) 수평선이 계속 되어 색상이 변경되도 출력 됨니다. : hh(60)
## 색상이 변경 되면 이전 수평선은 끝나고
## 다음 색상 첫봉 수평선 출력 되도록 부탁 드립니다.
## 색상 중간에 나오는 모든 수평선은 필요 없습니다. 첫봉의 수평선만 필요 합니다.
## 첫봉 최고가 최저가 가격을 수평선 우축에 출력좀 부탁 드립니다.
## <아래 수식>
Input: aa(5) , bb(15) ;
var1 = ma(c,aa) ;
var2 = ma(c,bb) ;
var : box(0);
if CrossUp(var1,var2) Then
{
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Red);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
else
if CrossDown(var1,var2) Then
{
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Blue);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
Else
Box_SetEnd(box,NextBarSdate,NextBarStime,l);
#############################################################
input: n(1), hh(60) ;
## 윗부분 (hh) 수평선이 계속 되어 색상이 변경되도 출력 됨니다. : hh(60)
## 색상이 변경 되면 이전 수평선은 끝나고 다음 색상 첫봉 수평선 출력 되도록 부탁 드립니다.
## 색상 중간에 나오는 모든 선은 필요 없습니다. 첫봉의 수평선만 필요 합니다.
## 첫봉 최고가 최저가 가격을 수평선 우축에 출력좀 부탁 드립니다.
var : dd1(0),cnt2(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
dd1 = dd1+1;
if CrossUp(var1, var2) Then
{
For cnt2 = 99 DownTo 1
{
TL1[cnt2] = TL1[cnt2-1];
TL2[cnt2] = TL2[cnt2-1];
V1[cnt2] = V1[cnt2-1];
V2[cnt2] = V2[cnt2-1];
D1[cnt2] = D1[cnt2-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 cnt2 = 99 DownTo 0
{
if Index < D1[cnt2]+hh Then
{
TL_SetEnd(TL1[cnt2],sDate,sTime,V1[cnt2]);
TL_SetEnd(TL2[cnt2],sDate,sTime,V2[cnt2]);
}
}
}
if CrossDown(var1, var2) Then
{
For cnt2 = 99 DownTo 1
{
TL3[cnt2] = TL3[cnt2-1];
TL4[cnt2] = TL4[cnt2-1];
V3[cnt2] = V3[cnt2-1];
V4[cnt2] = V4[cnt2-1];
D2[cnt2] = D2[cnt2-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 cnt2 = 99 DownTo 0
{
if Index < D2[cnt2]+hh Then
{
TL_SetEnd(TL3[cnt2],sDate,sTime,V3[cnt2]);
TL_SetEnd(TL4[cnt2],sDate,sTime,V4[cnt2]);
}
}
}
###########################################33
고맙습니다. 수고하십시요.