커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7680
글번호 230811
답변완료
간단한 질문.
var : cc(0),cnt(0) ;
if date<>date[1] then {
cc = 0 ;
cnt = 0 ; }
if DayIndex >= 0 then {
cc = cc + (c -o ) ;
cnt = cnt + 1 ; }
MessageLog(" %.2f , %.0f , %.2f", cc , cnt , c- dayopen);
cc와 c - dayopen 값은 같아야 하는 것 아닌가요 ?
메세지로그로 확인시 틀리게 나오네요.
2012-02-17
404
글번호 47908
답변완료
수식작성 부탁드립니다
특정가격을 입력하면 그가격이상에서 매수되서 청산후 계속 매수되는 수식부탁합니다
예를 들어
2012년 2월 20일 9시 1분 이후에 267.00보다 크면 매수진입
매수후 트레일링스탑 적용하여 스탑에 걸려 청산되면
다시 매수진입되는 진입과 청산수식..
계속 매수진입하고 청산되면 다시 매수진입되도록 수식부탁합니다
감사합니다
2012-02-17
424
글번호 47907
답변완료
검색식
15일내 상한가 없고 시초가7%이상 15%이내 상승종목 검색식 부탁드립니다.
2012-02-17
401
글번호 47903
답변완료
수식부탁드립니다---------
input:봉수(8),시간(40);
if time-stime[봉수] <시간 and stime >= 90400 then{
if (MarketPosition == 0 or highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*10) and C > C[30] then
Sell();
if (MarketPosition == 0 or Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*10) and C < C[30] then
buy();
}
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*4 Then
exitlong("bx",AtStop,EntryPrice);
if MarketPosition == -1 and Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*4 Then
ExitShort("sx",AtStop,EntryPrice);
SetStopLoss(PriceScale*10,PointStop);
//시간청산------------------------------------------------------------
var91 = int(date/100)-int(date/10000)*100; //월
var92 = date - int(date/100)*100; //일
var93 = DayOfWeek(date); //요일
if var91%1 == 0 and var92 >= 8 and var92 <= 14 and var93 == 4 then {
SetStopEndofday(144800);
}
else {
SetStopEndofday(150100);
}
청산을 추가해주세요
20틱이익후에 5틱밀리거나
40틱이익후에 7틱밀리거나
10 이평이 전봉보다 반대로 꺽이면 청산
수고하세요--------
2012-02-17
415
글번호 47894
답변완료
수정부탁드립니다----
//일정기간의 최고저값 를 테마한값//
Input:length1(65),length2(150),장기전봉차(0.006),초장기전봉차(0),연속봉수(30);
Input:변동기간(0),변동치(0);
Var:초장기봉기간(1),장기봉기간(1);
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0),당일손익(300000);
var:Ep(0),T1(0),T2(0),T3(0),TEMA82(0);
var:TEMA71(0),eep(0),tt1(0),tt2(0),tt3(0),TEMA92(0);
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var16 = 1 to 20{
if sdate == EntryDate(var16) Then{
count = count+1;
PLR = PLR+PositionProfit(var16);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
//당일누적손익계산 끝
value6 = (당일손익/BigPointValue);
//장기최고저테마값 시작**************************************************
if dayindex+1 < 장기봉기간 Then{
var81 = DayHigh;
var82 = DayLow;
}
Else{
var81 = highest(H,장기봉기간);
var82 = Lowest(L,장기봉기간);
}
value81 = (var81 - var82)/2+var82;
Ep = 2/(LENGTH1+1);
if dayindex == 0 Then
T1 = value81;
Else
T1 = value81*EP + T1[1] * (1-EP);
if dayindex <= 1 Then
T2 = T1;
Else
T2 = T1*EP + T2[1] * (1-EP);
if dayindex <= 2 Then
T3 = T2;
Else
T3 = T2*EP + T3[1] * (1-EP);
TEMA82 = (3 * T1) - (3 * T2) + (T3);
//장기최고저테마값 끝**************************************************
//초장기최고저테마값 시작**************************************************
if dayindex+1 < 초장기봉기간 Then{
var91 = DayHigh;
var92 = DayLow;
}
Else{
var91 = highest(H,초장기봉기간);
var92 = Lowest(L,초장기봉기간);
}
value91 = (var91 - var92)/2+var92;
eEp = 2/(LENGTH2+1);
if dayindex == 0 Then
tT1 = value91;
Else
tT1 = value91*eEP + tT1[1] * (1-eEP);
if dayindex <= 1 Then
tT2 = tT1;
Else
tT2 = tT1*eEP + tT2[1] * (1-eEP);
if dayindex <= 2 Then
tT3 = tT2;
Else
tT3 = tT2*eEP + tT3[1] * (1-eEP);
TEMA92 = (3 * tT1) - (3 * tT2) + (tT3);
//초장기최고저테마값 끝**************************************************
if sdate != sdate[1] Then
Condition3 = false;
Condition1 = highest(h,변동기간) >= lowest(L,변동기간)*(1+(변동치/100));
//Condition2= CountIF(TEMA92==TEMA92[1],30) == 30 ;
if dayindex >= 60 and stime <143000 and dayPL < value6 then{
if CountIF(TEMA92 >=TEMA92[1]+초장기전봉차,연속봉수) == 연속봉수 then {
buy("b");
}
if CountIF(TEMA92 <=TEMA92[1]-초장기전봉차,연속봉수) == 연속봉수 then {
Sell("s");
}
}
if dayindex >= 60 and sTime>=143000 and stime <150300 then{
if CountIF(TEMA92 >=TEMA92[1]+초장기전봉차,연속봉수) == 연속봉수 and MarketPosition==-1 then {
ExitShort("xs");
}
if CountIF(TEMA92 <=TEMA92[1]-초장기전봉차,연속봉수) == 연속봉수 and MarketPosition==1 then {
ExitLong("xb");
}
}
//시간청산------------------------------------------------------------
var11 = int(date/100)-int(date/10000)*100; //월
var22 = date - int(date/100)*100; //일
var33 = DayOfWeek(date); //요일
if var11%3 == 0 and var22 >= 8 and var22 <= 14 and var33 == 4 then {
SetStopEndofday(144800);
}
else {
SetStopEndofday(150300);
}
if MarketPosition == 1 Then{
ExitLong("bxx",AtStop,EntryPrice+(-(value6)-(PLR)));
}
if MarketPosition == -1 Then{
ExitShort("sxx",AtStop,EntryPrice+((value6)+(PLR)));
}
포지션이 있을때
5개봉 완성되는데 20초 이상 걸리면 청산만하고 진입은 안하게해주시고
포지션이 없을때
5개봉 완성되는데 20초 이상 걸리면 신규진입을 안하게 고처주세요
수고하세요
2012-02-17
450
글번호 47893
답변완료
검색식부탁드립니다.
안녕하세요.
5일내 상한가 없고 시가총액 2000억이하 시초가1%이상 12%이내 상승종목 검색식 부탁드립니다.
15일내 상한가 없고 시가총액 5000억이하 시초가1%이상 15%이내 상승종목 검색식 부탁드립니다.
2012-02-17
445
글번호 47888
답변완료
지표식문의 부탁드립니다.감사합니다.
아래는 키움수식인데요.예스트레이드 수식으로 변환부탁드립니다.
파란선은 고가 투자심리도인데요
고가 투자심리도 avg(sum(if(h>h(1),10,0),10,1)
0/0/0/0/1/1/1/1/1/1 -->0/0/0/1/1/1/1/1/1/0-->0/0/1/1/1/1/1/1/0/1
즉 이동평균 개념처럼 여기서 고가갱신시 1로, 고가 갱신못하거나 같을 때 0으로
즉 가장오래된 것이 퇴출되고, 최근값이 들어가서 파란선으로 나타낸것입니다.
이렇게되면 고가 투자심리도는 6->6->7 이런식으로 그래프를 그릴수 있도록 부탁합니다.
그리고 빨간선은 저가 투자심리도인데요,
저가 투자심리도 avg(sum(if(l>l(1),10,0),10,1)
0/0/0/0/1/1/1/1/1/1 -->0/0/0/1/1/1/1/1/1/0-->0/0/1/1/1/1/1/1/0/1
위와는 반대로(주의요망), 저점갱신시 0으로, 저점갱신못하거나 같을 때 1으로 부탁합니다.
고가 매트릭스 shift(if(h>h(1),5,-2),10)
그리고 빨간 막대는 고가매트릭스로서 단순히, 고가갱신시 빨간막대를,
고가하락이거나 같을땐 회색 막대입니다.
저가 매트릭스 shift(if(l>l(1),5,-2),10)
그리고 파란막대는 반대로(주의요망) 그림과같이 저가 보합이거나 하락시 회색막대를, 저가상승시 파란막대입니다.
단 여기서 주의할점은 그림과같이 현재봉의 10봉 앞에 즉 10봉 미래에 표시를 해야됩니다.
2012-02-17
629
글번호 47887
답변완료
문의드림니다
5이평이 20이평을 상향돌파 하면 매수진입
2012-02-17
401
글번호 47879
하늘이 님에 의해서 삭제되었습니다.
2012-02-17
8
글번호 47878