예스스탁
예스스탁 답변
2025-05-14 15:11:51
안녕하세요
예스스탁입니다.
1. 지표
var : src(0);
src = (h+l+c)/3;
input : N(4);
input : Per(144);
input : mult(1.414);
input : modeLag(false);
input : modeFast(false);
var : bet(0),beta(0),alpha(0),lag(0),tr(0);
var : srcdata(0),trdata(0);
bet = 4*asin(1)/per;
beta = (1 - cos(bet*(180/Pie))) / (pow(1.414, 2/N) - 1);
alpha = - beta + sqrt(pow(beta, 2) + 2*beta);
lag = (per - 1)/(2*N);
tr = TrueRange;
srcdata = iff(modeLag , src + (src - src[lag]) , src);
trdata = iff(modeLag , tr + (tr - tr[lag]) , tr);
var : filtn(0),filt1(0),filtntr(0),filt1tr(0);
var : filt(0),filttr(0),hband(0),lband(0);
var1 = f_pole(alpha, srcdata, N,filtn,filt1);
var2 = f_pole(alpha, trdata, N,filtntr,filt1tr);
//Lag Reduction
filt = iff(modeFast , (filtn + filt1)/2 , filtn);
filttr = iff(modeFast , (filtntr + filt1tr)/2 , filtntr);
//Bands
hband = filt + filttr*mult;
lband = filt - filttr*mult;
// Colors
var : color1(0),color2(0),color3(0),color4(0),fcolor(0),Tx(0);
fcolor = iff(filt > filt[1] , Lime ,IFf(filt < filt[1] ,Red ,Gray));
#plot1(filt, "Filter", fcolor);
#plot2(hband, "Filtered True Range High Band", fcolor);
#plot3(lband, "Filtered True Range Low Band", fcolor);
if fcolor == red and fcolor != fcolor[1] Then
{
tx = Text_New(sdate,sTime,H,"☎");
Text_SetStyle(tx,2,1);#좌우상하정렬
Text_SetColor(tx,Black);#색상
Text_SetSize(tx,20);#크기
}
if fcolor == Lime and fcolor != fcolor[1] Then
{
tx = Text_New(sdate,sTime,L,"♥");
Text_SetStyle(tx,2,0);#좌우상하정렬
Text_SetColor(tx,Brown);#색상
Text_SetSize(tx,20);#크기
}
2 시스템
var : src(0);
src = (h+l+c)/3;
input : N(4);
input : Per(144);
input : mult(1.414);
input : modeLag(false);
input : modeFast(false);
var : bet(0),beta(0),alpha(0),lag(0),tr(0);
var : srcdata(0),trdata(0);
bet = 4*asin(1)/per;
beta = (1 - cos(bet*(180/Pie))) / (pow(1.414, 2/N) - 1);
alpha = - beta + sqrt(pow(beta, 2) + 2*beta);
lag = (per - 1)/(2*N);
tr = TrueRange;
srcdata = iff(modeLag , src + (src - src[lag]) , src);
trdata = iff(modeLag , tr + (tr - tr[lag]) , tr);
var : filtn(0),filt1(0),filtntr(0),filt1tr(0);
var : filt(0),filttr(0),hband(0),lband(0);
var1 = f_pole(alpha, srcdata, N,filtn,filt1);
var2 = f_pole(alpha, trdata, N,filtntr,filt1tr);
//Lag Reduction
filt = iff(modeFast , (filtn + filt1)/2 , filtn);
filttr = iff(modeFast , (filtntr + filt1tr)/2 , filtntr);
//Bands
hband = filt + filttr*mult;
lband = filt - filttr*mult;
// Colors
var : color1(0),color2(0),color3(0),color4(0),fcolor(0),Tx(0);
fcolor = iff(filt > filt[1] , Lime ,IFf(filt < filt[1] ,Red ,Gray));
if fcolor == red and fcolor != fcolor[1] Then
{
Sell("s");
}
if fcolor == Lime and fcolor != fcolor[1] Then
{
Buy("b");
}
즐거운 하루되세요
> knoll 님이 쓴 글입니다.
> 제목 : 지표 변환 문의드립니다. 질문 92667 관련
> 안녕하세요.건승을 기원합니다.
질문 92667 답변 관련 질문입니다.
3번 지표로 구현하엿는데,선은 필요없으니 신호만 나타낼수잇는 수식을 좀 알려주시면 감사하겟습니다.
상단,하단밴드는 버리고 중간선이 색갈이변할때만 신호를 표출하는 식을 부탁합니다.(색깔변하는 봉 바로 밑에 또는 위에)
제가 작성한 "잘못된" 수식입니다만
plot1(filt, "Filter", fcolor);
plot2(hband, "Filtered True Range High Band", fcolor);
plot3(lband, "Filtered True Range Low Band", fcolor);
if filt < filt[1] Then
{
tx = Text_New(sdate,sTime,H,"☎");
Text_SetStyle(tx,2,0);#좌우상하정렬
Text_SetColor(tx,Black);#색상
Text_SetSize(tx,20);#크기
}
if filt > filt[1] Then
{
tx = Text_New(sdate,sTime,L,"♥");
Text_SetStyle(tx,2,0);#좌우상하정렬
Text_SetColor(tx,Brown);#색상
Text_SetSize(tx,20);#크기
}
모든 봉 위 또는 아래에 신호가 나오네요. 이게 아니고 핵심은
색깔이 변할때만 나오게 해주면 됩니다.
감사합니다.(더불어 전략수식도 알려주시면 감사하겠숩니다)