답변완료
부탁드립니다
수고하십니다
아래수식 에서
1,(var1,var2업이면),양봉이면시가에,음봉이면종가에 빨간선,
2.(var1,var2다운이면),양봉이면종가에,음봉이면시가에 청색선,수식수정 부탁드립니다
**(plot1 한선으로만 표시 부탁드립니다)**
var1 = ma(c,10);
var2 = ma(c,20);
if crossup(var1,var2) or CrossDown(var1,var2) Then
value1 = C;
plot1(value1,"10,20",iff(value1 == c,RED,BLUE));
2020-02-21
255
글번호 136209
지표
답변완료
안녕하세요
study("EMES", shorttitle="EMA", overlay=true, precision=3)
src=input(hl2, title="Source")
fl=input(.5, title="Fast Limit")
sl=input(.05, title="Slow Limit")
sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0
dt = (.0962*sp + .5769*nz(sp[2]) - .5769*nz(sp[4])- .0962*nz(sp[6]))*(.075*nz(p[1]) + .54)
q1 = (.0962*dt + .5769*nz(dt[2]) - .5769*nz(dt[4])- .0962*nz(dt[6]))*(.075*nz(p[1]) + .54)
i1 = nz(dt[3])
jI = (.0962*i1 + .5769*nz(i1[2]) - .5769*nz(i1[4])- .0962*nz(i1[6]))*(.075*nz(p[1]) + .54)
jq = (.0962*q1 + .5769*nz(q1[2]) - .5769*nz(q1[4])- .0962*nz(q1[6]))*(.075*nz(p[1]) + .54)
i2_ = i1 - jq
q2_ = q1 + jI
i2 = .2*i2_ + .8*nz(i2[1])
q2 = .2*q2_ + .8*nz(q2[1])
re_ = i2*nz(i2[1]) + q2*nz(q2[1])
im_ = i2*nz(q2[1]) - q2*nz(i2[1])
re = .2*re_ + .8*nz(re[1])
im = .2*im_ + .8*nz(im[1])
p1 = iff(im!=0 and re!=0, 360/atan(im/re), nz(p[1]))
p2 = iff(p1 > 1.5*nz(p1[1]), 1.5*nz(p1[1]), iff(p1 < 0.67*nz(p1[1]), 0.67*nz(p1[1]), p1))
p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2))
p = .2*p3 + .8*nz(p3[1])
spp = .33*p + .67*nz(spp[1])
phase = atan(q1 / i1)
dphase_ = nz(phase[1]) - phase
dphase = iff(dphase_< 1, 1, dphase_)
alpha_ = fl / dphase
alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_))
mama = alpha*src + (1 - alpha)*nz(mama[1])
fama = .5*alpha*mama + (1 - .5*alpha)*nz(fama[1])
pa=input(false, title="Mark crossover points")
plotarrow(pa?(cross(mama, fama)?mama<fama?-1:1:na):na, title="Crossover Markers")
fr=input(false, title="Fill MAMA/FAMA Region")
duml=plot(fr?(mama>fama?mama:fama):na, style=circles, color=gray, linewidth=0, title="DummyL")
mamal=plot(mama, title="MAMA", color=red, linewidth=2)
famal=plot(fama, title="FAMA", color=green, linewidth=2)
fill(duml, mamal, red, transp=70, title="NegativeFill")
fill(duml, famal, green, transp=70, title="PositiveFill")
ebc=input(false, title="Enable Bar colors")
bc=mama>fama?lime:red
barcolor(ebc?bc:na)
매번 부탁드리게 되어 죄송하고 감사합니다.
예스랭귀지로 변환 문의드립니다.
Fill region이 구현이 예스에서 가능할지 모르겠으나 가능하다면 포함시켜주시면 감사드리겠습니다.
2020-02-21
287
글번호 136202
지표
답변완료
부탁합니다
input : g(13),r(25),s(2);
var1 = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5,r),s) * 100/
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s));
plot1(var1);
plot2(40);
plot3(-40);
위 지표를 상승, 하락을 하나의 선으로 색상으로 표현할수 있게 부탁합니다.
2020-02-21
236
글번호 136200
지표
답변완료
안녕하세요
study(title="T", shorttitle="T", overlay=true)
length = input(title="Length", type=integer, defval=5)
factor = input(title="Factor", type=float, minval=0, maxval=1, defval=0.7)
highlightMovements = input(title="Highlight Movements ?", type=bool, defval=true)
src = input(title="Source", type=source, defval=close)
gd(src, length) =>
ema(src, length) * (1 + factor) - ema(ema(src, length), length) * factor
t3 = gd(gd(gd(src, length), length), length)
t3Color = highlightMovements ? (t3 > t3[1] ? green : red) : #6d1e7f
plot(t3, title="T3", linewidth=2, color=t3Color, transp=0)
예스트레이더 수식으로 변경 문의드립니다.
-------------------------------------------------------------------------
study("TFactor", shorttitle="B")
length=input(15)
bt = input( 100, title="Buy Trigger")
st = input( -100, title="Sell Trigger")
markCrossovers=input(false, type=bool)
prev(s,i) =>
y=abs(round(i))
s[y]
calc_ttf( periods ) =>
bp = highest( high, periods ) - prev( lowest( low, periods ), - periods )
sp = prev( highest( high, periods ), - periods ) - lowest( low, periods )
100 * (bp - sp) / ( 0.5*( bp + sp) )
ttf = calc_ttf( length )
plot(0, color=gray)
btl=plot(bt, color=gray, style=3)
stl=plot(st, color=gray, style=3)
long_f = cross( ttf, st ) and rising(ttf, 1)
short_f = cross(ttf, bt ) and falling(ttf, 1)
bs = (ttf > bt) ? bt : ttf
us = (ttf < st) ? st : ttf
bl=plot(bs, color=white)
ul=plot(us, color=white)
tl=plot(ttf, title="TTF", color=markCrossovers ? (long_f ? green : short_f ? red : blue) : maroon, linewidth=2)
fill(bl, tl, color=green, transp=75)
fill(ul, tl, color=red, transp=75)
예스랭귀지로 변환 문의드립니다. 감사합니다.
2020-02-21
219
글번호 136198
지표
답변완료
DATA2의 기술적지표 적용방법 문의드립니다.
안녕하세요.
1) DATA2에 DATA1과 같은종목의 30분봉을 적용하고 DATA2의 기술적 지표를 이용해 매수와 매도 신호를 얻고자 합니다.
아래와같이 수식을 작성하였는데 매수와 매도 시점이 의도한바와 매우 다르게 나오고 있어 문의드립니다.
DATA2를 적용한 기술적 지표의 정의가 맞는지 확인부탁드립니다.
Input : Period1(14),Period2(5),SHORT(3),LONG(10);
var : CCIv(0),CCIsig(0),XCCIv(0),XCCIsig(0),GET(0);
CCIv = CCI(Period1);
CCIsig = ema(CCIv,Period2);
XCCIv = DATA2(CCI(Period1));
XCCIsig = data2(ema(XCCIv,Period2));
2) 10틱 수익시 익절하고자 할때 수식을 부탁드립니다.
3) 조건만족시 매도포지션 청산후 매수포지션 진입하는 수식을 작성했습니다만 에러가 나고 있습니다. 수정을 부탁드립니다.
IF CROSSUP(XCCIV,XCCISIG) AND CCIV<-100 THEN EXITSHORT() AND BUY();
감사합니다.
2020-02-21
302
글번호 136196
시스템
답변완료
재문의 드립니다.
수고하십니다.
원래 질문의 의도와 약간 다른 것 같습니다.
재확인 부탁드립니다.
아래 작성해 주신 수식은 아직 돌려보지 못했습니다..[밖에 있어서..]
1] 일정 기간내가 아닌 어느 특정일인 N일전에 월시가를 돌파하고 ,
그 이후에 월시가 위에 있는 종목 검색을 하려고 합니다. [기본식]
2] N일전 월시가를 돌파하고 월시가 위에 계속 있는 종목 [식1]
N-1일전 월시가를 돌파하고 월시가 위에 계속 있는 종목 [식2]
......
어제 월시가를 돌파하고 월시가 위에 계속 있는 종목 [식N]
3] 그리고 N을 변수로 사용하고 싶습니다.
이런 종목들을 다 합하여 검색결과로 모든 종목이 동시에 표시되게 하고 싶습니다
위 내용으로 작성된게 맞는건지요..?
수식 옆에 간단한 설명을 달아 주시면 아주 고맙겠습니다만..ㅋ
자꾸 번거롭게 해드려서 미안합니다. 즐거운 주말 되세요...
수고하세요
> 예스스탁 님이 쓴 글입니다.
안녕하세요
예스스탁입니다.
월변경이 있었다는 것을 나타내기 위한 변수입니다.
수식이 잘못작성되어 일변경되어 있어 월변경으로 수정했습니다.
1
var : T(0);
if sdate > sdate[1]+30 Then
{
Condition1 = true;
var1 = O;
T = 0;
if C > var1 Then
T = 1;
if C < var1 Then
T = 0;
}
if Condition1 == true then
{
if T <= 0 and C > var1 Then
T = 1;
if T >= 0 and C < var1 Then
T = 1;
if T == 1 Then
find(1);
}
2
아래와 같이 표현하시면 var2가 전월시가입니다.
if sdate > sdate[1]+30 Then
{
var1 = O;
var2 = var1[1]
}
즐거운 하루되세요
> 오이도인 님이 쓴 글입니다.
> 제목 : Re : Re : 종목검색식 부탁합니다..
>
condition1은 뭔가요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 종목검색식 부탁합니다..
> 안녕하세요
예스스탁입니다.
1
월시가를 돌파하고 현재까지 그 위에서 유지되는 종목을 찾으시므로
아래식으로 검색하시면 됩니다. for문이나 배열변수는 필요가 없습니다.
일봉에서 검색에 필요한 최소기간을 30봉이상 지정하시고 검색하시면 됩니다.
var : T(0);
if sdate > sdate[1] Then
{
Condition1 = true;
var1 = O;
T = 0;
if C > var1 Then
T = 1;
if C < var1 Then
T = 0;
}
if Condition1 == true then
{
if T <= 0 and C > var1 Then
T = 1;
if T >= 0 and C < var1 Then
T = 1;
if T == 1 Then
find(1);
}
2
아래와 같이 표현하시면 var2가 전월시가입니다.
if sdate > sdate[1] Then
{
var1 = O;
var2 = var1[1]
}
즐거운 하루되세요
> 오이도인 님이 쓴 글입니다.
> 제목 : 종목검색식 부탁합니다..
> 수고하십니다.
아래와 같은 내용의 식을
for문이나 array를 사용하여 간단하게 식 하나로 바꾸어 주시면 고맙겠습니다..
[어떤 함수를 사용해야 하는지 잘 모름...사용자 메뉴얼이 어디 있는지 알려주세요...]
Q1]일봉 종목검색에서
오늘 종가가 월시가를 돌파하고,
종가가 월시가 위에 [계속] 존재하고 있는 종목을 검색 or
1일전에 종가가 월시가를 돌파하고,
종가가 그후로 월시가 위에 계속 존재하고 있는 종목을 검색 or
2일전에 종가가 월시가를 돌파하고,
종가가 그후로 월시가 위에 계속 존재하고 있는 종목을 검색 or
........
N일전에 종가가 월시가를 돌파하고,
종가가 그후로 월시가 위에 계속 존재하고 있는 종목을 검색
N이 큰 경우
위의 각각의 경우에 검색되는 모든 종목을 한 식으로 검색하여
전부 볼 수 있게하는 검색식 부탁합니다..
var1 = monthopen(0) ;
if (crossup(c,var1) and countif(c>var1,1)==1) or
(crossup(c[1],var1) and countif(c>var1,2)==2) or
(crossup(c[2],var1) and countif(c>var1,3)==3) or
......
(crossup(c[N],var1) and countif(c>var1,N)==N) then
Find(1);
Q2] 월이 바뀐 경우,
위 로직에 전 달 월시가 var1[1]을 적용하려면
식이 어떻게 수정되어야 하는지요?
수고하세요..
2020-02-21
326
글번호 136195
종목검색