커뮤니티
수식 부탁드립니다
2017-06-12 18:28:50
203
글번호 110301
안녕하세요.
아래수식에서 그림파일 참조하여 조건수정 부탁드립니다.
#,현재수식에 표시되는 고가,저가 텍스트 선긋기를 그림과 같이 끝까지 연장하는 선긋기로
수정하면 좋겠습니다.
#,연장선 긋기는 최근 한달전부터 현재까지만 표시되는 조건(그 이전은 현수식과 동일)으로
하면 좋겠습니다.(이때, 연장선 굵기 조절가능하면 좋겠습니다.
#,단),연장선 긋기 할때 이전에 고가,저가 또는 고가,고가. 저가,저가의 호가가 최근호가 와
동일가격으로 서로 겹치거나 +- 2틱 오차범위내 경우는(ex,46.180과46.200 이 근접한경우
작은수46.180으로 표기) 선긋기 색상을 검정색으로 표시하면 좋겠습니다.
#,연장선긋기 기간을 1개월 또는 2개월 등 으로 변수조절 가능하면 좋겠습니다.
$$,언제나 늘 감사합니다.
input : 텍스트소수점자리수(3);
Var:jjjjj(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),Tx(0),trnd(0),tx22(0);
var : TL11(0),TL22(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For jjjjj = 0 To 9
{
barArr[jjjjj] = barArr[jjjjj] + 1;
}
Condition1 = Highest(H,26) == H and lastHiVal <> H;
Condition2 = Lowest(L,26) == L and lastLoVal <> L;
If Condition1 Then lastHiVal = H;
If Condition2 Then lastLoVal = L;
// 전환점구분 null값으로 초기화;
turnPntBit = "";
If Condition1 and Condition2 Then
{
If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H,L);
barArr[1] = 0;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for jjjjj = 8 downto 1
{
valArr[jjjjj+1] = valArr[jjjjj];
barArr[jjjjj+1] = barArr[jjjjj];
turnPntArr[jjjjj+1] = turnPntArr[jjjjj];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H) or
(turnPntBit == "Lo" and valArr[1] > L))) Then
{
valArr[1] = IFF(turnPntBit == "Hi",H,L);
barArr[1] = 0;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
{
Tx = Text_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],NumToStr(valArr[2],텍스트소수점자리수));
if turnPntArr[1][0] == "Hi" then
Text_SetStyle(tx,0,0);
Else
Text_SetStyle(tx,0,1);
//TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
PlaySound("C:예스트레이더dataSoundalert.wav");
var1 = valArr[1];
var2 = valArr[2];
var3 = valArr[3];
TL11 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[3],sDate[barArr[1]],sTime[barArr[1]],valArr[3]);
TL_SetSize(TL11,1);
if turnPntArr[1][0] == "Hi" Then
TL_SetColor(TL11,RED);
Else
TL_SetColor(TL11,blue);
}
if turnPntArr[1][0] == "Lo" Then
trnd = -1;
if turnPntArr[1][0] == "hi" Then
trnd = 1;
}
}
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
TL_SetEnd(TL11,sDate[barArr[1]],sTime[barArr[1]],valArr[3]);
Text_Delete(tx22);
tx22 = Text_New(sDate[barArr[1]],sTime[barArr[1]],valArr[1],NumToStr(valArr[1],텍스트소수점자리수));
TL_Delete(TL22);
if turnPntArr[1][0] == "Lo" Then{
TL22 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate,sTime,valArr[2]);
TL_SetSize(TL22,1);
TL_SetColor(TL22,RED);
}
if turnPntArr[1][0] == "hi" Then{
TL22 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate,sTime,valArr[2]);
TL_SetSize(TL22,1);
TL_SetColor(TL22,blue);
}
TL_SetSize(TL1[1],1);
TL_SetColor(TL1[1],BLACK);
-끝-
답변 1
예스스탁 예스스탁 답변
2017-06-12 11:17:08
안녕하세요
예스스탁입니다.
문의하신 내용은 식을 작성해 보는데 시간이 많이 걸려 식을 작성해 드리기 어렵습니다.
업무상 하나의 식작성에 많은 시간이 요구되는 내용은 저희가 작성해 드릴수 없습니다.
도움을 드리지 못해 죄송합니다.
즐거운 하루되세요
> 골든키 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다
> 안녕하세요.
아래수식에서 그림파일 참조하여 조건수정 부탁드립니다.
#,현재수식에 표시되는 고가,저가 텍스트 선긋기를 그림과 같이 끝까지 연장하는 선긋기로
수정하면 좋겠습니다.
#,연장선 긋기는 최근 한달전부터 현재까지만 표시되는 조건(그 이전은 현수식과 동일)으로
하면 좋겠습니다.(이때, 연장선 굵기 조절가능하면 좋겠습니다.
#,단),연장선 긋기 할때 이전에 고가,저가 또는 고가,고가. 저가,저가의 호가가 최근호가 와
동일가격으로 서로 겹치거나 +- 2틱 오차범위내 경우는(ex,46.180과46.200 이 근접한경우
작은수46.180으로 표기) 선긋기 색상을 검정색으로 표시하면 좋겠습니다.
#,연장선긋기 기간을 1개월 또는 2개월 등 으로 변수조절 가능하면 좋겠습니다.
$$,언제나 늘 감사합니다.
input : 텍스트소수점자리수(3);
Var:jjjjj(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),Tx(0),trnd(0),tx22(0);
var : TL11(0),TL22(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For jjjjj = 0 To 9
{
barArr[jjjjj] = barArr[jjjjj] + 1;
}
Condition1 = Highest(H,26) == H and lastHiVal <> H;
Condition2 = Lowest(L,26) == L and lastLoVal <> L;
If Condition1 Then lastHiVal = H;
If Condition2 Then lastLoVal = L;
// 전환점구분 null값으로 초기화;
turnPntBit = "";
If Condition1 and Condition2 Then
{
If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H,L);
barArr[1] = 0;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for jjjjj = 8 downto 1
{
valArr[jjjjj+1] = valArr[jjjjj];
barArr[jjjjj+1] = barArr[jjjjj];
turnPntArr[jjjjj+1] = turnPntArr[jjjjj];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H) or
(turnPntBit == "Lo" and valArr[1] > L))) Then
{
valArr[1] = IFF(turnPntBit == "Hi",H,L);
barArr[1] = 0;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
{
Tx = Text_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],NumToStr(valArr[2],텍스트소수점자리수));
if turnPntArr[1][0] == "Hi" then
Text_SetStyle(tx,0,0);
Else
Text_SetStyle(tx,0,1);
//TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
PlaySound("C:예스트레이더dataSoundalert.wav");
var1 = valArr[1];
var2 = valArr[2];
var3 = valArr[3];
TL11 = TL_New(sDate[barArr[3]],sTime[barArr[3]],valArr[3],sDate[barArr[1]],sTime[barArr[1]],valArr[3]);
TL_SetSize(TL11,1);
if turnPntArr[1][0] == "Hi" Then
TL_SetColor(TL11,RED);
Else
TL_SetColor(TL11,blue);
}
if turnPntArr[1][0] == "Lo" Then
trnd = -1;
if turnPntArr[1][0] == "hi" Then
trnd = 1;
}
}
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
TL_SetEnd(TL11,sDate[barArr[1]],sTime[barArr[1]],valArr[3]);
Text_Delete(tx22);
tx22 = Text_New(sDate[barArr[1]],sTime[barArr[1]],valArr[1],NumToStr(valArr[1],텍스트소수점자리수));
TL_Delete(TL22);
if turnPntArr[1][0] == "Lo" Then{
TL22 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate,sTime,valArr[2]);
TL_SetSize(TL22,1);
TL_SetColor(TL22,RED);
}
if turnPntArr[1][0] == "hi" Then{
TL22 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate,sTime,valArr[2]);
TL_SetSize(TL22,1);
TL_SetColor(TL22,blue);
}
TL_SetSize(TL1[1],1);
TL_SetColor(TL1[1],BLACK);
-끝-
다음글
이전글