커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6666
글번호 230811
답변완료
간단한 수식 질문입니다.
항상 감사드립니다.
제가 원하는 수식이 전일 종가와 당일 시가의 차이가 1포인트 이상 차이가 나면
당일 시가를 기준으로 위아래로 선을 긋는 거구요
만약 전일 종가와 시가가 1포인트 차이가 나지 않으며 전일 종가를 기준으로 위아래로 선을 긋는 건데요..
프로그래밍 초보라서요 막해봤는데 오류는 나지 않는데
문제는 시가가 사선으로 연결된다는 점입니다..
그리고 if문이 잘 안됐는지 둘중 하나를 골라서 적용되는게 아니라 두가지 케이스가 차트에 다 표시가 됩니다..
도움부탁드립니다. 아래는 제가 작성한 수식입니다.
if abs(dayopen(0)-dayclose(1))>1 Then
Plot1(dayOpen(0)+0, "시가",BLACK);
Plot2(dayOpen(0)+1, "+1",RED);
Plot3(dayOpen(0)+2, "+2",RED);
Plot4(dayOpen(0)+3, "+3",RED);
Plot5(dayOpen(0)+4, "+4",RED);
Plot6(dayOpen(0)+5, "+5",RED);
Plot7(dayOpen(0)+6, "+6",RED);
Plot8(dayOpen(0)+7, "+7",RED);
Plot9(dayOpen(0)+8, "+8",RED);
Plot10(dayOpen(0)+9, "+9",RED);
Plot11(dayOpen(0)+10, "+10",RED);
Plot12(dayOpen(0)-1, "-1",BLUE);
Plot13(dayOpen(0)-2, "-2",BLUE);
Plot14(dayOpen(0)-3, "-3",BLUE);
Plot15(dayOpen(0)-4, "-4",BLUE);
Plot16(dayOpen(0)-5, "-5",BLUE);
Plot17(dayOpen(0)-6, "-6",BLUE);
Plot18(dayOpen(0)-7, "-7",BLUE);
Plot19(dayOpen(0)-8, "-8",BLUE);
Plot20(dayOpen(0)-9, "-9",BLUE);
Plot21(dayOpen(0)-10, "-10",BLUe);
if abs(dayopen(0)-dayclose(1))<=1 Then
Plot22(dayclose(1), "시가",BLACK);
Plot23(dayclose(1)+1, "+1",RED);
Plot24(dayclose(1)+2, "+1",RED);
Plot25(dayclose(1)+3, "+1",RED);
Plot26(dayclose(1)+4, "+1",RED);
Plot27(dayclose(1)+5, "+1",RED);
Plot28(dayclose(1)+6, "+1",RED);
Plot29(dayclose(1)+7, "+1",RED);
Plot30(dayclose(1)+8, "+1",RED);
Plot31(dayclose(1)+9, "+1",RED);
Plot32(dayclose(1)-1, "-1",blue);
Plot33(dayclose(1)-2, "-2",blue);
Plot34(dayclose(1)-3, "-3",blue);
Plot35(dayclose(1)-4, "-4",blue);
Plot36(dayclose(1)-5, "-5",blue);
Plot37(dayclose(1)-6, "-6",blue);
Plot38(dayclose(1)-7, "-7",blue);
Plot39(dayclose(1)-8, "-8",blue);
Plot40(dayclose(1)-9, "-9",blue);
Plot41(dayclose(1)-10, "-10",blue);
간단한 선긋기 인데요..
2015-01-12
165
글번호 82159
답변완료
검색식부탁드립니다.
1.금일 장시작부터 현재까지 각15분봉 20볼린저밴드 상단을 양봉(몸통이 2%이상)으로 금일 최초로 돌파한 종목검색식 부탁드립니다.
2.20봉 볼린저밴드 상한선이 n봉전부터 전날까지 지속 하락하다가 금일 상승전환한 종목검색식 부탁드립니다.
3.최근 n거래일(변수)중 상승일수가 하락일수보다 많은 비율이 70%를 넘고
현재 총매도량이 총매수량보다 1.5배이상 많은 좀목 검색식 부탁드립니다.
4.N봉전 60이평선이 20볼린저밴드 하한선 아래로 크로스하고 그상태를 유지하다가
현재 60이평선이 3거래일이상 하락중인 20볼밴 하한선 위로 크로스하는 종목 검색식 부탁드립니다.
5.아래는 당일 청산라인 생성된 종목검색식이라 인덱스를 14(30분봉기준)를 사용하였는데
이것을 전일 마지막봉부터 현재까지로 변경 부탁드립니다.
// Trailing Stop Line
input: ATR_Factor(3);
var : Loss(0),HiLo(0),HRef(0),LRef(0),HiLoHRefMax(0),HiLoHRefMaxLRefMax(0),
ATRMod(0),WaitingForEntry(true),Trail(0),LineNum(0), ReturnVal(0) ;
var : ATR_Period(5), Position(0), TL5(0), SearchResult(0);
HiLo = iff(High - Low < 1.5 * Average(High - Low, ATR_Period), High - Low, 1.5 * Average(High - Low, ATR_Period)) ;
HRef = iff(Low <= High[1], High - Close[1],(High - Close[1] ) - 0.5 * (Low - High[1])) ;
LRef = iff(High >= Low[1], Close[1] - Low, (Close[1] - Low) - 0.5 * (Low[1] - High)) ;
HiLoHRefMax = Maxlist(HiLo, HRef) ;
HiLoHRefMaxLRefMax = Maxlist(HiLoHRefMax, LRef) ;
ATRMod = ema(HiLoHRefMaxLRefMax, 2 * ATR_Period - 1) ;
Loss = ATR_Factor * ATRMod;
var2 = MA(Money,3);
if index <= 5 then
{
Position = 1;
Trail = Close - Loss ;
}
else
{
/*If DataCompress == 4 and sdate > 19980811 and sdate < 20010115 then
{
MessageLog("$RS++ Position1=%.1f, %.1f, %.1f", Position, Position[1], Trail);
}*/
if Close > Trail[1] and Close[1] > Trail[2] then
Trail = MaxList(Trail[1], Close - Loss);
else if Close < Trail[1] and Close[1] < Trail[2] then
Trail = MinList(Trail[1], Close + Loss);
else if Close > Trail[1] then
Trail = Close - Loss;
else
Trail = Close + Loss;
if Position == -1 and Close > Trail and Trail > 0 then
{
Position = 1;
If index >= 14 Then
SearchResult = 1;
}
else if Position == 1 and Close < Trail then
{
Position = -1;
If index >= 14 Then
SearchResult = 0;
}
else if Trail > 0 then
{
}
}
Find(SearchResult);
감사합니다~
2015-01-12
226
글번호 82156
외국인 님에 의해서 삭제되었습니다.
2015-01-12
0
글번호 82151
외국인 님에 의해서 삭제되었습니다.
2015-01-12
0
글번호 82150
답변완료
지표식부탁드립니다.
안녕하세요
현재의 수식으로 수직선표시 부탁 드립니다.
input : 기간1(5),기간2(20);
var1 = ma(c,기간1);
var2 = ma(c,기간2);
if crossup(var1,var2) Then
value1 = var2;
if var2 > value1 Then
value1 = var2;
var3 = Value1;
if CrossDown(var1,var2) Then
value2 = var2;
if var2 < value2 Then
value2 = var2;
2015-01-12
154
글번호 82149
답변완료
피라미딩 청산 문의드립니다.
한결같은 성실한 답변에 감사드립니다.
피라미딩 청산과 관련한 질문인데요 아래와 같이 피라미딩 진입을 했다고 가정하고,
MarketPosition == 0 and b1조건 Then
buy("b1");
if MarketPosition == 1 and b2조건 Then
buy("b2");
....
if MarketPosition == 1 and bN조건 Then
buy("bN");
진입가격은 b1 < b2 < bN 입니다.
아래와 같이 청산하고자 합니다.
1. 진입계약수가 1계약 일 때
가) 수익청산 : 1계약 진입가격에서 10틱 이상 상승시
나) 손절청산 : 1계약 진입가격에서 10틱 이상 하락시
2. 진입계약수가 2계약 이상일 때
가) 수익청산 : 마지막 진입가격에서 6틱 이상 상승시
나) 손절청산은 각각 4가지 경우 각각 부탁드립니다.
-손절청산1) : 최초진입가격을 기준으로 최대수익 도달 후 6틱 이상 하락시 청산
-손절청산2) : 최초진입가격을 기준으로 최대수익 도달 후 10%이상 하락시 청산
-손절청산3) : 마지막 진입가격에서 6틱 이상 하락시 청산
-손절청산4) : 손절청산1) 이거나(or) 손절청산2) 일 때 청산
이왕이면 아래 함수식으로 부탁드려요
MaxContracts, EntryPrice, LatestEntryPrice, PriceScale
어려우시더라도 정중히 부탁드립니다. 수고하세요
2015-01-12
196
글번호 82145
답변완료
문의 드립니다.
항상 도움 주셔서 감사합니다.
지표중 ATR 에 대한 설명 부탁드립니다.
개념이 잘 이해가 안되서요.
예제를 통해서 해주시면 더욱 감사하겠습니다.
2015-01-12
177
글번호 82144
답변완료
조건식을 부탁드립니다
분봉에서 피라미딩 방식으로 총 100개를 매입하거나 매도하려 합니다. 하지만 하루 10개로 매입 혹은 매도를 제한하려 합니다. 이런 경우에 식을 어떻게 세우는지요
가령) 20분 봉의 5이평이 20이평을 상향 돌파이후 매입하는 경우에 총 매입은 100개이며 하루 최대 매입은 10개로 제한하는 식을 부탁드립니다
2015-01-12
150
글번호 82143
답변완료
조건검색 질문입니다.
시가총액 > c1
& n일간 평균거래대금 > c2
& n일간 기관순매수대금 > c3
인 조건을 만족하는 종목을 검색해 주는 검색식을 작성하는 것이 가능한가요?
가능하다면 예제를 좀 만들어 주시면 감사하겠습니다.
2015-01-12
180
글번호 82142