예스스탁
예스스탁 답변
2023-10-25 14:09:59
안녕하세요
예스스탁입니다.
input : 기간(10), p(6), 기준(0), B기간(20), D1(2);
var : LL(0), HH(0), NL(0), NH(0), 저상(0),저하(0), 고상(0), 고하(0), Cnt1(0), Cnt2(0),이격률1(0),이격(0);
var : M60(0), M120(0), M240(0), 주가범위(False), 근접(False),M20(0), Bu(0), BB조건(False);
M20 = WMa(C, 20);
Bu = BollBandUp(B기간, D1);
주가범위 = C >= 1000 && C <= 100000;
LL = Lowest(L[1], 기간);
HH = Highest(H[1], 기간);
if L<LL[1] Then Cnt1 = index;
if (Index-cnt1)==(기간-p) Then 저상 = HH;
if (Index-cnt1)==(기간-p) Then 저하 = NL;
if H>HH[1] Then NH = H;
if H>HH[1] Then Cnt2 = index;
if (Index-cnt2)==(기간-p) Then 고상 = NH;
if (Index-cnt2)==(기간-p) Then 고하 = LL;
if 이격 = C/저상*100-100 Then 이격률1 = 이격;
BB조건 = BU > O && BU < C;
if 주가범위 && BB조건 && M20[2] < M20[1] && M20[1] < M20 && CrossUp(이격률1, 기준) Then
Condition1 = true;
Else
Condition1 = False;
input : 이평기간(60),이전기간(20),signal(20);
var : Ha(0),Ca(0),La(0),MM(0),Mnt_20(0),Mnt_20S(0), 주가범위2(False);
Ha = wma(H, 이평기간);
Ca = wma(C, 이평기간);
La = wma(L, 이평기간);
MM=(Ha[1]+La[1]+Ca[1])/3*2-La[1];
Mnt_20=MM/wma(MM[1],이전기간)*100;
Mnt_20S=Ema(Mnt_20,signal);
if 주가범위2 && M20[2] < M20[1] && M20[1] < M20 && CrossUp(Mnt_20,Mnt_20S) Then
Condition2 = true;
Else
Condition2 = False;
input : 종류(3),기간1(60),기준기간(20),기준선2(50);
if 종류 == 1 Then
var1 = ma(c, 기간1);
if 종류 == 2 Then
var1 = ema(c, 기간1);
if 종류 == 3 Then
var1 = wma(c, 기간1);
Var2 = iff(var1 > var1[1],1,0);
Var3 = wma(Var2,기준기간)*210;
if 주가범위 && CrossUp(Var3, 기준선2) && M20[2] < M20[1] && M20[1] < M20 Then
Condition3 = true;
Else
Condition3 = False;
Inputs: R기간(20),TurnLen(9), StdLen(26), PrdLen(52);
Variables: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),aMM(0),aM5(0),aAA(0);
input : a기간1(20);
var : aHH(0), aHc(0), aLL(0), aLc(0), aCc(0),aHH2(0), aHc2(0),aLL2(0),aLc2(0),aCc2(0) ;
aM5 = WMa(C,5);
aMM = Rsi(R기간);
전환선 = (Highest(MM, TurnLen) + Lowest(MM, TurnLen)) / 2;
기준선 = (Highest(MM, StdLen) + Lowest(MM, StdLen)) / 2;
후행스팬 = Close ;
선행스팬1 = (전환선 + 기준선) / 2 ;
선행스팬2 = (Highest(MM, PrdLen) + Lowest(MM, PrdLen)) / 2;
if Index%a기간1 == 1 Then
{ aHH = H;
aLL = L; }
if aHH < H Then aHH = H;
if aLL > L Then aLL = L;
if Index%기간1 == 1 Then {
aHc = aHH[1];
aLc = aLL[1];
aCc = C[1] ; }
aAA = (aHc+aLc+aCc)/3;
if 주가범위 && CrossUp(선행스팬1, 선행스팬2) && C > aAA Then
Condition4 = true;
Else
Condition4 = False;
if iff(CountIf(Condition1,5)[1]>=1,1,0)+
iff(CountIf(Condition2,5)[1]>=1,1,0)+
iff(CountIf(Condition3,5)[1]>=1,1,0)+
iff(CountIf(Condition4,5)[1]>=1,1,0) ==3 Then
Plot1(L,"검색");
즐거운 하루되세요
> 손느린주식 님이 쓴 글입니다.
> 제목 : 안녕하세요. 수식 문의 드립니다.
> 안녕하세요. 아래의 신호 4개를 사용하는데요...
1봉전 기준 5봉이내 4개의 신호 중 3개의 신호가 발생되면 뜨는 신호를 만들고 싶습니다.
/// 1.신호
input : 기간(10), p(6), 기준(0), B기간(20), D1(2);
var : LL(0), HH(0), NL(0), NH(0), 저상(0),저하(0), 고상(0), 고하(0), Cnt1(0), Cnt2(0),이격률1(0),이격(0);
var : M60(0), M120(0), M240(0), 주가범위(False), 근접(False),M20(0), Bu(0), BB조건(False);
M20 = WMa(C, 20);
Bu = BollBandUp(B기간, D1);
주가범위 = C >= 1000 && C <= 100000;
LL = Lowest(L[1], 기간);
HH = Highest(H[1], 기간);
if L<LL[1] Then Cnt1 = index;
if (Index-cnt1)==(기간-p) Then 저상 = HH;
if (Index-cnt1)==(기간-p) Then 저하 = NL;
if H>HH[1] Then NH = H;
if H>HH[1] Then Cnt2 = index;
if (Index-cnt2)==(기간-p) Then 고상 = NH;
if (Index-cnt2)==(기간-p) Then 고하 = LL;
if 이격 = C/저상*100-100 Then 이격률1 = 이격;
BB조건 = BU > O && BU < C;
if 주가범위 && BB조건 && M20[2] < M20[1] && M20[1] < M20 && CrossUp(이격률1, 기준) Then plot1(L*0.99, "Dar저상 기준선 Bu 돌파");
/// 2. 신호
input : 이평기간(60),이전기간(20),signal(20);
var : Ha(0),Ca(0),La(0),MM(0),Mnt_20(0),Mnt_20S(0), 주가범위(False), M20(0);
주가범위 = C >= 1000 && C <= 100000;
M20 = WMa(C, 20);
Ha = wma(H, 이평기간);
Ca = wma(C, 이평기간);
La = wma(L, 이평기간);
MM=(Ha[1]+La[1]+Ca[1])/3*2-La[1];
Mnt_20=MM/wma(MM[1],이전기간)*100;
Mnt_20S=Ema(Mnt_20,signal);
if 주가범위 && M20[2] < M20[1] && M20[1] < M20 && CrossUp(Mnt_20,Mnt_20S) Then Plot1(L*0.97, "피봇 n개 이전값");
/// 3.신호
input : 종류(3),기간1(60),기준기간(20),기준선2(50);
var : 주가범위(false), M20(0);
M20 = wma(C,20);
주가범위 = C >= 1000 && C <= 100000;
if 종류 == 1 Then
var1 = ma(c, 기간1);
if 종류 == 2 Then
var1 = ema(c, 기간1);
if 종류 == 3 Then
var1 = wma(c, 기간1);
Var2 = iff(var1 > var1[1],1,0);
Var3 = wma(Var2,기준기간)*210;
if 주가범위 && CrossUp(Var3, 기준선2) && M20[2] < M20[1] && M20[1] < M20 Then Plot1(L*0.97,"이평강도추세");
/// 4.신호
Inputs: R기간(20),TurnLen(9), StdLen(26), PrdLen(52);
Variables: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),MM(0), 주가범위(False),M5(0),M20(0), AA(0);
input : 기간1(20);
var : HH(0), Hc(0), LL(0), Lc(0), Cc(0),HH2(0), Hc2(0), LL2(0), Lc2(0), Cc2(0) ;
M5 = WMa(C,5);
M20 = WMa(C,20);
주가범위 = C >= 1000 && C <= 100000;
MM = Rsi(R기간);
전환선 = (Highest(MM, TurnLen) + Lowest(MM, TurnLen)) / 2;
기준선 = (Highest(MM, StdLen) + Lowest(MM, StdLen)) / 2;
후행스팬 = Close ;
선행스팬1 = (전환선 + 기준선) / 2 ;
선행스팬2 = (Highest(MM, PrdLen) + Lowest(MM, PrdLen)) / 2;
if Index%기간1 == 1 Then
{ HH = H;
LL = L; }
if HH < H Then HH = H;
if LL > L Then LL = L;
if Index%기간1 == 1 Then {
Hc = HH[1];
Lc = LL[1];
Cc = C[1] ; }
AA = (Hc+Lc+Cc)/3;
if 주가범위 && CrossUp(선행스팬1, 선행스팬2) && C > AA Then Plot1(L*0.96, "Rsi구름대 돌파");
항상 감사합니다.