커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3755
글번호 230811
답변완료
n일중
value[3]이 3일 전의 값이자나요..
그럼 3일 중에 값으로 변수를 주고 싶은데 가능할까요
n일중에 고가를 구하고 싶어요
2019-06-14
307
글번호 129463
답변완료
종목검색
A. 검색식
1. 오늘 1분봉에서 거래대금이 가장 많은 봉을 찾는다.
2. 1번에서 찾은 봉의 거래대금/거래량 < 현재가
==> 1,2번을 만족하는 종목을 찾는다.
B. 검색식
(오늘 양봉인 1분봉의 거래량의 합)>(오늘 음봉인 1분봉의 거래량의 합) 인 종목을 찾는다.
**시가=종가 이면 양봉으로 계산해 주세요.
2019-06-14
348
글번호 129462
답변완료
문의합니다
안녕하세요
문의합니다
1. 분봉에서 120틱 20이평선을 구하는 시스템식을 부탁합니다
input : tick(120),P(20);
mav20[3] < mav20[2] and mav20[2] < mav20[1] and mav20[1] < mav20 이면 진입
mav20[3] > mav20[2] and mav20[2] > mav20[1] and mav20[1] > mav20 이면 청산
2. 분봉에서 120틱 20이평선을 구하는 수식을 부탁합니다
상승구간은 적색 하락구간은 파랑색 나오게 표기해 주세요
항상 감사합니다
수고하세요
2019-06-14
300
글번호 129457
답변완료
파워종목검색
시가총액이나 부채비율 조건을 달고 싶은데 방법이 있을까요?
2019-06-14
325
글번호 129454
답변완료
파워종목검색
파워종목검색의 조건 저장해서 종목검색에 넣을 수 있나요
아니면 서로 단독적으로 작동되나용
2019-06-14
303
글번호 129453
답변완료
수식옮기기
예스트레이더(국내선) 에서 예스글로벌(해외선)로 지표.매매로직.강조등을 옮겨 사용코자 하온데
해당 폴더에 옮겨도 안되는데 어떻게 해야 하나요?
감사합니다.
2019-06-14
313
글번호 129451
답변완료
일자 변경 제외
안녕하세요
아래는 이전에 만들어주신 자료입니다.
Var1 = TimeToMinutes(stime);
if bdate != bdate[1] Then
idx = 0;
Else
idx = idx+1;
var4 = c;
for cnt = 0 to idx
{
if var1[cnt] > var1-T and C[cnt] < var4 Then
var4 = C[cnt];
}
plot1(var4);
여기서 해외 선물을 표시해보니 00시부터 07시까지는 적용이 되지않습니다.
TimeToMinutes이 원인 인것 같은데, 24시간 계속 적용되도록 수정 부탁 드립니다.
감사합니다.
2019-06-14
292
글번호 129450
답변완료
지도를 부탁드립니다
아래수식을 오일 1분챠트 2개월 지정하고 최적화 하려하면
정지된듯 진행이 되지 않습니다
기간을 2개월 하고 확인 하면 그렇습니다
방법이 있을까요
전화나 원격으로 한번 상담 해 주시면 감사하겠습니다
010 6674 8021
Input : length(10);
var : 종가사용여부(0),수치표시(1),표시(0);
var : 추세두께(2),추세상승색(red),추세하락색(blue);
var : 고점연결두께(2),고점연결색상(RED);
var : 저점연결두께(2),저점연결색상(blue);
input : p1(5),P2(20);
input : 손절틱수(50),익절틱수(50);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),TL11(0),TL12(0),T(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = IFF(종가사용여부==1,C,H);
LL = IFF(종가사용여부==1,C,L);
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
T = 1;
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL1,추세두께);
TL_SetColor(TL1,추세상승색);
if 저[1,1] > 저[2,1] Then
{
if 표시 == 0 Then
TL_Delete(TL11);
TL11 = TL_New(저[2,3],저[2,4],저[2,1],저[1,3],저[1,4],저[1,1]);
TL_SetExtRight(TL11,true);
TL_SetColor(TL11,저점연결색상);
TL_SetSize(TL11,저점연결두께);
}
If 수치표시 == 1 Then
{
Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱");
Text_SetStyle(Text1, 2, 1);
}
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱");
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
T = -1;
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL1,추세두께);
TL_SetColor(TL1,추세하락색);
if 고[1,1] < 고[2,1] Then
{
if 표시 == 0 Then
TL_Delete(TL12);
TL12 = TL_New(고[2,3],고[2,4],고[2,1],고[1,3],고[1,4],고[1,1]);
TL_SetExtRight(TL12,true);
TL_SetColor(TL12,고점연결색상);
TL_SetSize(TL12,고점연결두께);
}
If 수치표시 == 1 Then
{
Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱");
Text_SetStyle(Text1, 2, 0);
}
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱");
}
}
최종꼭지점 = "저점";
}
var1 = ma(c,P1);
var2 = ma(C,P2);
if T == -1 and abs(저[1,1]-저[2,1]) <= PriceScale*10 and
C > O and crossup(c,var1) Then
buy("b",AtMarket);
if MarketPosition == 1 Then
{
ExitLong("bx1",AtStop,저[2,1]-PriceScale*1);
if CrossDown(c,var2) Then
exitlong("bx2",AtMarket);
}
if T == 1 and abs(고[1,1]-고[2,1]) <= PriceScale*10 and
C < O and CrossDown(c,var1) Then
sell("s",AtMarket);
if MarketPosition == -1 Then
{
ExitShort("sx1",AtStop,고[2,1]-PriceScale*1);
if CrossUp(c,var2) Then
ExitShort("sx2",AtMarket);
}
SetStopLoss(PriceScale*손절틱수,PointStop);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
2019-06-14
315
글번호 129449
답변완료
중간에 빈봉 처리좀요.
빨강,파랑 봉으로 나오는데요 .중간에 빈봉이 생기는데 빈봉을 노랑으로 만들어 주실수 있나요 >??
미리 감사 인사 드려요 ^^
input : P(10);
var : MM(0),T(0);
MM = (highest(H,P)+lowest(L,P))/2;
if T == 0 and C > MM Then
T = 1;
if T == 0 and C < MM Then
T = -1;
if T == 1 and CrossDown(C,lowest(L,P)[1]) Then
T = 0;
if T == -1 and CrossUp(C,highest(H,P)[1]) Then
T = 0;
if T == 1 Then
PlotPaintBar(H,L,"강조",red);
if T == -1 Then
PlotPaintBar(H,L,"강조",blue);
2019-06-14
309
글번호 129447