커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1756
글번호 230811
답변완료
이평선 크로스
안녕하세요.
5 이평선이 20 이평선을 골든 크로스할때
1) 크로스가 확정된 봉의 저점선을 긋고자 합니다.
2) 선은 확정된 봉을 포함해서 15번째 봉까지만 긋고 싶습니다.
3) 봉의 갯수를 임의로 조정하고 싶습니다.
4) 데드 크로스(고점선)인 경우도 같이 부탁드립니다.
감사합니다.
2020-12-18
936
글번호 144784
답변완료
행복; 지표식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
지표식 관련입니다
< 질문 >
- 대상; 해외파생상품(예, Crude Oil, British Pound, E-mini S&P500 등)
- 주기; 90분봉
- 'eFriend Global Yestrader' 를 사용하고 있는데 날자가 한국시간으로 되어있습니다
봉을 나타내는 시각도 봉 시작이 아니고 봉 마지막 시각입니다
또한 하루가 끝나는 마지막 봉의 시각이 Time == 071000 이고
날자가 바뀌어 새로 시작되는 첫 봉의 시각이 Time == 93000 입니다
1. 국내주식의 경우 날자가 바뀌는 것을 표시할 때는
sDate != sDate[1] 로 하는데
해외파생상품은 날자가 바뀌는(Time == 071000 에서 Time == 93000 로 바뀌는) 것을 어떻게 표시하는지요?
2. 국내주식의 경우 당일의 마지막 봉을 표시할 때는
if NextBarSdate > sDate Then
마지막봉시작시각 = sTime;
으로 하는데
해외파생상품은 하루의 마지막 봉(Time == 071000)의 시작시각을 어떻게 표시하는지요?
3. 국내주식의 경우 당일의 첫 봉을 표시할 때는
if sDate > sDate[1] Then
첫봉시작시각 = sTime;
으로 하는데
해외파생상품은 하루의 첫 봉(Time == 93000)의 시작시각을 어떻게 표시하는지요?
4. 국내주식과 관련하여 수식을 작성한 것이 있습니다
날자와 시각을 sDate 와 sTime 으로 작성이 되어있습니다
그러나 'eFriend Global Yestrader' 차트에는 Date 와 Time 으로 되어있습니다
이미 작성된 수식의 sDate 와 sTime 은 그래로 두고
200볼트 전기를 120볼트 전기로 바꾸는 변압기처럼 앞부분에 약간의 수식을 추가하여 해결하고자 합니다
즉, Date 와 Time 을 sDate 와 sTime 으로 변환하는 수식을 추가하고자 합니다
(사례)
If Date == 20201217 and Time == 003000 Then
Plot1(DayHigh(1));
은
if sDate == 20201216 and sTime == 230000 Then
Plot1(DayHigh(1));
과 같은 봉을 나타내고 있습니다
(구체적인 사례;'eFriend Global Yestrader')
Input : 시작일자(20201217), 시작시각(003000), 주기(90);
Var : 일자(0), 시각(0);
--------< 변압기 시작 >-------------------------------
If Date == sDate Then
일자 = 시작일자;
Else
일자 = JulianToDate( (DateToJulian(시작일자)-1) );
If TimeToMinutes( 시작시각 ) >= 주기 Then
시각 = TimeToMinutes( 시작시각 ) - 주기;
Else
시각 = TimeToMinutes( 240000 ) + TimeToMinutes( 시작시각 ) - 주기;
--------< 변압기 끝 >-------------------------------
If sDate == 일자 and sTime == 시각 Then
Plot1(DayHigh(1));
나름대로 변압기를 작성해보았는데 개운하지 않습니다
어떻게 해야 하는지요?
수고하십시요^^
2020-12-18
1045
글번호 144783
답변완료
수식에서 마지막봉 대비 현재봉 위치 확인 방법
안녕하세요
수식에서 현재 확인하고 있는 봉이 마지막 봉 대비 몇번째인지 확인하고자 하는데요
이런 수식은 어떻게 만들어야 될까요?
Index는 처음봉부터의 위치라 제일 마지막봉에서 5번째 이런식은
어떻식으로 체크해야 할지 잘 모르겠네요.
도움 부탁드립니다.
여기서 마지막봉은 가장 최신의 봉을 의미합니다..
if(지금 계산하고 있는 봉이 마지막봉에서 5번째 떨어져있는 봉이면)
{
}
일봉 기준으로는 요런식으로 해보려했는데,
공휴일끼고 있으니 날짜나 시간개념으로 하면 너무 복잡할것 같아
순수하게 봉 단위로 계산하려고 합니다
if((CurrentDate-5) == sDate) Then
2020-12-18
823
글번호 144782
답변완료
지표 문의입니다.
분봉기준입니다.
당일고가가 전일종가대비 15% 이상이고 분봉 저가가 20이평선을 첫이탈
위 조건을 만족하고 저가가 직전 10봉 최저가보다 낮을때만 저가선을 긋는 지표식 부탁드립니다.
당일 첫봉부터 조건에 만족하는 시점까지는 전일 종가입니다.
감사합니다.
2020-12-17
788
글번호 144781
답변완료
OnUp-dateMarket 이벤트 관련 문의
안녕하세요,
예스스팟에서 지정하여 종목객체를 생성한 경우 OnUp-dateMarket 이벤트를 수신하는 것은 확인하였는데요,
동적으로 종목객체를 생성한 경우에는 이벤트 수신이 안되는것 같습니다.
방법이 있을까요?
045100 종목번호로 ReqMarketData를 호출하면,
Main_OnRcvMarketData 는 넘어오는데,
Main_OnUp-dateMarket는 들어오지 않네요.
종목객체를 코드가 아닌 스크립트 객체에서 생성하여 지정한것만 들어옵니다.
var List = [];
var ListCnt;
function Main_OnStart()
{
Main.MessageList("Spot Start");
Main.ReqMarketData("045100",0);
}
function Main_OnUp-dateMarket(sItemCode,Up-dateID)
{
Main.MessageLog("Main_OnUp-dateMarket sItemCode = "+sItemCode);
Main.MessageLog("Main_OnUp-dateMarket Up-dateID = "+Up-dateID);
}
function Main_OnRcvMarketData(MarketData)
{
Main.MessageLog("생성종목 ="+MarketData.code);
}
2020-12-17
739
글번호 144780
답변완료
청산신호가 안먹힙니다.
괄호가 있어서 그런지 청산신호가 안먹힙니다.
추적청산, 샹들리에, 요요청산등 아무것도 안먹힙니다.
도와주세요.. 감사합니다.
INPUTS: LENGTH1(5);
VARS: TEMA(0);
Var : Pivot(0),R1(0),R2(0),S1(0),S2(0);
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
R1 = 2*Pivot-DayLow(1);
R2 = Pivot+DayHigh(1)-DayLow(1);
S1 = 2*Pivot-DayHigh(1);
S2 = Pivot-DayHigh(1)+DayLow(1);
TEMA = (3 * Ema(c,LENGTH1)) - (3 * Ema(Ema(c,LENGTH1),LENGTH1)) +
(Ema(Ema(Ema(c,LENGTH1),LENGTH1),LENGTH1));
input : ATRP(20),X(0.5);
var : ATRV(0);
#영업일 변경
if bdate != Bdate[1] Then
{
#var1에 tema의 한봉전값(전일마지막봉값) 저장
var1 = tema[1];
#종가가 var1보다 크면 매수
if var1 > 0 and C > var1 Then
Buy();
#종가가 var1보다 작으면 매도
if var1 > 0 and C < var1 Then
sell();
if MarketPosition == 1 and
C < DayLow(1)[BarsSinceEntry] Then
ExitLong();
if MarketPosition == -1 and
C > DayHigh(1)[BarsSinceEntry] Then
ExitShort();
}
2020-12-17
603
글번호 144779
답변완료
피봇관련입니다.
피봇 2차지지선이 s2인데 다음과 같은 그림에서 아래와 같은 식으로 했는데도
진입이 안되서 질문드립니다.
날씨가 엄청춥습니다. 건강한 하루 되세요....
Condition9 = crossup(c,S2+3);
Condition10 = CrossDown(c, S2+3);
if Condition10[2] == true and Condition9[1]==true Then Buy("S2b",AtLimit,S2+3);
2020-12-17
717
글번호 144777
답변완료
문의 드립니다.
Input : xpercent(10);
var1 = ((DayClose(1)*XPercent)/100)+DayClose(1);
var2 = CountIF(var1<= c,DayIndex+1);
if var2 >= 1 Then
find(1);
장중에 한번이라도 10% 터치한 종목을 검색하는 검색식인데요
검색을 하면 검색이 안되는 종목이 자주 나와서
검증을 하고 싶어
오늘 24%까지 상승후 하락한 종목 으로 종목수를 줄여서 실제로 체크해보니까
총 20종목에서 5종목이 빠졋더라구요, 검색이 15종목만 되더군요.
이건 제가 수식을 엉터리로 해서 그런지 아니면 시스템적으로 다른 이유가 있는지
또 검색이 다되게 할려면 어떻게 해야 하는지 여쭈어봅니다.
참고로 빠진 종목들은 동신건설, 제룡전기,새로닉스,덕산하이메탈,케이씨에스 입니다.
늘 감사합니다.
2020-12-17
863
글번호 144775
새론시작 님에 의해서 삭제되었습니다.
2020-12-17
5
글번호 144771