답변완료
종목검색식 부탁드립니다.
예스 검색식으로 부탁드립니다.
max( avg(C,short), avg(C,mid), avg(C,long)) <
min( avg(C,short), avg(C,mid), avg(C,long)) * (1+Percent/100) &&
C > highest(H(1),5) && C(1) <= highest(H(2),5)
(지표변수) short: 5 / mid: 20 / long: 60 / Percent: 5
2024-10-01
653
글번호 183890
종목검색
답변완료
종목검색식 부탁드립니다.
예스 종목검색식으로 변환 부탁드립니다.
A=ma(가격, 기간, 이평종류);
B=TEMA(c,Period);
D=LRL(P);
CrossUp(C, A) && CrossUp(C, B) && CrossUp(C, D) && V>수량
(지표변수) 가격: 종가 / 기간: 120 / 이평종류: 단순 / Period: 60 / P: 70 / 수량: 25000
감사합니다...^^
2024-10-01
651
글번호 183889
종목검색
답변완료
수식문의입니다
input : 하락갭율(1.5), 양음봉기준율(0.1), 갭신호기간(10), 음양봉횟수(3);
var : cnt(0), 양봉(False), 음봉(False), GMP(0) ;
양봉 = C >= O *(1+양음봉기준율/100) ;
음봉 = C < O*(1+양음봉기준율/100);
Array : WeekO[20](0),WeekC[20](0);
if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then
{
WeekO[0] = O; #주봉시가
For cnt = 1 to 19
{
WeekO[cnt] = WeekO[cnt-1][1];
WeekC[cnt] = WeekC[cnt-1][1];
}
}
WeekC[0] = C;
if Bdate > Bdate[1]+1000 Then
{
value8 = O; #연봉시가
value9 = value8[1];
}
if Bdate > Bdate[1]+30 Then
{
value10 = O; #월봉시가
value11 = value10[1];
}
#MACD비율선
#========================================================================
Input : shortPeriod(12), longPeriod(26), sPeriod(9),M기준0선(-0.099),M기준낙폭선(-7.5) ;
Var : MACDv(0), MACDsig(0), Macdosc(0), MACDR(0), MsigR(0), MoscR(0) ;
MACDv = MACD(shortPeriod, longPeriod);
MACDsig = ema(MACDv,sPeriod);
macdosc = MACDv-MACDsig;
MACDR = macdv/C*100; #비율MACD선
MsigR = MACDsig/C*100; #비율MACD 시그널선
MoscR = macdosc/C*100; #비율MACD 오실레이터 막대량
Condition1 = C[1] * (1-하락갭율/100) >= O and C[1] > O and O[1] > O ; #하락갭
if Condition1 == true and C <= O Then #하락갭이면서 음봉인 경우
{
if 양봉[1] == true Then
{
Var6 = O[1] ;
Var7 = O ;
}
if 음봉[1] == true Then
{
Var6 = C[1] ;
Var7 = O ;
}
}
if Condition1 == true and C > O Then #하락갭이면서 양봉인 경우
{
if 양봉[1] == true and C <= C[1] Then
{
Var6 = O[1] ;
Var7 = O ;
}
if 양봉[1] == true and C > C[1] Then
{
Var6 = C ;
Var7 = C[1] ;
}
if 음봉[1] == true and C <= C[1] Then
{
Var6 = C[1] ;
Var7 = C ;
}
if 음봉[1] == true and C > C[1] Then
{
Var6 = C[1] ;
Var7 = O ;
}
}
Condition2 = Lowest(L,60) == Lowest(L,5) or Lowest(Min(C,O),60) == Lowest(Min(C,O),5); #최저가 위치설정
Condition3 = Var7 > 0 and Condition1 == true and Var7[1] > Var7 and C >= Var7 and C > O and Condition2 == true and ( C < WeekO[0] or C < C[1] or MoscR < MoscR[1] ); # 일정율의 하락갭이 발생되고(Condition1 == true), 발생된 하락갭은 이전의 하락갭보다 하향되어야 하고(Var7[1] > Var7), 최저가위치(Condition2 == true)에서 발생되었으나 종가가 주봉의 시가보다 낮거나 macd오실레이터량이 하락하거나 전일종가보다 낮은 경우
신호수식>
기준봉(Condition3 == true)이 발생하는 경우 해당캔들의 시가를 저장하고, 이 캔들을 제외한 이후의 캔들중 음봉후 양봉형태로 발생하는 캔들중 N회(3회)이상 발생되면서 이 캔들의 시가는 신호봉의 시가보다 낮아야 하고 일정조건( C > WeekO[0] or C > C[1] or MoscR > MoscR[1] )도 추가적으로 만족하는 캔들에서 신호검색이 되게 수식 작성 부탁합니다.
지표수식>
- 주봉의 시작봉캔들의 시가(WeekO[0])와 종가, 중심가에 대한 지표수식.
- 월봉의 시작봉캔들의 시가(value10)와 종가, 중심가에 대한 지표수식.
2024-10-01
823
글번호 183888
검색
답변완료
윌리엄식 RSI 수식 에러 수정 부탁합니다.
다음은 윌리엄식 RSI 키움 수식입니다.
---------------------------------------------------------------
rsi_r = (C-C(1));
qq=100 - (100/(1+eavg(if(rsi_r>0,rsi_r ,0), shortPeriod) /
eavg(if(rsi_r<0,abs(rsi_r),0), shortPeriod)));
qq1 = eavg(qq,longPeriod);
r_sig = eavg(qq1, signal);
r_osc = qq1 - r_sig;
---------------------------------------------------------------
위 수식을 아래 처럼 if을 예스랭기지에서 해보니 계속 에러만 납니다.
rs_r = C-C[1];
컨디션1 =
if rs_r>0 Then
{
rs_r
}
Else if rs_r<0 Then
{
0
}
컨디션2 =
if rs_r<0 Then
{
abs(rs_r)
}
Else if rs_r<0 Then
{
0
}
qq = 100-(100/(1+Ema(컨디션1, shortPeriod)/Ema(컨디션2, shortPeriod)));
qq1 = ema(qq,longPeriod);
r_sig = ema(qq1, signal);
r_osc = qq1 - r_sig;
뭐가 잘 못 됐는지 고쳐주실 수 있을까요?
2024-10-01
795
글번호 183886
지표
답변완료
프리장에서의 캔들의 크기와 관련 추가사항입니다.
항상 빠르고 친절한 답변에 감사를 드립니다.
작성해 주신 식을 제가 운영하는 로직에 대입해 보았습니다.
처음 식을 적용했을 때는 총손익이 높아지길래 역시 프리장의 캔들의 크기가 본장에서 영향을 미치는 구나 생각을 했었는데 오히려 거래 횟수가 늘어 시뮬레이션의 거래내역을 살펴 봤더니 프리장에서의 실적이 누적되어 있었습니다.
알려주신 식이 프리장의 캔들크기에만 영향을 미치게할 수 없는지요?
참고로 TimeHigh(StartTime,EndTime) 함수를 사용해 봤지만 제대로 적용되는지 알수가 없었습니다.
다음은 운용하고 있는 로직(일부분)에 적용한 내용입니다.
input : THL_Bcan(109), THL_Scan(72);
input : 시간(70000), 시작시간(70000), 종료시간(213000), StartTime(213100),EndTime(055623);
var : Tcond(False);
var : HH(0), LL(0), 프리캔들(0) ;
buySignal = 프리캔들 >= THL_Bcan and
buySignal = 프리캔들 >= THL_Scan and
//프리장캔들
if (sdate != sdate[1] and stime >= 종료시간) or
(sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then
{
Tcond = true;
HH = H;
LL = L;
}
if (sdate != sdate[1] and stime >= 종료시간) or
(sdate == sdate[1] and stime >= 종료시간 and stime[1] < 종료시간) Then
{
Tcond = False;
}
if Tcond == true Then
{
if HH > 0 and H > HH Then
HH = H;
if LL > 0 and L < LL Then
LL = L;
}
프리캔들 = (HH - LL);
//본장진입시간
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if Bdate != Bdate[1] Then
{
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
Tcond = true;
if Tcond == true Then
{
if buySignal == true Then
Buy("Buy");
if buyExit == true Then
ExitLong("BExit");
if sellSignal == true Then
Sell("Sell");
if sellExit == true Then
ExitShort("SExit");
}
2024-10-01
667
글번호 183885
시스템