커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5471
글번호 230811
답변완료
(2차질문)해외선물 정규장 초기 15분 또는 30분간의 최고저
안녕하세요.
추가 질문이 있습니다.
작성해 주신 코드를 제가 해독하는 능력이 떨어지다보니, 잘 이해가 안됩니다.
CME 선물의 거래시간에 대해서 다시 정의해 드리오니,
앞서 작성해 주신 코드가 이 거래시간 흐름에 적합 할까요?
- [오버나잇세션] 시카고시간 17:00 ~ 다음날 8:30 (한국시간 8:00~23:30, 서머타임시 7:00~22:30) Business Day가 현지시간 17:00에 변경됨
- [정규장+연장] 시카고시간 8:30 ~ 16:00 (한국시간 23:30~다음날7:00, 서머타임시 22:30~다음날 6:00)
- [휴장] 시카고시간 16:00~17:00 (한국시간 7:00~8:00, 서머타임시 6:00~7:00)
위 시간 흐름 중에서 장 초기 15분~30분(N분) 채널을 삼고 싶은 시간은 정규장 시작 시간, 즉, 현지시간 8:30부터 (한국시간 22:30 또는 서머타임 23:30) 부터입니다.
그리고 SetStopEndofday()로 청산을 하는 것은 휴장시간 직전 즉, 현지시간 15:30 (한국시간 6:30 또는 서머타임 7:30)입니다.
감사합니다.
-----------------------------------------------------------------------
// 먼저 작성해 주신 코드
안녕하세요
예스스탁입니다.
당일청산함수는 지정한 시간이후에 밤 0시까지 진입을 막게 됩니다.
08시 청산이면 그날 밤 0시까지 진입이 없게 되므로
적절한 시점에 당일청산 해제를 해주셔야 합니다.
input : N(15),Endtime(80000);
var : ST(0),S1(0),D1(0),T(0),TM(0),TM1(0);
var : HH(0),LL(0);
if sdate != sDate[1] Then
SetStopEndofday(Endtime);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
if sTime < 80000 Then
ST = 223000;
Else
ST = 233000;
T = 0;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
if ST > 0 and
((sDate != sDate[1] and sTime >= Endtime) or
(sDate == sDate[1] and sTime >= Endtime and sTime[1] < Endtime)) Then
{
T = 2;
}
if ST > 0 and
((sDate != sDate[1] and sTime >= ST) or
(sDate == sDate[1] and sTime >= ST and sTime[1] < ST)) Then
{
T = 1;
TM1 = TM;
SetStopEndofday(0); #해제
HH = H;
LL = L;
}
if T == 1 Then
{
if TM < TM1+N Then
{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
}
if TM >= TM1+N Then
{
if crossup(c,HH) Then
Buy("b");
if CrossDown(c,LL) Then
Sell("s");
}
}
}
즐거운 하루되세요
> 알이랑 님이 쓴 글입니다.
> 제목 : 해외선물 정규장 초기 15분 또는 30분간의 최고, 최저 구하고, 다음날 청산 방법
> CME 해외선물의 정규장 초기 구간(10분 또는 30분)을 채널 기준으로 삼고자 합니다.
한국시간으로 대략 22:30 (서머타임시) 또는 23:30 부터 시작입니다.
1분봉, 5분봉, 30분봉 등의 차트에서
22:30 부터 15분간의 최고, 최저 가격을 각각 HH, LL 변수에 할당하는 방법이 궁금합니다.
또한 그 다음날 아침 8:00 에 SetStopEndofday() 하는 방법도 궁금합니다.
아래 시스템식은 수식작성 예제의 "30MBO 전략"을 참조한 것입니다.
[시스템식]
var : HH(0),LL(0);
if stime >= 223000 and stime < 2245000 Then{
HH ??
LL ??
}
if stime >= 224500 and stime < 74500 and crossup(c,HH) then
buy();
if stime >= 224500 and stime < 74500 and CrossDown(c,LL) then
sell();
SetStopEndofday(80000);
감사합니다.
2025-08-12
678
글번호 193192
답변완료
시스템 수식 문의 드립니다.
매수 후에 1 point 또는 1% 이상의 하락이 있으면서 3 포인트 3% 손절에 걸리지 않았을 경우 기존 목표 수익 5 포인트 가 아닌 2.5 포인트에 익절하라.
============================
수식 부탁 드립니다.
감사합니다.
2025-08-12
285
글번호 193190
답변완료
Re : Re : 수식수정요청
안녕하세요 답변 감사합니다 제가 수식을 잘못올려드렸습니다
다시 수정 부탁드립니다
아래 수식에서 기존은 그대로 두고 중심만 상승 노란색 하락 파란색으로 두께을 굵게 수정해주세요
input : af(0.01), maxAF(0.1),추세선두께(1),추세선색1(YELLOW),추세선색2(CYAN),연장선두께(2),연장선색(blue);
input : 텍스트출력(1);
var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0);
var : TL1(0),TL2(0),cnt(0),count(0);
var : TL3(0),TL4(0),TL5(0),TL6(0),tx1(0),tx2(0),tx11(0),tx22(0);
Var : TL11(0),TL22(0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
T = 1;
HH = H;
HD = sdate;
HT = stime;
HH1 = HH[1];
HD1 = HD[1];
HT1 = HT[1];
if LL > 0 Then
{
TL1 = TL_new(LD[1],LT[1],LL[1],HD,HT,HH);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
TL_Delete(TL6);
#TL3 = TL_new(HD[1],HT[1],HH[1],sdate,stime,HH[1]);
#TL4 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2);
#TL5 = TL_new(HD[1],HT[1],LL,sdate,stime,LL);
#TL6 = TL_new(HD[1],HT[1],HH[1]+(HH[1]-LL[1])/2,sdate,stime,HH[1]+(HH[1]-LL)/2);
//추세선 오른쪽 연장설정
TL_SetExtRight(TL3,true);
TL_SetExtRight(TL4,true);
TL_SetExtRight(TL5,true);
TL_SetExtRight(TL6,true);
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(HH1,2));
Text_SetStyle(tx11,2,1);
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
}
TL11 = TL_New(HD1,HT1,HH1,HD,HT,HH);
}
if CrossDown(c,var1) Then
{
T = -1;
LL = L;
LD = sdate;
LT = stime;
LL1 = LL[1];
LD1 = LD[1];
LT1 = LT[1];
if HH > 0 Then
{
TL2 = TL_new(HD[1],HT[1],HH[1],LD,LT,LL);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
TL_Delete(TL6);
#TL3 = TL_new(LD[1],LT[1],HH,sdate,stime,HH);
#TL4 = TL_new(LD[1],LT[1],(HH+LL[1])/2,sdate,stime,(HH+LL[1])/2);
#TL5 = TL_new(LD[1],LT[1],LL[1],sdate,stime,LL[1]);
#TL6 = TL_new(LD[1],LT[1],LL[1]-(HH-LL[1])/2,sdate,stime,LL[1]-(HH-LL[1])/2);
//추세선 오른쪽 연장설정
TL_SetExtRight(TL3,true);
TL_SetExtRight(TL4,true);
TL_SetExtRight(TL5,true);
TL_SetExtRight(TL6,true);
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(LL1,2));
Text_SetStyle(tx22,2,0);
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
}
TL22 = TL_New(LD1,LT1,LL1,LD,LT,LL);
}
if T == 1 then
{
if H > HH Then
{
HH = H;
HD = sdate;
HT = stime;
TL_SetEnd(TL1,HD,HT,HH);
TL_SetEnd(TL11,HD,HT,HH);
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
}
}
if T == -1 then
{
if L < LL Then
{
LL = L;
LD = sdate;
LT = stime;
TL_SetEnd(TL2,LD,LT,LL);
TL_SetEnd(TL22,LD,LT,LL);
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
}
}
#추세선 두께, 색상
TL_SetSize(TL1,추세선두께);
TL_SetSize(TL11,추세선두께);
TL_SetSize(TL2,추세선두께);
TL_SetSize(TL22,추세선두께);
TL_SetColor(TL1,추세선색1);
TL_SetColor(TL11,추세선색1);
TL_SetColor(TL2,추세선색2);
TL_SetColor(TL22,추세선색2);
#연장선 두께, 색상
TL_SetSize(TL3,연장선두께);
TL_SetSize(TL4,연장선두께);
TL_SetSize(TL5,연장선두께);
TL_SetSize(TL6,연장선두께);
TL_SetColor(TL3,연장선색);
TL_SetColor(TL4,연장선색);
TL_SetColor(TL5,연장선색);
TL_SetColor(TL6,연장선색);
2025-08-12
330
글번호 193189
회원 님에 의해서 삭제되었습니다.
2025-08-12
0
글번호 193187
님이랑 님에 의해서 삭제되었습니다.
2025-08-12
19
글번호 193186
답변완료
문의
종목검색
기간별 최대거래량의 고가를 상향돌파할때
기간별 최대거래량의 저가를 하향돌파할때
감사합니다.
2025-08-12
291
글번호 193175
답변완료
시스템식 문의 드립니다.
안녕하세요.
시스템 작성 요청드립니다.
많은 도움 주셔서 항상 감사합니다.
좋은 하루 보내세요.
--------------------------------------------------------------------------------------
매수금액 : 1차, 2차 동일 // 예시로 1천만원
기준
* 240봉 신고가 발생(신고가는 10만원 이하만)
* 신고가 전 240봉 이내 최저점 대비 신고가가 100% 이상 상승
* 신고가 전 240봉 이전부터 신고가 사이, 기준봉 발생 필요(기준봉 : 전일 종가 대비 고가가 10% 이상 상승+당일 거래대금 1000억 이상)
* 기준봉 발생 후 신고가 달성 시까지 20%이상 하락 발생한 후에 신고가를 달성해야함
(상승파동 필요, 여러차례 파동 발생 가능)
매수
* 신고가 달성 후 50% 하락지점에서 매수(신고가 발생 일 이후 120일 이내에 하락해야 함)
* 15% 하락 시 동일 금액 매수(1차 매수 후 60일 이내 발생해야 함)
매도
* 10% 수익 시 매도(2차 매수시에도 평균 10% 상승 시 매도)
* 2차 매수 후 15% 하락 시 금액손절
* 매수 후 120일 지나면(2차 매수 시 2차 매수 후 120일) 기간 손절
기타
* 최근 4년 안에 지지점(고가 10%이상 상승 + 거래대금 500억 이상의 종가+-3%)이 2회 이상 있으면(1차매수지점 기준) 매수 대금을 2배(1차 및 2차)로 진입
2025-08-12
400
글번호 193168
답변완료
알고싶어요 or 알엔비 방법으로
해외 나스닥 일간
일봉 기준으로거래하기로 하고 아래 이평선 들 인식하에 일봉에서 거래함니다
5분봉 5이평이 20이평 위에 있고 1분봉이 5-20골든크로스 발생시 매수를 진행합니다.
5분봉 5이평이 20이평 아래에 있고 1분봉이 5-20데드크로스 발생시 매도를 진행합니다.
2025-08-12
367
글번호 193167
답변완료
예스트레이더 종목검색으로 요청합니다^^*
먼저 항상 친절한 답변주셔서 너무나 감사합니다..
아래 수식은 키움에서 작성한 수식입니다.
이것을 예스트레이더 종목검색으로 요청합니다..
일봉조건이고 지표변수는
shortperiod : 9
midperiod : 26
longperiod : 52
입니다...
========================================================================
A=Shift((highest(high,shortPeriod)
+lowest(low,shortPeriod)+
highest(high,midPeriod)
+lowest(low,midPeriod))/4,
midperiod-1);
B=shift((highest(high,longPeriod)+
lowest(low,longPeriod))/2,
midperiod-1);
crossup(c,max(A,B))
2025-08-12
334
글번호 193166