답변완료
수식 이해 도와주세요~
수식 공부하다가 이해가 잘 안가서 질문 좀 드리겠습니다.
수식 내용은 볼밴 상단과 하단 돌파와 10틱 단위로 차트 표시에 관한 내용입니다.
질문은 수식에 !!!! 표시로 작성하였습니다.
매번 감사드립니다
input : Period(20),dv(0.4);
var : 틱단위(10),글자크기1(15),글자크기2(11);
var : BBup(0),BBmd(0),BBdn(0);
var : TX(0),T(0),PP(0),TX1(0);
var : hh(0),ll(0),S(0);
BBup = BollBandUp(Period,dv);
BBmd = ma(c,Period);
BBdn = BollBandDown(Period,dv);
if CrossUp(c,BBup) Then
{
T = 1;
S = C;
tx = Text_New(sDate,sTime,L,"▲");
Text_SetStyle(tx,2,0);
Text_SetSize(tx,18);
Text_SetColor(tx,Red);
hh = 0;
Plot1(bbup,"bb",Tomato);
}
else if CrossDown(c,BBdn) Then
{
T = -1;
S = C;
tx = Text_New(sDate,sTime,H,"▼");
Text_SetStyle(tx,2,1);
Text_SetSize(tx,18);
Text_SetColor(tx,Turquoise);
ll = 0;
Plot2(bbdn,"bb",LightCyan);
}
Else
!!!!!! if~ else if ~ else 문법은 if 가 false 일때 세분화 작업으로 알고있습니다. else if 에서 크로스 다운은 이해가 가는데 마지막 else 는 어떤 경우를 말하는건지 모르겠습니다.
크로스 업과 크로스 다운도 아닌 경우를 말하는건가요? 그런데 else 이하를 보면 각각 크로스업일경우 다운일경우로 다시 나뉘는거 보면 그런거 같지도 않아 보입니다 헷갈리네요.
{
if T == 1 Then
{
if hh == 0 or (hh > 0 and h > hh) Then
hh = h;
pp = Floor((hh-S)/(PriceScale*틱단위));
!!!!!! 호가단위에 틱수를 곱해서 총 가격을 나타내는거 같습니다. hh는 돌파봉 발생 후 높은 h값을 갱신하는거고 그 값에서 돌파 당시의 종가를 뺀게 hh-s 이 부분 맞나요?~
pp 에 해당하는 내용을 해석해 주셨으면 감사하겠습니다
if pp > pp[1] Then
{
tx = Text_New(sdate,stime,H+PriceScale*3,NumToStr(pp*틱단위,0)+"틱");
!!!!!!"if pp> pp[1] then" , "pp * 틱단위" 의 의미가 궁금합니다.
Text_SetStyle(tx,2,1);
Text_SetColor(tx,White);
Text_SetSize(tx,글자크기1);
}
}
if T == -1 Then
{
if ll == 0 or (ll > 0 and l < ll) Then
ll = l;
pp = Floor((S-ll)/(PriceScale*틱단위));
if pp > pp[1] Then
{
tx = Text_New(sdate,stime,L-PriceScale*3,NumToStr(pp*틱단위,0)+"틱");
Text_SetStyle(tx,2,0);
Text_SetSize(tx,글자크기2);
}
}
}
2024-08-21
564
글번호 182741
지표
답변완료
정배열 이후 n번째 신호 종목
## 거래량 정배열 20>60>120 이후 첫번째 또는 두번째 매수신호 검색원합니다.
거래량정배열 조건 && 1번째 또는 2번째 매수신호로 검색된 종목은 있는데
아래 수식 조건으로는 검색이 안되어 도움 요청합니다. 항상 감사 드립니다.
CountSince(거래량 정배열 조건 ,테슬라매수)==1 or 2
input :Period(5),Period2(6),MidPeriod(20),LongPeriod(60),FarPeriod(120);
var : 테슬라매수(False),Condition1(False),count(0),Cond(False);
var : 조건(False),조건2(False),cnt(0);
var3 = ma( (DayClose[1]+DayOpen[1]+DayHigh[1])/3,Period);
var4 = ma((DayClose+DayHigh)/2,Period2);
테슬라매수 = CrossUp(var4,var3);
var5 = ma(v,Period);
var6 = ma(v,MidPeriod);
var7 = ma(v,LongPeriod);
var8 = ma(v,FarPeriod);
Condition1 = var6 > var7 and var7 > var8 ;
if sDate != sDate[1] Then
{
cnt = 0;
count = 0;
}
if Condition1 == true and Condition1[1] == False Then
{
cnt = cnt+1;
}
조건 = cnt == 1;
cond = 조건 && 조건[1] ==False ;
if 테슬라매수 == true Then
{
count = count+1;
}
조건2 = count ==1 or count ==2;
if cond == true and 조건2 && 조건2[1] ==False Then
Find(1);
2024-08-21
638
글번호 182720
종목검색
답변완료
수식에 표시 관련해서 여쭤보겠습니다
추세선에 텍스트 표시 하나 여쭤보겠습니다
질문은 수식안에 !!!!표시로 작성하였습니다
질문은 총 2개 입니다
감사합니다
var : n(15);
var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TX(0),tx1(0),TL1(0);
if CountIf(H >= L*1.11,n) >= 1 Then
{
#"최근봉"만 표시되게 하기위해 "직전에서 출력된 추세선과 텍스트는 삭제"
#n개봉 최고가와 최고가위치(몇봉전인지) 계산
#n개봉 최저가와 최저가위치(몇봉전인지) 계산
hh = 0;
hb = 0;
ll = 0;
lb = 0;
For cnt = 0 to n-1
{
if hh == 0 or (hh > 0 and h[cnt] > hh) Then
{
hh = h[cnt];
hb = cnt;
}
if ll == 0 or (ll > 0 and l[cnt] < ll) Then
{
ll = l[cnt];
lb = cnt;
}
}
if (lb > hb and hh >= ll*1.24) or (lb < hb and ll <= hh*0.80) Then
{
//TL_Delete(TL);
// Text_Delete(TX);
//TL_Delete(TL1);
if (hb < lb and abs(hb-lb) <= 18) or (hb > lb and abs(hb-lb) <= 9) Then
{ #상향,하향 일때 봉갯수 조건
TL = TL_New(sDate[hb],sTime[hb],hh,sDate[lb],sTime[lb],ll);
TL_SetDrawMode(tl,0);
TL_SetExtRight(tl,true);
#20개봉 수평선
TL1 = TL_New(sDate[n-1],sTime[n-1],hh,sDate[0],sTime[0],hh);
TL_SetDrawMode(tl1,0);
TL_SetColor(tl1,Tomato);
TL_SetSize(tl1,0);
!!!!아래 조건을 작성해봤는데 봉갯수 5개 이하면 다른 컬러로 하려고 합니다. 이전 추세선 (봉갯수 9개 이하) 과 겹치면서 표시가 모호해지는데 방법이 있을까요? 상위 if문에서 abs(hb-lb) >5 and abs(hb-lb)<=9 으로 작성해봤는데 제대로 나오지가 않습니다. 또한 수정의 신속함을 위해서 상위 if 문은 그대로 둔채로 수정이 가능하게 해주실 수 있을까요??
if (hb > lb and abs(hb-lb) <= 5) Then
{ tl=tl_new(sDate[hb],sTime[hb],hh,sDate[lb],sTime[lb],ll);
TL_SetDrawMode(tl,0);
TL_SetStyle(tl,2);
TL_SetColor(tl,Green);
!!!! TX1 = 이 부분에 고점 저점간의 등락률을 표시하고 싶습니다.
}
//TL_Delete(TL1);
#최고가가 더 가까우면 빨강 아니면 파랑
if lb > hb Then
{
TL_SetColor(TL,Pink);
TL_SetStyle(tl,2);
}
Else
{
TL_SetColor(TL,LightBlue);
TL_SetStyle(tl,2);
}
TX = Text_New(TL_GetEndDate(TL),TL_GetEndTime(TL),TL_GetendVal(TL),NumToStr(abs(hb-lb),0));
Text_SetSize(tx,12);
}
}
2024-08-21
902
글번호 182719
지표