예스스탁
예스스탁 답변
2021-04-20 16:31:25
안녕하세요
예스스탁입니다.
1
당일 기존조건이 만족한 이후에 MACD 조건 충족한 종목을 검색하는 식입니다.
Input : short(5), long(20), signal(5);
Var : MACDv(0), MACDs(0),macdo(0);
var : trixv(0),hh(0),ll(0),aa(0),a(0),a1(0),a2(0);
if sdate != sdate[1] Then
Condition1 = False;
trixv = trix(20);
if crossup(trixv,0) Then
hh = C;
Else
{
if hh > 0 and C > hh Then
hh = c;
}
if CrossDown(trixv,0) Then
ll = C;
Else
{
if ll > 0 and C < ll Then
ll = c;
}
aa = (hh+ll)/2;
a = Highest(h, 20)[1];
a1 = Highest(h, 40)[1];
a2 = Highest(h, 60)[1];
if crossup(c,a) and crossup(c,a1) and crossup(c,a2)
and c>aa //100
and AccumN(iff(V[1]*2<= V, 1,0),3) >= 1 //100
and c>dayclose(1) //100
and o[1]/c[1]>0.5 //100
and L/H>0.7 //100
and H/C>0.3 //100
and C>dayopen() //100
and Disparity(5) >= 90 //100
and c<dayclose(1)*1.15 // 100
and c>BollBandUp(30,1.8) //100
and stime >= 090200 and stime <= 153000 //100
Then
Condition1 = true;
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
if Condition1 == true and MACDO < 0 and MACDO > MACDO[1] Then
Find(1);
2
최저거래량은 N봉 최저거래량 갱신으로 작성했습니다.
Input : N(10);
var : trixv(0),hh(0),ll(0),aa(0),a(0),a1(0),a2(0);
if sdate != sdate[1] Then
Condition1 = False;
trixv = trix(20);
if crossup(trixv,0) Then
hh = C;
Else
{
if hh > 0 and C > hh Then
hh = c;
}
if CrossDown(trixv,0) Then
ll = C;
Else
{
if ll > 0 and C < ll Then
ll = c;
}
aa = (hh+ll)/2;
a = Highest(h, 20)[1];
a1 = Highest(h, 40)[1];
a2 = Highest(h, 60)[1];
if crossup(c,a) and crossup(c,a1) and crossup(c,a2)
and c>aa //100
and AccumN(iff(V[1]*2<= V, 1,0),3) >= 1 //100
and c>dayclose(1) //100
and o[1]/c[1]>0.5 //100
and L/H>0.7 //100
and H/C>0.3 //100
and C>dayopen() //100
and Disparity(5) >= 90 //100
and c<dayclose(1)*1.15 // 100
and c>BollBandUp(30,1.8) //100
and stime >= 090200 and stime <= 153000 //100
Then
Condition1 = true;
if Condition1 == true and V < Lowest(V,N)[1] Then
Find(1);
3
최저거래량갱신이 당일최저거래량 갱신이면 아래와 같습니다.
Input : N(10);
Var : MACDv(0), MACDs(0),LV(0);
var : trixv(0),hh(0),ll(0),aa(0),a(0),a1(0),a2(0);
if sdate != sdate[1] Then
{
Condition1 = False;
LV = V;
}
trixv = trix(20);
if crossup(trixv,0) Then
hh = C;
Else
{
if hh > 0 and C > hh Then
hh = c;
}
if CrossDown(trixv,0) Then
ll = C;
Else
{
if ll > 0 and C < ll Then
ll = c;
}
aa = (hh+ll)/2;
a = Highest(h, 20)[1];
a1 = Highest(h, 40)[1];
a2 = Highest(h, 60)[1];
if crossup(c,a) and crossup(c,a1) and crossup(c,a2)
and c>aa //100
and AccumN(iff(V[1]*2<= V, 1,0),3) >= 1 //100
and c>dayclose(1) //100
and o[1]/c[1]>0.5 //100
and L/H>0.7 //100
and H/C>0.3 //100
and C>dayopen() //100
and Disparity(5) >= 90 //100
and c<dayclose(1)*1.15 // 100
and c>BollBandUp(30,1.8) //100
and stime >= 090200 and stime <= 153000 //100
Then
Condition1 = true;
if V < LV Then
LV = V;
if Condition1 == true and V == LV Then
Find(1);
즐거운 하루되세요
> 그리워 님이 쓴 글입니다.
> 제목 : 부탁드립니다
> aa=(highestsince(1,crossup(trix(20),0),c)+
lowestsince(1,crossdown(trix(20),0),c))/2; //100
a=Highest(h(1), 20, 1);
a1=Highest(h(1), 40, 1);
a2=Highest(h(1), 60, 1);
crossup(c,a) and crossup(c,a1) and crossup(c,a2)
and c>aa //100
and SUM(if(V(1)*2<= V, 1,0),3) //100
and c>predayclose() //100
and o(1)/c(1)>0.5 //100
and L/H>0.7 //100
and H/C>0.3 //100
and C>dayopen() //100
and Disparity(5) >= 90 //100
and c<predayclose()*1.15 // 100
and c>BBandsUp(30,1.8) //100
and time >= 090200 and time <= 153000 //100
위에 신호가 나온뒤에 macd오실레이터 5/ 20/ 5 에 이전값 보다 (눌림) 작아 질때 종목을 찾고 싶습니다.
그리고, 또 하나의 검색식은
위에 신호가 나오고 최저의 거래량을 갱신 할 때 종목을 찾고 싶습니다.
부탁 드립니다