답변완료
추세선 crossup
전에 문의했던 추세선 돌파가 잘 안나와서 재질문 드립니다
추세선 연장을 한 상태이면 추세선의 시작점, 끝점을 이은 선만이 아닌 연장된 선까지 해당되는게 아닌가요?
제가 이해를 제대로 못한건지 뜻하는대로 잘 안나와서 여쭤봅니다
스샷을 첨부했고 수식은 아래와 같습니다
스샷을 보시면 2번째 추세선을 가장 긴 장대양봉의 종가가 돌파를 한 상태인데 표시가 안나오네요. 전 봉의 종가는 추세선 아래에 있었고요. 그럼 돌파의 의미가 맞지 않나요?~
crossup(c,value1) 대신에 if c>value1 and c[1]<value1 then 으로도 해봤는데 안나오네요 ㅠㅠ...
일전에 plot 으로 표현했다가 점그래프가 너무 작게 나와서 텍스트로 다시 수정해주셨는데 (txx 부분)
한번 검토 해주셨으면 감사하겠습니다
+추가로 하나 부탁드려도 될까요
두개의 상향 추세선 (lb > hb) 의 시작점 사이가 n봉 (10봉 이상일때) 고점 갱신 라인을, 하향 추세선 (lb < hb) 의 시작점 사이가 20봉 이상일때 고점 라인을 나타내는것도 가능할까요?
감사합니다
var : n(18);
var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TX(0),tx1(0),TL1(0),tl2(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;
}
// plot1(hh);
if ll == 0 or (ll > 0 and l[cnt] < ll) Then
{
ll = l[cnt];
lb = cnt;
}
// Plot4(ll,"ll",LightGreen);
// TL2 = TL_New(sDate[n-1],sTime[n-1],hh,sDate[0],sTime[0],hh);
// TL_SetColor(tl2,Yellow);
}
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);
#최고가가 더 가까우면 빨강 아니면 파랑
if lb > hb Then
{
TL_SetColor(TL,Pink);
TL_SetStyle(tl,2);
}
Else
{
TL_SetColor(TL,LightBlue);
TL_SetStyle(tl,2);
}
#최고가 이후 최저가 발생했고 5봉이내
#등락률
if (hb > lb and abs(hb-lb) <= 5) Then
{
TL_SetColor(tl,Yellow);
TX1 = text_new(sDate,sTime,LL,NumToStr((ll-hh)/hh*100,0));
Text_SetStyle(tx1,2,0);
}
//TL_Delete(TL1);
// TX = Text_New(TL_GetEndDate(TL),TL_GetEndTime(TL),TL_GetendVal(TL),NumToStr(abs(hb-lb),0));
Text_SetSize(tx,12);
}
}
}
var : txx(0);
#돌파 텍스트 표시
if TL_GetValue(TL,sDate,stime) > 0 then
{
value1 = TL_GetValue(TL,sDate,stime);
if crossup(c,value1) Then
{
txx = Text_New(sDate,sTime,L,"●");
Text_SetColor(txx,LightGreen);
Text_SetSize(txx,15);
Text_SetStyle(txx,2,0);
}
}
#추세선값 상향돌파
/*
if TL_GetValue(TL,sDate,stime) > 0 then
{
value1 = TL_GetValue(TL,sDate,stime);
if CrossUp(l,Value1) Then
plot3(high,"tlcross",LightGreen);
}
2024-08-26
783
글번호 182818
지표
답변완료
문의드립니다
input : tenkan_len(9),tenkan_mult(2),kijun_len(26),kijun_mult(4),spanB_len(52),spanB_mult(6),offset(26);
var : ATR1(0),up1(0),dn1(0),upper1(0),lower1(0),os1(0),spt1(0),max1(0),min1(0),tenkan(0);
var : ATR2(0),up2(0),dn2(0),upper2(0),lower2(0),os2(0),spt2(0),max2(0),min2(0),kijun(0);
var : senkouA(0);
var : ATR3(0),up3(0),dn3(0),upper3(0),lower3(0),os3(0),spt3(0),max3(0),min3(0),senkouB(0);
var : tenkan_css(0),kijun_css(0),cloud_a(0),cloud_b(0),chikou_css(0),tx(0);
ATR1 = ATR(tenkan_len)*tenkan_mult;
up1 = (h+L)/2 + ATR1;
dn1 = (h+L)/2 - ATR1;
upper1 = iff(C[1] < upper1[1],min(up1,upper1[1]),up1);
lower1 = iff(C[1] > lower1[1],max(dn1,lower1[1]),dn1);
os1 = iff(c > upper1 , 1 ,IFf(c < lower1, 0 , os1[1]));
spt1 = iff(os1 == 1 , lower1 , upper1);
max1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , max(c,max1[1]) , IFf(os1 == 1 , max(c,max1[1]) , spt1));
min1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , min(c,min1[1]) , iff(os1 == 0 , min(c,min1[1]) , spt1));
tenkan = avg(max1,min1);
ATR2 = ATR(kijun_len)*kijun_mult;
up2 = (h+L)/2 + ATR2;
dn2 = (h+L)/2 - ATR2;
upper2 = iff(C[1] < upper2[1],min(up2,upper2[1]),up2);
lower2 = iff(C[1] > lower2[1],max(dn2,lower2[1]),dn2);
os2 = iff(c > upper2 , 1 ,IFf(c < lower2, 0 , os2[1]));
spt2 = iff(os2 == 1 , lower2 , upper2);
max2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , max(c,max2[1]) , IFf(os2 == 1 , max(c,max2[1]) , spt2));
min2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , min(c,min2[1]) , iff(os2 == 0 , min(c,min2[1]) , spt2));
kijun = avg(max2,min2);
senkouA = avg(kijun,tenkan);
ATR3 = ATR(spanB_len)*spanB_mult;
up3 = (h+L)/2 + ATR3;
dn3 = (h+L)/2 - ATR3;
upper3 = iff(C[1] < upper3[1],min(up3,upper3[1]),up3);
lower3 = iff(C[1] > lower3[1],max(dn3,lower3[1]),dn3);
os3 = iff(c > upper3 , 1 ,IFf(c < lower3, 0 , os3[1]));
spt3 = iff(os3 == 1 , lower3 , upper3);
max3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , max(c,max3[1]) , IFf(os3 == 1 , max(c,max3[1]) , spt3));
min3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , min(c,min3[1]) , iff(os3 == 0 , min(c,min3[1]) , spt3));
senkouB = avg(max3,min3);
tenkan_css = Red;
kijun_css = Blue;
cloud_a = teal;
cloud_b = red;
chikou_css = Green;
plot1(tenkan,"Tenkan-Sen",tenkan_css);
plot2(kijun,"Kijun-Sen",kijun_css);
if CrossUp(tenkan,kijun) Then
{
tx = Text_New(sDate,sTime,kijun,"●");
Text_SetStyle(tx,2,1);
}
if CrossDown(tenkan,kijun) Then
{
Text_New(sDate,sTime,kijun,"■//");
Text_SetStyle(tx,2,0);
}
수고많으십니다
문의드릴 내용은 위 수식에서
Tenkan-Sen가 Kijun-Sen보다 높으면 매도청산 매수진입
Tenkan-Sen가 Kijun-Sen보다 낮으면 매수청산 매도진입
하루 100틱 수익이면 매매종료
하루 100틱 손실이면 매매종료
이런 시스템 수식을 부탁드립니다
감사합니다
2024-08-25
1059
글번호 182812
시스템