답변완료
종목검색에대하여 궁금한점이있습니다^^
안녕하세요~^^ 언제나 고생이 많으세요~
보내주신 지표로 확인해 봤지만 똑같이 신호가 잡히는데 레이저쎌은 검색기로 검색이되고
광전자는 검색이 안되었거든요 혹시 다른문제가 또있을까요??ㅜㅜ
또 다른 문제가 있다면 두가지 종목이 모두 검색기로 검색되게 할려면 어떻게 수식을 작성해야할까요??
(화면아래에 보내주신 지표로 확인해봤습니다 ㅜㅜ)
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 안녕하세요 수식문의 부탁드립니다^^
>
안녕하세요
예스스탁입니다.
해당식은 아래 3가지 조건이 현재봉에서 동시 충족되어야 검색이 됩니다.
b > 0 and CrossUp(C,b)
CrossUp(C,mav)
countif(V >= V[1]*(Per/100),N) >= 1
아래 지표는 3가지 조건 중 만족한 갯수를 그리는 지표식입니다.
적용하셔서 3가지 중 몇개가 만족하는지 확인해 보셔야 합니다.
레이저쎌의 경우 동그라미로 표시한 봉은 값이 2가 나오는데
CrossUp(C,b)조건을 충족하지 않습니다.
crossup은 돌파(현재봉은 종가가 B보다크고 전봉은 작거나 같음)를 의미하는데
이미 그 이전봉부터 종가가 b보다 큰 상태입니다.
input : 단기(5),중기(20),장기(120),Period(20),N(1),Per(1000);
var : p(0),k(0),q(0),x(0),y(0),z(0),a(False),b(0),mav(0);
p = (highest(high,단기)+lowest(low,단기))/2;
k = (highest(high,중기)+lowest(low,중기))/2;
q = (p+k)/2;
x = (highest(high,장기)+lowest(low,장기))/2;
y = (highest(high,장기)+lowest(low,장기))/2;
z = (x+y)/2;
a = Crossdown((q-z)/q*100, 0);
if a == true Then
b = c;
mav = ma(c,Period);
var1 = 0;
if b > 0 and CrossUp(C,b) Then
var1 = var1+1;
if CrossUp(C,mav) Then
var1 = var1+1;
if countif(V >= V[1]*(Per/100),N) >= 1 Then
var1 = var1+1;
Plot1(var1);
즐거운 하루되세요
> 고래상어의꿈 님이 쓴 글입니다.
> 제목 : 안녕하세요 수식문의 부탁드립니다^^
> 안녕하세요~ 언제나 친절한답변 감사드립니다^^
전에 질문에서 아래의 답변을 받았는데요~
직접 사용을해보니 똑같은 조건인데도 검색이 되는 종목이 있고 안되는 종목이 있더라구요
혹시 왜그런지 알수 있을까요?ㅠㅠ
(참고로 편집에 검색기간은 최대로 늘려서 검색했습니다 ㅠㅠ)
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 안녕하세요 수식문의 부탁드립니다^^
> 안녕하세요
예스스탁입니다.
N봉이내에 1회이상 전봉대비 1000%이상 거래량이 발생한 종목을 찾게 됩니다.
n이 1이면 현재봉만 대상이 됩니다.
input : 단기(5),중기(20),장기(120),Period(20),N(1),Per(1000);
var : p(0),k(0),q(0),x(0),y(0),z(0),a(False),b(0),mav(0);
p = (highest(high,단기)+lowest(low,단기))/2;
k = (highest(high,중기)+lowest(low,중기))/2;
q = (p+k)/2;
x = (highest(high,장기)+lowest(low,장기))/2;
y = (highest(high,장기)+lowest(low,장기))/2;
z = (x+y)/2;
a = Crossdown((q-z)/q*100, 0);
if a == true Then
b = c;
mav = ma(c,Period);
if b > 0 and CrossUp(C,b) and CrossUp(C,mav) and countif(V >= V[1]*(Per/100),N) >= 1 Then
Find(1);
즐거운 하루되세요
2024-01-11
922
글번호 175634
종목검색
답변완료
도움 요청합니다.
안녕하세요?
아래 2일선 시작라인 위 아래로 아래 그림과 같이 수치를 표기하고자 합니다.
식결과 날짜기준선 식설명
ㅣ
345.05 ㅣ "2일시작값+1.5" Red 표기 2일선 위일경우 표기
0.75 ㅣ "당일시가-2일시작값 Magenta 표기 "
1.25 ㅣ "당일시가-전일종가" Black색표기 :
================================================================(2일 시작라인)
1.25 ㅣ "전일종가-당일시가" Black색표기 2일선 아래일경우 표기
0.75 ㅣ "2일시작값-당일시가 Magenta 표기 "
345.05 ㅣ "2일시작값-1.5" Blue 표기 "
ㅣ
미리 감사드립니다.
좋은하루 되세요.
=======================--------------------------
input : p(2),pt1(0.05),pt2(0.05);
input : 굵기1(5),R1(255),G1(0),B1(0);
input : 굵기2(5),R2(255),G2(0),B2(0);
input : 굵기3(5),R3(255),G3(0),B3(0);
input : 굵기4(5),R4(255),G4(0),B4(0);
input : 굵기5(5),R5(255),G5(0),B5(0);
var : cnt(0),sum(0),mav(0);
var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0);
sum = DayOpen(0);
if P >= 2 Then
{
For cnt = 1 to P-1
{
sum = sum + DayClose(cnt);
}
}
mav = sum/P;
if Index == 0 or (sTime >= 150000 and sTime[1] < 150000) Then
{
var1 = sDate;
Var2 = stime;
}
if Bdate != Bdate[1] Then
{
if var1 > 0 and Var2 > 0 Then
{
TL1 = TL_New(var1,Var2,mav,sDate,sTime,mav);
TL2 = TL_New(var1,Var2,mav+pt1,sDate,sTime,mav+pt1);
TL3 = TL_New(var1,Var2,mav-pt2,sDate,sTime,mav-pt1);
TL4 = TL_New(var1,Var2,mav+pt2,sDate,sTime,mav+pt2);
TL5 = TL_New(var1,Var2,mav-pt2,sDate,sTime,mav-pt2);
TL_SetColor(TL1,RGB(R1,G1,B1));
TL_SetColor(TL2,RGB(R2,G2,B2));
TL_SetColor(TL3,RGB(R3,G3,B3));
TL_SetColor(TL4,RGB(R4,G4,B4));
TL_SetColor(TL5,RGB(R5,G5,B5));
TL_SetSize(TL1, 굵기1);
TL_SetSize(TL2, 굵기2);
TL_SetSize(TL3, 굵기3);
TL_SetSize(TL4, 굵기4);
TL_SetSize(TL5, 굵기5);
}
}
Else
{
if sTime < 150000 Then
{
TL_SetBegin(TL1,var1,Var2,mav);
TL_SetEnd(TL1,sDate,sTime,mav);
TL_SetBegin(TL2,var1,Var2,mav+pt1);
TL_SetEnd(TL2,sDate,sTime,mav+pt1);
TL_SetBegin(TL3,var1,Var2,mav-pt1);
TL_SetEnd(TL3,sDate,sTime,mav-pt1);
TL_SetBegin(TL4,var1,Var2,mav+pt2);
TL_SetEnd(TL4,sDate,sTime,mav+pt2);
TL_SetBegin(TL5,var1,Var2,mav-pt2);
TL_SetEnd(TL5,sDate,sTime,mav-pt2);
}
}
2024-01-11
701
글번호 175630
지표
답변완료
도움을 요청합니다.
안녕하세요?
아래 수식에서
중간값을 추가해주시고,
txt 표기 "시,고,저,종,중"을 라인앞에 나타나도록 부탁드립니다.
또 각 기존 라인값을 라인값+0.05로 나타나도록 부탁드립니다. (다른 수식의 라인값과 겹쳐져 보이지 않게하기 위함입니다.)
미리 감사드리며 오늘도 좋은시간 되세요.
====================================
input : 색1(green),색2(RED),색3(BLUE),색4(black);
var : tl1(0),tl2(0),tl3(0),tl4(0);
var : tx1(0),tx2(0),tx3(0),tx4(0);
if Bdate != Bdate[1] Then
{
var1 = O;
var2 = H;
var3 = L;
var4 = C;
TL1 = TL_New(sDate[1],152500,var1,sDate,sTime,var1);
TL2 = TL_New(sDate[1],152500,var2,sDate,sTime,var2);
TL3 = TL_New(sDate[1],152500,var3,sDate,sTime,var3);
TL4 = TL_New(sDate[1],152500,var4,sDate,sTime,var4);
#추세선색
TL_SetColor(TL1,색1);
TL_SetColor(TL2,색2);
TL_SetColor(TL3,색3);
TL_SetColor(TL4,색4);
tx1 = text_new(sDate,sTime,var1,"시");
tx2 = text_new(sDate,sTime,var2,"고");
tx3 = text_new(sDate,sTime,var3,"저");
tx4 = text_new(sDate,sTime,var4,"종");
Text_SetStyle(tx1,1,5);
Text_SetStyle(tx2,1,5);
Text_SetStyle(tx3,0,2);
Text_SetStyle(tx4,0,2);
#글자색
Text_SetColor(tx1,색1);
Text_SetColor(tx1,색2);
Text_SetColor(tx1,색3);
Text_SetColor(tx1,색4);
}
if sTime < 90100 Then
{
TL_SetEnd(TL1,sDate,sTime,var1);
TL_SetEnd(TL2,sDate,sTime,var2);
TL_SetEnd(TL3,sDate,sTime,var3);
TL_SetEnd(TL4,sDate,sTime,var4);
Text_SetLocation(tx1,sDate,sTime,var1);
Text_SetLocation(tx2,sDate,sTime,var2);
Text_SetLocation(tx3,sDate,sTime,var3);
Text_SetLocation(tx4,sDate,sTime,var4);
}
2024-01-11
730
글번호 175629
지표
답변완료
수식 도움 요청드립니다
수고에 늘 감사드립니다.
예스랭귀지로의 변환을 부탁드립니다.
//Original Code From ucsgears
study(title = "BB %B", shorttitle = "BB %B BB")
source = close
length = input(20, minval=1), mult = input(2.0, minval=0.001, maxval=50)
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
bbr = (source - lower)/(upper - lower)
//plot(bbr, color=teal)
basisa = sma(bbr, length)
deva = mult * stdev(bbr, length)
uppera = basisa + deva
lowera = basisa - deva
//Added This
aboveUp = bbr > uppera ? 1 : 0
belowDn = bbr < lowera ? 1 : 0
plotchar(aboveUp, title="i", char='S', location=location.top, color=red, transp=0, offset=0)
plotchar(belowDn, title="i", char='B', location=location.bottom, color=green, transp=0, offset=0)
//Added in BackGround Hilighting
noTrade = aboveUp == 0 and belowDn == 0
bgcolor(noTrade ? gray : na, transp=50)
bgcolor(aboveUp ? red : na, transp=60)
bgcolor(belowDn ? green : na, transp=60)
//Added This
col = bbr < lowera ? lime : bbr > uppera ? red : teal
//Changed your plot fills from Midline to top of band...and midline to lower band.
p1 = plot(basisa, color=silver, linewidth=0)
p2 = plot(uppera, color=red, linewidth=2)
p3 = plot(lowera, color=green, linewidth=2)
fill(p1, p2, color=red, transp = 70)
fill(p1, p3, color=green, transp = 70)
plot(bbr, color= col, style=linebr, linewidth=3)
2024-01-11
799
글번호 175628
지표
답변완료
매도와 동시에 매수 진입이 안됩니다.
처음 매도 신호에서 매도 주문이 나가서 보유중이다가 두번째 나오는 매수 신호에서 처음 나왔던 매도 포지션이 정리되고 주문이 끝났습니다.
제가 예상한것과 시스템 성능보고서에 나온것도 같은 내용이지만 두번째 나오는 매수 신호에서 매도포지션이 정리됨과 동시에 매수 포지션 주문이 나가는것이었습니다.
피라미딩은 허용안함 주문 시작 신호는 진입신호에 둔 상태였습니다.
피라미딩과 주문 시작 신호의 문제일까요? 아니면수식의 문제일까요?
수식은 아래와 같습니다.
input : a(9), length(3),크기(15);
var : truehighv(0),TrueLowv(0),TrueRangev(0),xatr(0),nLoss(0),src(0) ;
var : xClose(0),xOpen(0),xHigh(0),xLow(0);
var : xATRTrailingStop(0),poss(0), emav(0), ab(False), be(False),tx(0) ;
var : dir(0) ;
if index == 0 then
{
xOpen = open;
xClose = (O+H+L+C)/4;
xHigh = MaxList( high, xOpen, xClose);
xLow = MinList( low, xOpen,xClose);
}
else
{
xClose = (O+H+L+C)/4;
xOpen = (xOpen [1] + xClose [1])/2 ;
xHigh = MaxList(High, xOpen, xClose) ;
xLow = MinList(Low, xOpen, xClose) ;
}
////////
If xClose[1] > xHigh then
TrueHighv = xClose[1];
else
TrueHighv = xHigh;
If xClose[1] < xLow then
TrueLowv = xClose[1];
else
TrueLowv = xLow;
TrueRangev = TrueHighv - TrueLowv;
xatr = ma(TrueRangev,length);
nLoss = a * xatr ;
##########
src = xClose ;
xATRTrailingStop = 0.0 ;
xATRTrailingStop = iff(src > xATRTrailingStop[1] and src[1] > xATRTrailingStop[1],
max(xATRTrailingStop[1], src - nLoss),
iff(src < xATRTrailingStop[1] and src[1] < xATRTrailingStop[1],
min(xATRTrailingStop[1],src + nLoss),
iff(src > xATRTrailingStop[1], src - nLoss, src + nLoss)));
poss = 0 ;
poss = iff(src[1] < xATRTrailingStop[1] and src > xATRTrailingStop[1], 1,
iff(src[1] > xATRTrailingStop[1] and src < xATRTrailingStop[1], -1, poss[1])) ;
emav = ema(src,1);
if crossup(emav, xATRTrailingStop) Then
ab = true ;
Else
ab = False;
if crossup(xATRTrailingStop, emav) Then
be = true ;
Else
be = False;
////////////
dir = iff(src > xATRTrailingStop and ab == true , 1 ,iff( src < xATRTrailingStop and be == true , -1 , dir));
if dir == 1 and dir[1] == -1
Then
{
Buy();
}
if dir == -1 and dir[1] == 1
Then
{
Sell();
}
2024-01-11
870
글번호 175625
시스템