예스스탁
예스스탁 답변
2021-05-18 10:46:28
안녕하세요
예스스탁입니다.
1
해당 수식은 첨부된 그림과 같이 추세선및 신호가 발생하고 있습니다.
차트에 지정한 날짜의 봉들이 있는지 확인하시기 바랍니다.
해당 수식은 추세선의 시작지점과 종료지점의 날짜와 시간, 가격을 모두 지정해서 출력하게 됩니다.
차트에 지정한 날짜와 시간의 봉이 없으면 그려질수 없습니다.
2
if sDate == 매수종료일 and sTime == 매수종료시간 then
해당추세선은 종료지점날짜와 시간이 지정되기에 그이전이나 이후에 계속 출력하는 것은 의미가 없습니다.
추세선이 보마다 동작해서 동일지점으로 계속 그려지면 중첩되서 보이지 않게 됩니다.
구현하시는 내용에서는 종료시점에 한번만 출력한 후에 사용하셔야 합니다.
3
원하시는 고점과 저점이 어떤 내용인지 알수 없습니다.
날짜와 시간, 가격을 직접 지정하시면 작성하신 수식이 맞습니다.
수식내에서 별도로 고점과 저점을 계산해야 한다면 해당 고점과 저점에 대한 정확한 내용이 있어야 합니다.
4
예 추세선함수는 종목검색을 제외하면 모든식에서 사용이 가능합니다.
5
IF sdate > 매수종료일 and stime > 매수종료시간 and CrossUp(C,매수추세선값) TheN{
BuY("B");
위와 같이 지정하시면 매일 지정한 매수종료시간이후에만 신호가 발생하게 됩니다.
아래와 같이 종료지점을 체크후 각 진입이 시작하게 하셔야 합니다.
input : 매수시작일(20210512),매수시작시간(230000),매수시작값(0.83000);
input : 매수종료일(20210515),매수종료시간(000000),매수종료값(0.82780);
input : 매도시작일(20210514),매도시작시간(030000),매도시작값(0.81950);
input : 매도종료일(20210514),매도종료시간(050000),매도종료값(0.81950);
var : 매수추세선(0), 매도추세선(0),BuyStart(False);
var : 매수추세선값(0), 매도추세선값(0),SellStart(False);
var : 매수표시(0), 매도표시(0);
#-------------------------------------
# 매수추세선 그리기
#-------------------------------------
if sDate == 매수종료일 and sTime == 매수종료시간 then
{
매수추세선 = TL_New(매수시작일,매수시작시간,매수시작값,매수종료일,매수종료시간,매수종료값);
TL_SetExtLeft(매수추세선,True);
TL_SetExtRight(매수추세선,True);
BuyStart = true;
}
if BuyStart == true Then
{
매수추세선값 = TL_Getvalue(매수추세선,sDate,sTime);
Text_Delete(매수표시);
매수표시 = Text_New(sDate,sTime,매수추세선값+0.0010,NumToStr(매수추세선값,5));
#-------------------------------------
# 매수
#-------------------------------------
IF CrossUp(C,매수추세선값) TheN
{
BuY("B");
}
}
#-------------------------------------
# 매도추세선 그리기
#-------------------------------------
if sDate == 매도종료일 and sTime == 매도종료시간 then
{
매도추세선 = TL_New(매도시작일,매도시작시간,매도시작값,매도종료일,매도종료시간,매도종료값);
TL_SetExtLeft(매도추세선,True);
TL_SetExtRight(매도추세선,True);
SellStart = true;
}
if SellStart == true Then
{
매도추세선값 = TL_Getvalue(매도추세선,sDate,sTime);
Text_Delete(매도표시);
매도표시 = Text_New(sDate,sTime,매도추세선값-0.0010,NumToStr(매도추세선값,5));
#-------------------------------------
# 매도
#-------------------------------------
IF CrossDown(C,매도추세선값) TheN
{
Sell("S");
}
}
즐거운 하루되세요
> 양치기 님이 쓴 글입니다.
> 제목 : 시스템식 부탁드립니다.
> 안녕하세요.
아래와 같이 추세선을 그리고 매수, 매도하는 시스템식을 작성해 주셨는데요.
아래 시스템을 차트에 적용해봐도 추세선이 그려지지 않습니다.
금일은 5월 17일이고 매수시작일(5월 12일)과 매도종료일(5월 15일)이 과거여서 추세선이 그려지지 않는 것인가요?
무엇이 문제인지 모르겠습니다.
1)
input : 매수시작일(20210512),매수시작시간(230000),매수시작값(0.83000);
input : 매수종료일(20210515),매수종료시간(000000),매수종료값(0.82780);
input : 매도시작일(20210514),매도시작시간(030000),매도시작값(0.81950);
input : 매도종료일(20210514),매도종료시간(050000),매도종료값(0.81950);
var : 매수추세선(0), 매도추세선(0);
var : 매수추세선값(0), 매도추세선값(0);
var : 매수표시(0), 매도표시(0);
#-------------------------------------
# 매수추세선 그리기
#-------------------------------------
if sDate == 매수종료일 and sTime == 매수종료시간 then
{
매수추세선 = TL_New(매수시작일,매수시작시간,매수시작값,매수종료일,매수종료시간,매수종료값);
TL_SetExtLeft(매수추세선,True);
TL_SetExtRight(매수추세선,True);
매수추세선값 = TL_Getvalue(매수추세선,sDate,sTime);
}
if 매수추세선값 > 0 Then
{
Text_Delete(매수표시);
매수표시 = Text_New(sDate,sTime,매수추세선값+0.0010,NumToStr(매수추세선값,5));
#-------------------------------------
# 매수
#-------------------------------------
IF CrossUp(C,매수추세선값) TheN{
BuY("B");
}
}
#-------------------------------------
# 매도추세선 그리기
#-------------------------------------
if sDate == 매도종료일 and sTime == 매도종료시간 then
{
매도추세선 = TL_New(매도시작일,매도시작시간,매도시작값,매도종료일,매도종료시간,매도종료값);
TL_SetExtLeft(매도추세선,True);
TL_SetExtRight(매도추세선,True);
매도추세선값 = TL_Getvalue(매도추세선,sDate,sTime);
}
if 매도추세선값 > 0 Then
{
Text_Delete(매도표시);
매도표시 = Text_New(sDate,sTime,매도추세선값-0.0010,NumToStr(매도추세선값,5));
#-------------------------------------
# 매도
#-------------------------------------
IF CrossDown(C,매도추세선값) TheN{
Sell("S");
}
}
도움 부탁드립니다.
2)
그리고 추세선을 그릴때 꼭 아래와 같이 매수종료일과 매수종료시간을 체크해야 하나요?
if sDate == 매수종료일 and sTime == 매수종료시간 then
{
매수추세선 = TL_New(매수시작일,매수시작시간,매수시작값,매수종료일,매수종료시간,매수종료값);
TL_SetExtLeft(매수추세선,True);
TL_SetExtRight(매수추세선,True);
매수추세선값 = TL_Getvalue(매수추세선,sDate,sTime);
}
3)
내가 원하는 고점과 고점 또는 저점과 저점을 연결하는 추세선을 수식을 사용하여 그리고 싶습니다. 설명 좀 부탁드립니다.
4)
TL_NEW 함수는 지표랑 시스템에서 모두 사용 할수 있나요?
5) 추세선을 수식으로 그리고 매매시 추세선 종료일 이후에만 매매하고 싶습니다.
#-------------------------------------
# 매수
#-------------------------------------
IF sdate > 매수종료일 and stime > 매수종료시간 and CrossUp(C,매수추세선값) TheN{
BuY("B");
}
위와 같이 코딩하면 되나요?
도움 부탁드립니다.
감사합니다.