커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3305
글번호 230811
답변완료
수식 문의 드립니다.
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
898
글번호 178144
2wnwn 님에 의해서 삭제되었습니다.
2024-04-01
22
글번호 178140
답변완료
종목검색식좀 부탁드립니다
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
874
글번호 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
1070
글번호 178131
답변완료
자동으로 선 긋기
안녕하세요
1분봉이던 5분봉 이던 그날 첫봉의 고가와 저가를 횡으로 긋는 선을 어떻게 그릴지요.. 첫 봉의 고가 저가입니다.
3일치의 첫봉의 고가/저가 횡선이 그려지면 좋겠습니다.
수고하세요... 감사합니다.
2024-04-01
1059
글번호 178130
답변완료
질문
전일종가대비 5프로이상 상승하면
매수금지
2024-04-01
973
글번호 178129
답변완료
종목검색식 요청드립니다.
당일 15%이상 상승한 종목중에 1분봉에서 아래신호가 뜨는 종목을 검색하는 검색식을 만들고 싶습니다. 도움 부탁 드립니다.
상승율과 아래 ERate,Frate는 조정가능하게 부탁드립니다. 감사합니다.^^
지표설정 : 기간1(20), 기간2(60), Period(20), Period2(20), D1(2)
A=MA(C, 기간1, 가중);
B=MA(C, 기간2, 가중);
D=(A(0)/c) - (A(1)/c);
E=EnvelopeDown(Period,Percent);
F=BBandsDown(Period2,D1);
D>D(1) and D(2)<D(1) and B>A and C<E*ERate and C<=F*Frate
2024-04-01
1242
글번호 178128
답변완료
문의드립니다.
이동평균선 만들 때 앞에 5봉을 제외하고 만들 수 있는지 궁금합니다.
2024-04-01
848
글번호 178125
답변완료
수식부탁드립니다
다음과 같은 지표식에
위아래로 임의 간격의 추세선을 하나씩 더 넣고 싶습니다.
예를 들면 상단에서 -3 하단에서 +3의 위치에 선을 긋고자 합니다.
미리 감사드립니다.
INPUT : LENGTH(5);
VAR : TCHAN(0), BCHAN(0);
TCHAN = HIGHEST(H, LENGTH)[0];
BCHAN = LOWEST(L, LENGTH)[0];
PLOT1(TCHAN, "TOP1",MAGENTA);
PLOT2(BCHAN, "BOT1",MAGENTA);
2024-04-01
788
글번호 178124