예스스탁
예스스탁 답변
2023-05-19 15:53:55
안녕하세요
예스스탁입니다.
1
볼린져밴드 50개봉중 최대가격, 최소가격이 어떤 라인기준인지 알수 없습니다.
만약 상단선과 하단선 기준이면 돌파가 발생할 수 없으므로
중심선의 50개봉 최대값과 최저값으로 작성해 드립니다.
input : Period(20);
var : BBmd(0),tx(0);
BBmd = ma(c,Period);
var1 = highest(bbmd,50);
var2 = lowest(bbmd,50);
Plot1(var1);
plot2(Var2);
if CrossUp(bbmd,var1) Then
{
tx = Text_New(sDate,sTime,H,"●");
Text_SetStyle(tx,2,1);
Text_SetColor(tx,Red);
}
if CrossDown(bbmd,var2) Then
{
tx = Text_New(sDate,sTime,L,"●");
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Blue);
}
2
input : 타주기분(30),n(5),Nday(2);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),hv(0),lv(0);
var : t(0),tl1(0),tl2(0);
Array : hh[20](0),ll[20](0);
var : JD(0),count(0),ndate(0),Startdate(0);
JD = DateToJulian(CurrentDate);
count = 0;
For cnt = 1 to 30
{
ndate = JulianToDate(JD-cnt);
if (DayOfWeek(ndate) >= 1 and DayOfWeek(ndate) <= 5) Then
{
count = count+1;
if count == Nday Then
{
Startdate = ndate;
}
}
}
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
var1 = sDate;
Var2 = sTime;
for cnt = 19 downto 1
{
hh[cnt] = hh[cnt-1][1];
ll[cnt] = ll[cnt-1][1];
}
hh[0] =h;
ll[0] =l;
t = 1;
}
Else
t = 2;
if hh[0] > 0 and h > hh[0] Then
hh[0] = h;
if ll[0] > 0 and l < ll[0] Then
ll[0] = l;
if hh[n-1] > 0 and ll[n-1] > 0 and sDate >= startdate Then
{
hv = hh[0];
lv = ll[0];
For cnt = 0 to N-1
{
if hv == 0 or (hv > 0 and hh[cnt] > hv) Then
hv = hh[cnt];
if lv == 0 or (lv > 0 and ll[cnt] < lv) Then
lv = ll[cnt];
}
if t == 1 Then
{
tl1 = TL_New(sDate,sTime,hv,NextBarSdate,NextBarStime,hv);
TL_SetExtRight(tl1,true);
TL_SetColor(tl1,Red);
TL_SetDrawMode(tl1,0);
tl2 = TL_New(sDate,sTime,lv,NextBarSdate,NextBarStime,lv);
TL_SetExtRight(tl2,true);
TL_SetColor(tl2,Blue);
TL_SetDrawMode(tl2,0);
}
Else
{
TL_SetBegin(tl1,var1,Var2,hv);
TL_SetEnd(tl1,NextBarSdate,NextBarStime,hv);
TL_SetBegin(tl2,var1,Var2,lv);
TL_SetEnd(tl2,NextBarSdate,NextBarStime,lv);
}
}
}
즐거운 하루되세요
> 요타 님이 쓴 글입니다.
> 제목 : 수평선 두개 좀 부탁 드립니다.
> * 좋은 주말 되십시요
* 수식 2개좀 요청 드립니다.
1번 <요청사항>
볼린져밴드 50개봉중 최대가격, 최소가격 수평선 2개를 표시 하고
볼린져밴드 중심선이 최대가격, 최소가격 돌파 및 하락시 밴드선에
점찍기 및 수치 표시 // +NumToStr()
## 수평선 (2개)
--------------------------------------------------------
TL1 = TL_New(sDate,sTime,C,sDate,sTime,C);
--------------------------------------------------------
## 점찍기
if CrossUp(var1,var2) Then
{
tx = Text_New(sDate,sTime,H,"●");
Text_SetStyle(tx,2,1);
Text_SetColor(tx,Red);
}
2번 <요청사항>
1분봉 차트에서 2일전(변수) 시가 부터 시작 해서
30분봉 5개(변수)의 최고가와 최저가 수평선 두개 씩 나오게 부탁 드립니다.
즉 2일전 시작가 부터 시작 해서 30분봉 기준 5개봉 수평선 두개(최고가, 최저가)
또 이어서 30분봉 기준 5개봉중 최고가 최저가 두줄(겹처도됨)
또 이어서 30분봉 기준 5개봉중 최고가 최저거 두줄 ...현재가 까지 부탁 드립니다.
수평선은 아래 형식으로 부탁 드리고 겹처도 상관없습니다.
TL = TL_New(sDate[100],sTime[100],Var13,sDate,sTime,Var13);
* 매번 고맙 습니다.