커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
2550
글번호 230811
답변완료
새로운날의 시간대 데이타 저장하기
//sTime : 봉의 시작시간, sDate :봉의 시작날짜
var : cnt(0),opmax(0),opmin(0),opmid(0);
Array : DO[10](0),DH[10](0),DL[10](0),DC[10](0);
//sTime : 봉의 시작시간, sDate :봉의 시작날짜
if (sDate != sDate[1] and sTime >= 84500) Or
(sDate == sDate[1] and sTime >= 84500 and sTime[1] < 154500) Then
{
DO[0] = O;
DH[0] = H;
DL[0] = L;
DC[0] = C;
for cnt = 1 to 9
{
DO[cnt] = DO[cnt-1][1];
DH[cnt] = DH[cnt-1][1];
DL[cnt] = DL[cnt-1][1];
DC[cnt] = DC[cnt-1][1];
}
}
if sTime >= 84500 and sTime <= 91500 then
{
DC[0] = C;
if DH[0] > O and H > DH[0] Then
DH[0] = H;
if DL[0] < O and L < DL[0] Then
DL[0] = L;
opmax = DH[0];//85000 ~ 91500 까지의 최고값(앞에 첫봉은 버린다)
opmin = DL[0];//85000 ~ 91500 까지의 최저값(앞에 첫봉은 버린다)
opmid = (opmax + opmin)/2;
}
plot4(opmax,"opmax");
plot5(opmid,"opmid");
plot6(opmin,"opmin");
///85000 ~ 91500 까지의 최고저값(앞에 첫봉은 버린다)을 출력하는식 입니다
데이타가 잘못 추력되고 있어서 문의 합니다 . 수고 부탁드리겠 습니다.
2024-06-26
719
글번호 181005
산수유 님에 의해서 삭제되었습니다.
2024-06-26
0
글번호 181004
답변완료
검색식 부탁 드립니다
2
input : L기간(15),R기간(12);
input : N(14),K(8),간격(5);
if Highest(H,L기간+R기간+1)==H[R기간] Then
{
var1 = H[R기간];
}
if lowest(L,L기간+R기간+1)==L[R기간] Then
{
var2 = L[R기간];
}
Var3 = (var1+Var2)/2;
Var4 = Ema(c,n);
value1 = Var4[k];
value2 = Var4[k+간격];
value3 = Var4[k+간격*2];
value4 = Var4[k+간격*3];
value5 = Var4[k+간격*4];
if var1[1] > 0 and Var2[1] > 0 and
var3[1] >= max(value1,Value2,Value3,Value4,Value5) and min(value1,Value2,Value3,Value4,Value5) >= Var2[1] and
CrossUp(c,Var3[1]) Then
Find(1);
이 검색식은 중심선을 돌파한 종목을 잡아 주는데
아직 중심선을 돌파 하지 않은 종목 검색식도 가능한가요
가능하시면 부탁 드립니다
2024-06-26
897
글번호 181001
답변완료
청산논리
2개의 청산을 조건에 따라 연결하려고 합니다
es01,es02청산식을 합치는게 아니라
분리된 상태에서 조건으로 간접연결하는겁니다
if 조건1 then
exitshort("es01")
if 조건2 then
exitshort("es02")
위의 산식을
진입후,
1)첫봉~3봉사이에서 조건1을 만족할때
조건3을 만족시 es02로 청산
조건3을 불만족시 es01로 청산
2)4봉이후에는 es01로 청산 하려합니다
부탁드립니다
2024-06-26
712
글번호 180986
답변완료
종목검색부탁드립니다.
안녕하세요?
1. 15%이상 상승종목
2. 15%이상 상승 후 5봉이후부터 최저거래량 발생
3.종가는 20일선이 크고 60일선이 작은 그 사이에
예시) 20일선 > C >60일선
이런 종목을 검색하고 싶습니다.
감사합니다.
2024-06-26
653
글번호 180985
불스아이 님에 의해서 삭제되었습니다.
2024-06-26
1
글번호 180984
회원 님에 의해서 삭제되었습니다.
2024-06-26
13
글번호 180983
답변완료
시스템 로직으로 완성해 주시면 감사하겠습니다.
다음의 로직을 시스템식으로 완성해 주시면 감사하겠습니다.
input : length(20);
input : len2(10);
input : showsignals(true);
input : highlighting(true);
var : upper(0),lower(0);
lower = lowest(L,length);
upper = highest(H,length);
var : up(0),down(0),sup(0),sdown(0);
var : k1(0),k2(0),k3(0),k4(0),i1(-1),i2(-1);
up=highest(high,length);
down=lowest(low,length);
sup=highest(high,len2);
sdown=lowest(low,len2);
if high >= up[1] Then
i1 = 0;
Else
{
if i1 >= 0 Then
i1 = i1+1;
}
if Low <= down[1] Then
i2 = 0;
Else
{
if i2 >= 0 Then
i2 = i2+1;
}
K1=iff(i1 <=i2, down , up);
K2=iff(i1 <= i2,sdown,sup);
K3=iff(close>K1,down,nan);
K4=iff(close<K1,up,nan);
var : buySignal(False),sellSignal(False),buyExit(False),sellExit(False);
var : O1(-1),O2(-1),O3(-1),O4(-1);
var : E1(-1),E2(-1),E3(-1),E4(-1);
var : tx1(0),tx2(0),tx3(0),tx4(0);
var : tx5(0),tx6(0),tx7(0),tx8(0);
buySignal=high==upper[1] or CrossUp(high,upper[1]);
sellSignal = low==lower[1] or CrossUp(lower[1],low);
buyExit=low==sdown[1] or CrossUp(sdown[1],low);
sellExit = high==sup[1] or CrossUp(high,sup[1]);
if BuySignal == true Then
var1 = Index;
if sellSignal == true Then
var2 = Index;
if buyExit == true Then
var3 = Index;
if sellExit == true Then
var4 = Index;
O1= IFf(var1 > 0,Index-var1,-1);
O2= IFf(var2 > 0,Index-var2,-1);
O3= IFf(var3 > 0,Index-var3,-1);
O4= IFf(var4 > 0,Index-var4,-1);
if BuySignal[1] == true Then
var5 = Index;
if sellSignal[1] == true Then
var6 = Index;
if buyExit[1] == true Then
var7 = Index;
if sellExit[1] == true Then
var8 = Index;
E1= IFf(var5 > 0,Index-var5,-1);
E2= IFf(var6 > 0,Index-var6,-1);
E3= IFf(var7 > 0,Index-var7,-1);
E4= IFf(var8 > 0,Index-var8,-1);
if buySignal and O3<O1[1] Then
{
tx1 = Text_New(sDate,sTime,down,"●");
Text_SetColor(tx1,Green);
playsound("C:₩KiwoomGlobal₩sound₩매수신호발생1.wav");
}
if buySignal and showsignals and O3<O1[1] Then
{
tx2 = Text_New(sDate,sTime,down,"▲");
Text_SetColor(tx2,Green);
}
if sellSignal and O4<O2[1] Then
{
tx3 = Text_New(sDate,sTime,up,"●");
Text_SetColor(tx3,Red);
playsound("C:₩KiwoomGlobal₩sound₩매도신호발생1.wav");
}
if sellSignal and showsignals and O4<O2[1] Then
{
tx4 = Text_New(sDate,sTime,down,"▼");
Text_SetColor(tx4,Red);
}
if buyExit and O1<O3[1] Then
{
tx5 = Text_New(sDate,sTime,up,"●");
Text_SetColor(tx5,blue);
playsound("C:₩KiwoomGlobal₩sound₩시세포착3.wav");
}
if buyExit and showsignals and O1<O3[1] Then
{
tx6 = Text_New(sDate,sTime,down,"▼");
Text_SetColor(tx6,blue);
}
if sellExit and O2<O4[1] Then
{
tx7 = Text_New(sDate,sTime,down,"●");
Text_SetColor(tx7,blue);
playsound("C:₩KiwoomGlobal₩sound₩시세포착1.wav");
}
if sellExit and showsignals and O2<O4[1] Then
{
tx8 = Text_New(sDate,sTime,down,"▲");
Text_SetColor(tx8,blue);
}
2024-06-26
872
글번호 180982
답변완료
수식문의 드립니다
안녕하세요
수고많으십니다.
1. (0봉제외)60봉 동안 전봉대비 체결강도 변동률이 50% 2회이상 발생한 종목 검색식 부탁드립니다.
(예 1봉전 체결강도가 100% 라고 할때 현제봉이 150% 면 50% 이상 발생)
2. (0봉제외)60봉 동안 체결강도가 200% 이상 (200% 5회 이상 체결강도가 나타날때 종목검색식)
3.(0봉제외)60봉동안 체결강도 변동율이 800% 이상 발생한 종목 검색식 부탁드립니다.
항상 감사 드립니다.
건강 하세요^^
2024-06-26
926
글번호 180981