예스스탁
예스스탁 답변
2024-12-26 14:29:46
안녕하세요
예스스탁입니다.
Input : 전환(0.15);
Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분("");
Array:고[10,4](0),저[10,4](0);
var : box(0), TL(0),TX(0),TX2(0),ss("");
HH = H;
LL = L;
If Index == 0 Then
{
고[1,1] = HH;
고[1,2] = 0;
고[1,3] = sDate;
고[1,4] = sTime;
저[1,1] = LL;
저[1,2] = 0;
저[1,3] = sDate;
저[1,4] = sTime;
}
If Index > 0 Then
{
hiBar = hiBar + 1;
loBar = loBar + 1;
}
If HH[hiBar] < HH Then hiBar = 0;
If LL[loBar] > LL Then loBar = 0;
Condition1 = 저[1,1]+전환 <= HH and hiBar == 0;
Condition2 = 고[1,1]-전환 >= LL and loBar == 0;
처리구분 = "";
If Condition1 and Condition2 Then
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
ss = "매▼도";
tx2 = Text_New(고[1,3],고[1,4],고[1,1],ss);
Text_SetStyle(tx2,2,1);
Text_SetColor(tx2,Cyan);
Text_SetSize(tx2,20);
}
Else If 고[1,1] < HH[hiBar] Then
{
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
ss = ss+"★";
Text_SetString(tx2,ss);
Text_SetLocation(tx2,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
Plot1(고[1,1]);
NoPlot(2);
}
If 처리구분 == "저점처리" Then
{
If 최종꼭지점 == "고점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
ss = "매▲수";
tx2 = Text_New(저[1,3],저[1,4],저[1,1],ss);
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,Lime);
Text_SetSize(tx2,20);
}
Else If 저[1,1] > LL[loBar] Then
{
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
ss = ss+"★";
Text_SetString(tx2,ss);
Text_SetLocation(tx2,저[1,3],저[1,4],저[1,1]);
}
최종꼭지점 = "저점";
Plot2(저[1,1]);
NoPlot(1);
}
///////////////////////////////////////////////////////////////
input : 글꼴크기(30), 투명도(100);
var : GridID(0), 텍스트(""), 상태(0), 색상(0);
GridID = Grid_New(5, 1, 1, White, White, 1, White, 1);
Grid_SetTransparency(GridID,투명도);
# 그리드 셀 값 입력
if( LastBarOnChart() == 1 ) Then {
# 텍스트 색상 지정
if 상태 == 1 Then
색상 = Red;
If 상태 == 2 Then
색상 = Orange;
If 상태 == 3 Then
색상 = Blue;
If 상태 == 4 Then
색상 = Lime;
if 상태 == 0 Then
색상 = LightGray;
Grid_Cell(GridID,0,0,텍스트,0,0,White,색상);
Grid_CellSetTextHAlign(GridID,0,0, 2);
Grid_CellSetTextVAlign(GridID,0,0, 2);
Grid_CellSetTextSize(GridID, 0, 0, 글꼴크기);
Grid_CellSetTextBold(GridID, 0, 0, true);
}
Else
{텍스트 = ss; 상태 = 0;}
즐거운 하루되세요
> 아이덜 님이 쓴 글입니다.
> 제목 : 도사님 도움부탁드려요.
> 1. 전환수치에 따라 텍스트가 찍히고나서 그후,
첫번째갱신은"매▲수★"
두번째 갱신되었을때 "매▲수★★"
세번째 갱신되었을때 "매▲수★★★" ,
매도는반대 "매▼도★" , "매▼도★★" , "매▼도★★★" 추가해주세요.
2. 아래수식 grid를 이용해서 별모양 1개 ~ 3개 찍힐시 텍스트 삽입추가해주세요.
( 차트에서 "매▲수★" 기타등등 찍힐때, grid로 "텍스트(글자변경가능하게)" 보기위함)
※ (그리드) 신호발생한 캔들에 "매▲수★"~ "매▲수★★★"찍히면,
다음봉 캔들종가까지 그리드텍스트를 뛰움. 안될시 기본으로.
※ 1번,2번수식을 하나의 차트로 합성해주세요.
input : 글꼴크기(30), 투명도(100);
var : GridID(0), 텍스트(""), 상태(0), 색상(0);
GridID = Grid_New(5, 1, 1, White, White, 1, White, 1);
Grid_SetTransparency(GridID,투명도);
# 그리드 셀 값 입력
if( LastBarOnChart() == 1 ) Then {
# 텍스트 색상 지정
if 상태 == 1 Then
색상 = Red;
If 상태 == 2 Then
색상 = Orange;
If 상태 == 3 Then
색상 = Blue;
If 상태 == 4 Then
색상 = Lime;
if 상태 == 0 Then
색상 = LightGray;
Grid_Cell(GridID,0,0,텍스트,0,0,White,색상);
Grid_CellSetTextHAlign(GridID,0,0, 2);
Grid_CellSetTextVAlign(GridID,0,0, 2);
Grid_CellSetTextSize(GridID, 0, 0, 글꼴크기);
Grid_CellSetTextBold(GridID, 0, 0, true);
}
Else
{텍스트 = "신호 없음"; 상태 = 0;}
//////////////////////////////////////////////////////////////////////////////////////
Input : 전환(0.15);
Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분("");
Array:고[10,4](0),저[10,4](0);
var : box(0), TL(0),TX(0),TX2(0);
HH = H;
LL = L;
If Index == 0 Then
{
고[1,1] = HH;
고[1,2] = 0;
고[1,3] = sDate;
고[1,4] = sTime;
저[1,1] = LL;
저[1,2] = 0;
저[1,3] = sDate;
저[1,4] = sTime;
}
If Index > 0 Then
{
hiBar = hiBar + 1;
loBar = loBar + 1;
}
If HH[hiBar] < HH Then hiBar = 0;
If LL[loBar] > LL Then loBar = 0;
Condition1 = 저[1,1]+전환 <= HH and hiBar == 0;
Condition2 = 고[1,1]-전환 >= LL and loBar == 0;
처리구분 = "";
If Condition1 and Condition2 Then
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
tx2 = Text_New(고[1,3],고[1,4],고[1,1],"매▼도");
Text_SetStyle(tx2,2,1);
Text_SetColor(tx2,Cyan);
Text_SetSize(tx2,20);
}
Else If 고[1,1] < HH[hiBar] Then
{
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
Text_SetLocation(tx2,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
Plot1(고[1,1]);
NoPlot(2);
}
If 처리구분 == "저점처리" Then
{
If 최종꼭지점 == "고점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
tx2 = Text_New(저[1,3],저[1,4],저[1,1],"매▲수");
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,Lime);
Text_SetSize(tx2,20);
}
Else If 저[1,1] > LL[loBar] Then
{
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
Text_SetLocation(tx2,저[1,3],저[1,4],저[1,1]);
}
최종꼭지점 = "저점";
Plot2(저[1,1]);
NoPlot(1);
}