예스스탁
예스스탁 답변
2024-06-14 14:02:10
안녕하세요
예스스탁입니다.
input : 배분1(50),배분2(1.1);
var : mc(0),ms(0),m_up(False),S(0),S_고점(False),S_저점(False), 신고10(False);
var : bs_M(-1),bs_s고점(-1),bs_s저점(-1),bs_신고10(-1);
var : m5(0),m20(0),크로스업(False),HH(0),H_High(0),LL(0),L_sum(0),Ls(0),L_sum1(0),cs(0),cnt(False);
var : 중최고가(0),중최저가(0),경계(0),경계1(False),경계2(False),기준봉(0),기준봉1(false),기준봉2(false),결과기준(0);
Mc = Macd(12,26);
Ms = Ema(Mc,9);
M_up = Crossup(M,Ms) && Mc<0;
S = StochasticsK(12,5);
S_고점 = S<S[1] && S[1]>S[2] &&S[1]>=20 && s[1]<=50;
S_저점 = S>S[1] && S[1]>S[2] &&S[1]>=20 && s[1]<=50;
신고10= Highest(H,10)[1]<H;
if M_up Then
bs_M = 0;
Else
{
if bs_M >= 0 Then
bs_M = bs_M+1;
}
if S_고점 Then
bs_s고점 = 0;
Else
{
if bs_s고점 >= 0 Then
bs_s고점 = bs_s고점+1;
}
if S_저점 Then
bs_s저점 = 0;
Else
{
if bs_s저점 >= 0 Then
bs_s저점 = bs_s저점+1;
}
if 신고10 Then
bs_신고10 = 0;
Else
{
if bs_신고10 >= 0 Then
bs_신고10 = bs_신고10+1;
}
Condition1 = bs_M>bs_s고점 && bs_s고점 > bs_s저점 && bs_s저점>=bs_신고10;
M5=ma(c,5);
M20=ma(c,20);
크로스업=Crossup(M5,M20);
if 크로스업 == true Then
{
HH = H;
L_sum1 = L_sum[1];
CS = 0;
}
Else
{
if HH > 0 and H > HH Then
HH = H;
}
if HH==HH[1] && HH>H Then
H_High = HH;
LL = iff(M20>L,1,0);
L_sum=Accum(LL);
Ls= L_sum-L_sum1;
Condition2 = Crossup(C,H_High) && Ls>0;
if Condition2 == true Then
CS = CS+1;
cnt = CS==1;
중최고가=highest(H,20);
중최저가=Lowest(L,20);
경계=(중최고가+중최저가)/2-(중최고가-중최저가)*배분1;
경계1=crossup(c, 경계)&& c>o*배분2;
경계2=crossdown(c, 경계);
if 경계1 or 경계2 Then
기준봉 = O;
기준봉1=crossup(c, 기준봉);
기준봉2=crossdown(c, 기준봉);
if 기준봉1 or 기준봉2 Then
결과기준 = O;
if Condition1 == true && Condition1[1] == false
and cnt && cnt[1] ==False and
CrossUp(c,결과기준) Then
{
Find(1);
}
즐거운 하루되세요
> 무건 님이 쓴 글입니다.
> 제목 : 변환 부탁드립니다
> 아래 3개의 신호가 동시 만족하는 검색식을 부탁합니다 배려에 감사드려요
1.
M = Macd(12,26);
Ms=eavg(M,9);
M_up=Crossup(M,Ms) && M<0
S=StochasticsSlow(12,5);
S_고점 = S<S(1) && S(1)>S(2) &&S(1)>=20 && s(1)<=50
S_저점 = S>S(1) && S(1)>S(2) &&S(1)>=20 && s(1)<=50
신고10= Highest(H(1),10)<H
bs_M=BarsSince(M_up);
bs_s고점 = BarsSince(S_고점);
bs_s저점 = BarsSince(S_저점);
bs_신고10 = BarsSince(신고10);
조건=
bs_M>bs_s고점 &&
bs_s고점 > bs_s저점 &&
bs_s저점>=bs_신고10
조건 &&!조건(1)
2.
M5=ma(c,5);
M20=ma(c,20);
크로스업=Crossup(M5,M20);
HH=HighestSince(1,크로스업,H);
H_High=
Valuewhen(1,HH==HH(1) && HH>H,HH);
LL=if(M20>L,1,0);
L_sum=sum(LL);
Ls=
L_sum-ValueWhen(1, 크로스업,L_sum(1));
조건=Crossup(C,H_High) && Ls>0
cnt=CountSince(크로스업,조건)==1
cnt && !cnt(1)
3.
중최고가=최고값(고가,20);
중최저가=최저값(저가,20);
경계=(중최고가+중최저가)/2-(중최고가-중최저가)*배분1
경계1=crossup(종가, 경계)&& 종가>시가*배분2
경계2=crossdown(c, 경계);
기준봉=valuewhen(1, 경계1 or 경계2, 시가);
기준봉1=crossup(종가, 기준봉);
기준봉2=crossdown(종가, 기준봉);
결과기준=valuewhen(1, 기준봉1 or 기준봉2, 시가);
앞서 올린수식이 잘못 다시 올립니다 잘 부탁드립니다
1.macd o 선 돌파
M = Macd(12,26);
Ms=eavg(M,9);
M_up=Crossup(M,Ms) && M<0
S=StochasticsSlow(12,5);
S_고점 = S<S(1) && S(1)>S(2) &&S(1)>=20 && s(1)<=50
S_저점 = S>S(1) && S(1)>S(2) &&S(1)>=20 && s(1)<=50
신고10= Highest(H(1),10)<H
bs_M=BarsSince(M_up);
bs_s고점 = BarsSince(S_고점);
bs_s저점 = BarsSince(S_저점);
bs_신고10 = BarsSince(신고10);
조건=
bs_M>bs_s고점 &&
bs_s고점 > bs_s저점 &&
bs_s저점>=bs_신고10
조건 &&!조건(1)
2.눌림돌파
M5=ma(c,5);
M20=ma(c,20);
크로스업=Crossup(M5,M20);
HH=HighestSince(1,크로스업,H);
H_High=
Valuewhen(1,HH==HH(1) && HH>H,HH);
LL=if(M20>L,1,0);
L_sum=sum(LL);
Ls=
L_sum-ValueWhen(1, 크로스업,L_sum(1));
조건=Crossup(C,H_High) && Ls>0
cnt=CountSince(크로스업,조건)==1
cnt && !cnt(1)
3.
중최고가=최고값(고가,20);
중최저가=최저값(저가,20);
경계=(중최고가+중최저가)/2-(중최고가-중최저가)*배분1
경계1=crossup(종가, 경계)&& 종가>시가*배분2
경계2=crossdown(c, 경계);
기준봉=valuewhen(1, 경계1 or 경계2, 시가);
기준봉1=crossup(종가, 기준봉);
기준봉2=crossdown(종가, 기준봉);
결과기준=valuewhen(1, 기준봉1 or 기준봉2, 시가);
결과기준1=crossup(종가, 결과기준);
결과기준2=crossdown(종가, 결과기준);
A=valuewhen(1, 결과기준1 or 결과기준2, 시가);
M5=eavg(C,5);
M10=eavg(C,10);
M20=eavg(C,20);
M60=eavg(C,60);
M120=eavg(C,120);
M240=eavg(C,240);
M480=eavg(C,480);
BH=BBandsUp(20,2);
BC=BBandsC(20,2);
평균=((M5*2)+(M10*2)+(M20*3)+(M60*2)+(M120*3)+(M240*2)+(M480*2)+(BH*1)+(BC*1)) / 18
평균라인=Tema(평균, 5, 지수);
B=평균라인 + 20*stdev(평균라인,5);
AA=sar(0.02,0.2);
C>=A && CROSSUP(C,B) && AA<=C
지표변수 배분1: 0.236
배분2: 1.02
예스스탁
예스스탁 답변
2024-06-17 13:57:07
안녕하세요
예스스탁입니다.
현재 검색해 보면 3개의 조건을 합쳐서는 모두 만족하는 종목이 없습니다.
식을 4개 작성해 드립니다.
1,2,3번은 각각의 종목검색식이고 4번식이 합친 종목검색식입니다.
모두 속성에서 검색에 필요한 최소기간을 500봉으로 지정해서 검색하셔야 합니다.
1
var : mc(0),ms(0),m_up(False),S(0),S_고점(False),S_저점(False), 신고10(False);
var : bs_M(-1),bs_s고점(-1),bs_s저점(-1),bs_신고10(-1),조건(False);
Mc = Macd(12,26);
Ms = Ema(Mc,9);
M_up = Crossup(Mc,Ms) && Mc<0;
S = StochasticsK(12,5);
S_고점 = S<S[1] && S[1]>S[2] &&S[1]>=20 && s[1]<=50;
S_저점 = S>S[1] && S[1]>S[2] &&S[1]>=20 && s[1]<=50;
신고10= Highest(H,10)[1]<H;
if M_up Then
bs_M = 0;
Else
{
if bs_M >= 0 Then
bs_M = bs_M+1;
}
if S_고점 Then
bs_s고점 = 0;
Else
{
if bs_s고점 >= 0 Then
bs_s고점 = bs_s고점+1;
}
if S_저점 Then
bs_s저점 = 0;
Else
{
if bs_s저점 >= 0 Then
bs_s저점 = bs_s저점+1;
}
if 신고10 Then
bs_신고10 = 0;
Else
{
if bs_신고10 >= 0 Then
bs_신고10 = bs_신고10+1;
}
조건 = bs_M>bs_s고점 && bs_s고점 > bs_s저점 && bs_s저점>=bs_신고10;
Condition1 = 조건 == true and 조건[1] == False;
if Condition1 == true Then
Find(1);
2
var : m5(0),m20(0),크로스업(False),HH(0),H_High(0),LL(0),L_sum(0),Ls(0),L_sum1(0),cs(0),조건2(false),cnt(False);
M5=ma(c,5);
M20=ma(c,20);
크로스업=Crossup(M5,M20);
if 크로스업 == true Then
{
HH = H;
L_sum1 = L_sum[1];
CS = 0;
}
Else
{
if HH > 0 and H > HH Then
HH = H;
}
if HH==HH[1] && HH>H Then
H_High = HH;
LL = iff(M20>L,1,0);
L_sum=Accum(LL);
Ls= L_sum-L_sum1;
조건2 = Crossup(C,H_High) && Ls>0;
if 조건2 == true Then
CS = CS+1;
cnt = CS == 1;
Condition2 = cnt == true and cnt[1] == False;
if Condition2 == true Then
Find(1);
3
input : 배분1(0.236),배분2(1.01);
var : 중최고가(0),중최저가(0),경계(0),경계1(False),경계2(False),기준봉(0),기준봉1(false),기준봉2(false),결과기준(0);
var : 결과기준1(False),결과기준2(False),A(0);
var : eM5(0),eM10(0),eM20(0),eM60(0),eM120(0),eM240(0),eM480(0),BH(0),BC(0);
var : 평균(0),평균라인(0),B(0),AA(0);
중최고가=highest(H,20);
중최저가=Lowest(L,20);
경계=(중최고가+중최저가)/2-(중최고가-중최저가)*배분1;
경계1=crossup(c, 경계)&& c>o*배분2;
경계2=crossdown(c, 경계);
if 경계1 or 경계2 Then
기준봉 = O;
기준봉1=crossup(c, 기준봉);
기준봉2=crossdown(c, 기준봉);
if 기준봉1 or 기준봉2 Then
결과기준 = O;
결과기준1=crossup(C, 결과기준);
결과기준2=crossdown(C, 결과기준);
if 결과기준1 or 결과기준2 Then
A = O;
eM5=Ema(C,5);
eM10=Ema(C,10);
eM20=Ema(C,20);
eM60=Ema(C,60);
eM120=Ema(C,120);
eM240=Ema(C,240);
eM480=Ema(C,480);
BH=BollBandUp(20,2);
BC=ma(C,20);
평균=((eM5*2)+(eM10*2)+(eM20*3)+(eM60*2)+(eM120*3)+(eM240*2)+(eM480*2)+(BH*1)+(BC*1)) / 18;
평균라인=ema(ema(ema(평균, 5), 5), 5);
B = 평균라인 + 20*std(평균라인,5);
AA=sar(0.02,0.2);
Condition3 = C>=A && CROSSUP(C,B) && AA<=C;
if Condition3 == true Then
Find(1);
4
var : mc(0),ms(0),m_up(False),S(0),S_고점(False),S_저점(False), 신고10(False);
var : bs_M(-1),bs_s고점(-1),bs_s저점(-1),bs_신고10(-1),조건(False);
Mc = Macd(12,26);
Ms = Ema(Mc,9);
M_up = Crossup(Mc,Ms) && Mc<0;
S = StochasticsK(12,5);
S_고점 = S<S[1] && S[1]>S[2] &&S[1]>=20 && s[1]<=50;
S_저점 = S>S[1] && S[1]>S[2] &&S[1]>=20 && s[1]<=50;
신고10= Highest(H,10)[1]<H;
if M_up Then
bs_M = 0;
Else
{
if bs_M >= 0 Then
bs_M = bs_M+1;
}
if S_고점 Then
bs_s고점 = 0;
Else
{
if bs_s고점 >= 0 Then
bs_s고점 = bs_s고점+1;
}
if S_저점 Then
bs_s저점 = 0;
Else
{
if bs_s저점 >= 0 Then
bs_s저점 = bs_s저점+1;
}
if 신고10 Then
bs_신고10 = 0;
Else
{
if bs_신고10 >= 0 Then
bs_신고10 = bs_신고10+1;
}
조건 = bs_M>bs_s고점 && bs_s고점 > bs_s저점 && bs_s저점>=bs_신고10;
Condition1 = 조건 == true and 조건[1] == False;
var : m5(0),m20(0),크로스업(False),HH(0),H_High(0),LL(0),L_sum(0),Ls(0),L_sum1(0),cs(0),조건2(false),cnt(False);
M5=ma(c,5);
M20=ma(c,20);
크로스업=Crossup(M5,M20);
if 크로스업 == true Then
{
HH = H;
L_sum1 = L_sum[1];
CS = 0;
}
Else
{
if HH > 0 and H > HH Then
HH = H;
}
if HH==HH[1] && HH>H Then
H_High = HH;
LL = iff(M20>L,1,0);
L_sum=Accum(LL);
Ls= L_sum-L_sum1;
조건2 = Crossup(C,H_High) && Ls>0;
if 조건2 == true Then
CS = CS+1;
cnt = CS == 1;
Condition2 = cnt == true and cnt[1] == False;
input : 배분1(0.236),배분2(1.01);
var : 중최고가(0),중최저가(0),경계(0),경계1(False),경계2(False),기준봉(0),기준봉1(false),기준봉2(false),결과기준(0);
var : 결과기준1(False),결과기준2(False),A(0);
var : eM5(0),eM10(0),eM20(0),eM60(0),eM120(0),eM240(0),eM480(0),BH(0),BC(0);
var : 평균(0),평균라인(0),B(0),AA(0);
중최고가=highest(H,20);
중최저가=Lowest(L,20);
경계=(중최고가+중최저가)/2-(중최고가-중최저가)*배분1;
경계1=crossup(c, 경계)&& c>o*배분2;
경계2=crossdown(c, 경계);
if 경계1 or 경계2 Then
기준봉 = O;
기준봉1=crossup(c, 기준봉);
기준봉2=crossdown(c, 기준봉);
if 기준봉1 or 기준봉2 Then
결과기준 = O;
결과기준1=crossup(C, 결과기준);
결과기준2=crossdown(C, 결과기준);
if 결과기준1 or 결과기준2 Then
A = O;
eM5=Ema(C,5);
eM10=Ema(C,10);
eM20=Ema(C,20);
eM60=Ema(C,60);
eM120=Ema(C,120);
eM240=Ema(C,240);
eM480=Ema(C,480);
BH=BollBandUp(20,2);
BC=ma(C,20);
평균=((eM5*2)+(eM10*2)+(eM20*3)+(eM60*2)+(eM120*3)+(eM240*2)+(eM480*2)+(BH*1)+(BC*1)) / 18;
평균라인=ema(ema(ema(평균, 5), 5), 5);
B = 평균라인 + 20*std(평균라인,5);
AA=sar(0.02,0.2);
Condition3 = C>=A && CROSSUP(C,B) && AA<=C;
if Condition1 == true and
Condition2 == true and
Condition3 == true Then
Find(1);
즐거운 하루되세요
> 무건 님이 쓴 글입니다.
> 제목 : 오류발생의거 재등록하오니 변환부탁드립니다
> 앞서 올린수식이 잘못 다시 올립니다 잘 부탁드립니다
1.macd o 선 돌파
M = Macd(12,26);
Ms=eavg(M,9);
M_up=Crossup(M,Ms) && M<0
S=StochasticsSlow(12,5);
S_고점 = S<S(1) && S(1)>S(2) &&S(1)>=20 && s(1)<=50
S_저점 = S>S(1) && S(1)>S(2) &&S(1)>=20 && s(1)<=50
신고10= Highest(H(1),10)<H
bs_M=BarsSince(M_up);
bs_s고점 = BarsSince(S_고점);
bs_s저점 = BarsSince(S_저점);
bs_신고10 = BarsSince(신고10);
조건=
bs_M>bs_s고점 &&
bs_s고점 > bs_s저점 &&
bs_s저점>=bs_신고10
조건 &&!조건(1)
2.눌림돌파
M5=ma(c,5);
M20=ma(c,20);
크로스업=Crossup(M5,M20);
HH=HighestSince(1,크로스업,H);
H_High=
Valuewhen(1,HH==HH(1) && HH>H,HH);
LL=if(M20>L,1,0);
L_sum=sum(LL);
Ls=
L_sum-ValueWhen(1, 크로스업,L_sum(1));
조건=Crossup(C,H_High) && Ls>0
cnt=CountSince(크로스업,조건)==1
cnt && !cnt(1)
3.
중최고가=최고값(고가,20);
중최저가=최저값(저가,20);
경계=(중최고가+중최저가)/2-(중최고가-중최저가)*배분1
경계1=crossup(종가, 경계)&& 종가>시가*배분2
경계2=crossdown(c, 경계);
기준봉=valuewhen(1, 경계1 or 경계2, 시가);
기준봉1=crossup(종가, 기준봉);
기준봉2=crossdown(종가, 기준봉);
결과기준=valuewhen(1, 기준봉1 or 기준봉2, 시가);
결과기준1=crossup(종가, 결과기준);
결과기준2=crossdown(종가, 결과기준);
A=valuewhen(1, 결과기준1 or 결과기준2, 시가);
M5=eavg(C,5);
M10=eavg(C,10);
M20=eavg(C,20);
M60=eavg(C,60);
M120=eavg(C,120);
M240=eavg(C,240);
M480=eavg(C,480);
BH=BBandsUp(20,2);
BC=BBandsC(20,2);
평균=((M5*2)+(M10*2)+(M20*3)+(M60*2)+(M120*3)+(M240*2)+(M480*2)+(BH*1)+(BC*1)) / 18
평균라인=Tema(평균, 5, 지수);
B=평균라인 + 20*stdev(평균라인,5);
AA=sar(0.02,0.2);
C>=A && CROSSUP(C,B) && AA<=C
지표변수 배분1: 0.236
배분2: 1.02