답변완료
수식 변환 요청
다음은 키움수식인데 예스 수식으로
변환 부탁드립니다 감사합니다
A=atr(A_period);
upT=eavg(가격+A*ratio,기간);
dnT=eavg(가격-A*ratio,기간);
CC=CCI(period);
turn=
if(CC>=0 && dnT>dnT(1),1,
if(CC<0 && upT<upT(1),-1,0));
라인=if(turn==-1,upT,dnT);
Valuewhen(1,turn==1 or turn==-1,라인)
A_period : 10
period :20
ratio : 1
가격 : (H+L)/2
기간 : 5
2024-04-01
895
글번호 178153
지표
답변완료
수식 문의 드립니다.
INPUT:capital(21000000),st(150000);
VARS:ratio(0),risk(0),inn(0),CH(0),CL(0),count(0),DC(0),bet(0),bet2(0),account(0),HH(0),LL(0),nor(0),jj(0),jh(0),hhl(0),llh(0),hhhl(0),lllh(0);
bet = int(min((Capital/C),ratio*(capital*inn)/risk));
ratio = data3(C)/C;
risk = jh-hhl;
inn =0.01;
if Bdate != Bdate[1] Then
count = 0;
if CurrentContracts > CurrentContracts[1] Then
count = count +1;
Nor=(data3(Highd(1))+data3(lowd(1))+data3(Closed(1)))/3;
jh=2*Nor-data3(lowd(1));
if CrossUp(data3(C),JH) Then Begin
HHL =data3(L);
End;
IF Data3(opend(0))<JH and crossup(data3(C),JH) and count==0 and stime < st THEN
BUY("B1", AtMarket,def,bet);
if EntryName=="B1" and MarketPosition==1 and data3(C)<hhl Then
ExitLong("BX1",AtMarket);
적용종목은 KODEX레버리지이고 data3는 kospi200 선물입니다.
핵심 수식을 보호하기 위해 조금 수정하였습니다.
시스템 자체의 신호는 제대로 나오고 있으나 비율 베팅을 위해 적은 구문이
제대로 적용이 되지 않는 것 같아서 문의드립니다.
#bet=매수숫자
bet = int(min((Capital/C),ratio*(capital*inn)/risk));
ratio = data3(C)/C;
risk = jh-hhl;
inn =0.01;
위 수식의 의도는 총자본금(capital)을 사용하여 몇주(bet)를 살것인지를 정하는 것입니다. 최대치는 자본을 종가로 나눈 것이고 최소치는 ratio*(capital*inn)/risk
입니다. 위의 수식을 만들게 된 배경은
진입 자리 JH와 손절 자리 HHL의 차이를 risk를 1%로 맞추고 risk를 ETF가격으로 비율전환하여
몇주를 베팅할 것인지를 정하기 위함입니다.
식으로 정리 하자면 risk*(C/data3(C))*bet < (capital*0.01)
bet< (data3(C)/C)*(capital*0.01)/risk
이와 같은 개념으로
bet = int(min((Capital/C),ratio*(capital*inn)/risk));
와 같은 수식을 작성하게 되었습니다.
즉 jh와 hhl의 폭이 적으면 베팅을 크게 폭이 크면 베팅을 적게하도록 작성한 것입니다.
그런데 시스템에 적용했을 때와 시뮬레이션을 돌렸을 때 베팅숫자가
다르게 나타납니다.
확인 및 조언 부탁드립니다. 감사합니다.
2024-04-01
790
글번호 178144
시스템
답변완료
종목검색식좀 부탁드립니다
VV=highest(V(1), period);
accumulationVolume=valuewhen(1, V>VV*2 and C(1)<C, V);
accumulationOpen=valuewhen(1, V>VV*2 and C(1)<C, min(C, O));
AA=C<=accumulationOpen and V*multiple<accumulationVolume;
condition=AA and O<C and (disparity(250)<=110 or disparity(125)<=110);
if(condition, O, 0);
VV=highest(V(1), period);
accumulationOpen=valuewhen(1, V>VV*2 and C(1)<C, min(C, O));
crossup(c,accumulationOpen)
multiple 2
period 20
항상감사드립니다.
수식 변환 종목검색식 부탁드립니다.
2024-04-01
799
글번호 178136
종목검색
답변완료
검색식 부탁드립니다. _(_ _)_
안녕하세요. 아래의 키움수식을 검색신호,종목검색 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)
그리고 아래의 수식 종목검색에서 시가갭으로 돌파했을 때 종목검색을 추가하고 싶습니다.
var : MM(0),KK(0),MO(0),mx(0);
var : M1(0),M2(0),M3(0),M4(0),M5(0),M6(0);
var : M7(0),M8(0),M9(0),M10(0),M11(0),M12(0);
MM = floor(date/100);
if MM != MM[1] Then
{
MO = O;
M1 = KK[1];
M2 = M1[1];
M3 = M2[1];
M4 = M3[1];
M5 = M4[1];
M6 = M5[1];
M7 = M6[1];
M8 = M7[1];
M9 = M8[1];
M10 = M9[1];
M11 = M10[1];
M12 = M11[1];
mx = Max(M1, M2, M3, M4, M5,M6, M7, M8, M9, M10, M11, M12);
}
KK = iff(MO > C, MO, 0);
if mx > 0 and CrossUp(C,mx) Then
Find(1);
마지막으로 아래의 수식도 시가갭으로 돌파시 종목검색을 추가하고 싶습니다.
var : 당월시가(0),전월시가(0);
var : 당월종가(0),전월종가(0);
if sDate > sDate[1]+30 Then
{
당월시가 = O;
전월시가 = 당월시가[1];
전월종가 = 당월종가[1];
}
당월종가 = C;
if 전월시가 > 0 Then
{
var1 = ((전월시가+전월종가)/2 + 당월시가)/2;
if CrossUp(C,var1) Then
Find(1);
}
도와주심에 항상 감사드립니다. _(_ _)_
2024-04-02
1003
글번호 178131
종목검색