커뮤니티
재문의 드립니다
2018-07-02 16:53:05
184
글번호 120230
<* 아래 58438 번 질의답변 관련입니다>
우선 성의있고 자세한 답변 너무 감사드립니다 ^^*
1, 답변해주신 수식을 적용해보니 "모든 추세선"이 제일 가는선으로 설정되어있는것같네요
"추세선창" 에서 수정을해도 결국은 다시 가는선으로 돌아오네요
이것을 모두 "제일 두꺼운 검은색선"으로 수식에서 수정해주시면 고맙겠습니다
2, 그리고 혹시 너무 번거롭지않으시다면 이수식을 시스템식이 아닌 지표식으로 수정도
가능할까요?
시스템식은 아직 제가 이해를 잘못하는 관계로 적용하는데 어려움이 있어서요
3, 그리고 아래 58438번 제질문의 원래 취지는
선물지수가 위아래 어느쪽으로든 또 어디에서든 변곡이 되고난후에 단순히 1포인트 까지
진행된 지점을 차트에서 표시하고싶은것이었습니다
위조건이 어떤 특별한 지점이나 지표가 확정되어있지않기때문에 수식을 만들기에
애매하고 불가능한것같긴합니다만...
혹시나해서 한번더 말씀드려봅니다 ㅎ
항상 수고하심에 다시한번 감사드립니다 !!!
답변 2
유로파54
2018-07-02 16:23:20
유로파54 님에 의해 삭제된 답변입니다.
예스스탁 예스스탁 답변
2018-07-03 08:53:48
안녕하세요
예스스탁입니다.
1,2
지표식은 수식에서 buy와 sell만 삭제하시고 사용하시면 됩니다.
추세선 굵기를 지정하게 외부변수로 처리해 드립니다.
0이 가장 얇고 6이 가장 두껍습니다.
Input:전환포인트(1),선굵기(6);
Var:j(0),upTr(100),dnTr(-100),trnd(0),
date11(0),date12(0),time11(0),time12(0),TL1(0),color(0);
Array:hiVal[10](0),loVal[10](0),hiBar[10](0),loBar[10](0);
for j = 1 to 9 {
loBar[j] = loBar[j] + 1;
hiBar[j] = hiBar[j] + 1;
}
if hiVal[0] <= H or hiVal[0] == 0 then
{
hiVal[0] = H;
hiBar[0] = 0;
}
else
{
hiBar[0] = hiBar[0] + 1;
}
if loVal[0] >= L or loVal[0] == 0 then
{
loVal[0] = L;
loBar[0] = 0;
}
else
{
loBar[0] = loBar[0] + 1;
}
if trnd != dnTr && hiVal[0] > H && hiVal[0]-전환포인트 > L then
trnd = dnTr;
else if trnd != upTr && loVal[0] < L && loVal[0]+전환포인트 < H then
trnd = upTr;
if trnd[1] == upTr and trnd == dnTr then
{
//SELL();
for j = 8 downto 1
{
hiVal[j+1] = hiVal[j];
hiBar[j+1] = hiBar[j];
}
hiVal[1] = hiVal[0];
hiBar[1] = hiBar[0];
hiVal[0] = H;
hiBar[0] = 0;
loVal[0] = L;
loBar[0] = 0;
date11 = date[loBar[1]]; //추세선 시작일. 전저점의 날짜
time11 = stime[loBar[1]]; //추세선 시작시간
Value11 = loVal[1]; //추세선 시작가격
date12 = date[hiBar[1]]; //추세선 종료일. 전고점의 날짜
time12 = stime[hiBar[1]]; //추세선 종료시간
Value12 = hiVal[1]; //추세선 종료가격
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetSize(TL1,선굵기);
}
if trnd[1] == dnTr and trnd == dnTr and
hiVal[1] < hiVal[0] and
hiVal[0]-전환포인트 > L then {
hiVal[1] = hiVal[0];
hiBar[1] = hiBar[0];
hiVal[0] = H;
hiBar[0] = 0;
loVal[0] = L;
loBar[0] = 0;
date12 = date[hiBar[1]]; //추세선 종료일
time12 = stime[hiBar[1]];
Value12 = hiVal[1];
TL_SetEnd(TL1, date12,time12,Value12);
}
if trnd[1] == dnTr and trnd == upTr then
{
//BUY();
for j = 8 downto 1
{
loVal[j+1] = loVal[j];
loBar[j+1] = loBar[j];
}
loVal[1] = loVal[0];
loBar[1] = loBar[0];
loVal[0] = L;
loBar[0] = 0;
hiVal[0] = H;
hiBar[0] = 0;
date11 = date[hiBar[1]];
time11 = stime[hiBar[1]];
Value11 = hiVal[1];
date12 = date[loBar[1]];
time12 = stime[loBar[1]];
Value12 = loVal[1];
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetSize(TL1,선굵기);
}
if trnd[1] == upTr and trnd == upTr and
loVal[1] > loVal[0] and
loVal[0]+전환포인트 < H then
{
loVal[1] = loVal[0];
loBar[1] = loBar[0];
loVal[0] = L;
loBar[0] = 0;
hiVal[0] = H;
hiBar[0] = 0;
date12 = date[loBar[1]];
time12 = stime[loBar[1]];
Value12 = loVal[1];
TL_SetEnd(TL1, date12,time12,Value12);
}
if trnd == upTr and loVal[2] > loVal[1] then{
TL_SetColor(TL1,BLUE);
color = blue;
}
else if trnd == dnTr and hiVal[2] < hiVal[1] then{
TL_SetColor(TL1,RED);
color = RED;
}
else
{
TL_SetColor(TL1,BLACK);
color = BLACK;
}
3
기존의 시스템 식으로 신호가 발생한 부분이
변곡이후에 처음 1포인트에 도달한 시점입니다.
수식의 "전환포인트"값 조절하시면 늘리거나 줄일수 있습니다.
고점 후 1포인트 하락은 파란색 수직선
저점 후 1포인트 상승은 빨간색 수직선으로 추가해 드립니다.
TL2와 TL3으로 추세선 추가해 드리므로 불필요하시면 수식내에서 삭제하시면 됩니다.
Input:전환포인트(1),선굵기(6);
Var : j(0),upTr(100),dnTr(-100),trnd(0),TL1(0),TL2(0),TL3(0);
var : date11(0),date12(0),time11(0),time12(0);
Array:hiVal[10](0),loVal[10](0),hiBar[10](0),loBar[10](0);
for j = 1 to 9 {
loBar[j] = loBar[j] + 1;
hiBar[j] = hiBar[j] + 1;
}
if hiVal[0] <= H or hiVal[0] == 0 then
{
hiVal[0] = H;
hiBar[0] = 0;
}
else
{
hiBar[0] = hiBar[0] + 1;
}
if loVal[0] >= L or loVal[0] == 0 then
{
loVal[0] = L;
loBar[0] = 0;
}
else
{
loBar[0] = loBar[0] + 1;
}
if trnd != dnTr && hiVal[0] > H && hiVal[0]-전환포인트 > L then
trnd = dnTr;
else if trnd != upTr && loVal[0] < L && loVal[0]+전환포인트 < H then
trnd = upTr;
if trnd[1] == upTr and trnd == dnTr then
{
//SELL();
TL2 = TL_New(sdate,stime,999999999,sdate,stime,0);
TL_SetColor(TL2,blue);
TL_SetSize(TL2,선굵기);
for j = 8 downto 1
{
hiVal[j+1] = hiVal[j];
hiBar[j+1] = hiBar[j];
}
hiVal[1] = hiVal[0];
hiBar[1] = hiBar[0];
hiVal[0] = H;
hiBar[0] = 0;
loVal[0] = L;
loBar[0] = 0;
date11 = date[loBar[1]]; //추세선 시작일. 전저점의 날짜
time11 = stime[loBar[1]]; //추세선 시작시간
Value11 = loVal[1]; //추세선 시작가격
date12 = date[hiBar[1]]; //추세선 종료일. 전고점의 날짜
time12 = stime[hiBar[1]]; //추세선 종료시간
Value12 = hiVal[1]; //추세선 종료가격
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,red);
TL_SetSize(TL1,선굵기);
}
if trnd[1] == dnTr and trnd == dnTr and
hiVal[1] < hiVal[0] and
hiVal[0]-전환포인트 > L then {
hiVal[1] = hiVal[0];
hiBar[1] = hiBar[0];
hiVal[0] = H;
hiBar[0] = 0;
loVal[0] = L;
loBar[0] = 0;
date12 = date[hiBar[1]]; //추세선 종료일
time12 = stime[hiBar[1]];
Value12 = hiVal[1];
TL_SetEnd(TL1, date12,time12,Value12);
}
if trnd[1] == dnTr and trnd == upTr then
{
//BUY();
TL2 = TL_New(sdate,stime,999999999,sdate,stime,0);
TL_SetColor(TL2,red);
TL_SetSize(TL2,선굵기);
for j = 8 downto 1
{
loVal[j+1] = loVal[j];
loBar[j+1] = loBar[j];
}
loVal[1] = loVal[0];
loBar[1] = loBar[0];
loVal[0] = L;
loBar[0] = 0;
hiVal[0] = H;
hiBar[0] = 0;
date11 = date[hiBar[1]];
time11 = stime[hiBar[1]];
Value11 = hiVal[1];
date12 = date[loBar[1]];
time12 = stime[loBar[1]];
Value12 = loVal[1];
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,blue);
TL_SetSize(TL1,선굵기);
}
if trnd[1] == upTr and trnd == upTr and
loVal[1] > loVal[0] and
loVal[0]+전환포인트 < H then
{
loVal[1] = loVal[0];
loBar[1] = loBar[0];
loVal[0] = L;
loBar[0] = 0;
hiVal[0] = H;
hiBar[0] = 0;
date12 = date[loBar[1]];
time12 = stime[loBar[1]];
Value12 = loVal[1];
TL_SetEnd(TL1, date12,time12,Value12);
}
즐거운 하루되세요
> 유로파54 님이 쓴 글입니다.
> 제목 : 재문의 드립니다
> <* 아래 58438 번 질의답변 관련입니다>
우선 성의있고 자세한 답변 너무 감사드립니다 ^^*
1, 답변해주신 수식을 적용해보니 "모든 추세선"이 제일 가는선으로 설정되어있는것같네요
"추세선창" 에서 수정을해도 결국은 다시 가는선으로 돌아오네요
이것을 모두 "제일 두꺼운 검은색선"으로 수식에서 수정해주시면 고맙겠습니다
2, 그리고 혹시 너무 번거롭지않으시다면 이수식을 시스템식이 아닌 지표식으로 수정도
가능할까요?
시스템식은 아직 제가 이해를 잘못하는 관계로 적용하는데 어려움이 있어서요
3, 그리고 아래 58438번 제질문의 원래 취지는
선물지수가 위아래 어느쪽으로든 또 어디에서든 변곡이 되고난후에 단순히 1포인트 까지
진행된 지점을 차트에서 표시하고싶은것이었습니다
위조건이 어떤 특별한 지점이나 지표가 확정되어있지않기때문에 수식을 만들기에
애매하고 불가능한것같긴합니다만...
혹시나해서 한번더 말씀드려봅니다 ㅎ
항상 수고하심에 다시한번 감사드립니다 !!!