커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7655
글번호 230811
답변완료
수정해주세요---------
input:매매구분(0),진입가(261.35),진입점(091000),손절(1);
if 매매구분 == 1 Then{
#시가가 진입가보다 아래에서 생성되면 시장가 매수
if NextBarOpen < 진입가 Then
buy("b1",AtMarket);
#시가가 진입가보다 위에서 생성되면 진입가까지 시세하락하면 매수
if NextBarOpen > 진입가 Then
buy("b2",Atlimit,진입가);
}
if 매매구분 == -1 Then{
#시가가 진입가보다 위에서 생성되면 시장가 매도
if NextBarOpen >= 진입가 Then
sell("s1",AtMarket);
#시가가 진입가보다 아래에서 생성되면 진입가까지 시세상승하면 매도
if NextBarOpen < 진입가 Then
sell("s2",Atlimit,진입가);
}
if ExitDate(1) == sdate and MarketPosition == 0 Then{
if IsExitName("bx",1) == true Then
buy("rebuy",AtStop,lowest(L,BarsSinceExit(1))+0.2);
if IsExitName("sx",1) == true Then
sell("resell",AtStop,Highest(H,BarsSinceExit(1))-0.2);
}
if MarketPosition == 1 Then{
var1 = highest(H,BarsSinceEntry);
if var1 >= EntryPrice+0.2 Then
exitlong("bx",AtStop,EntryPrice);
if var1 >= EntryPrice+1 Then
exitlong("btr",AtStop,var1-(var1-EntryPrice)*0.3);
}
if MarketPosition == -1 Then{
var2 = lowest(L,BarsSinceEntry);
if var2 <= EntryPrice-0.2 Then
ExitShort("sx",AtStop,EntryPrice);
if var2 <= EntryPrice-1 Then
ExitShort("str",AtStop,var2+(EntryPrice-var2)*0.3);
}
SetStopLoss(손절,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);
}
진입점 이후에만 진입하게해주시고요
b1 이나 b2 하루한번진입(b1 진입했으면 그날은 다시 b1,b2 진입없음 b2도 마찬가지)
s1 이나 s2 도 하루한번진입(s1 진입했으면 그날은 다시 s1,s2 진입없음 s2도 마찬가지)
부탁드립니다
2012-05-12
360
글번호 50958
답변완료
타주기 참조 시뮬레이션 결과
예스트레이더에서,
주봉을 1분봉으로 했을때 아래식의 시뮬레이션 결과와
if DayIndex == 4 and CountIF(c-o > 0, 5) > 2 then buy();
SetStopEndofday(144000);
주봉을 5분봉으로 하고 타주기를 1분봉으로 했을때 다음식의 시뮬레션 결과가
if data1(DayIndex == 0) and data2(CountIF(c-o > 0, 5) > 2) then buy();
SetStopEndofday(144000);
미세하게 차이가 있습니다.
이유가 무엇인지요?
2012-05-12
401
글번호 50957
답변완료
수정이 잘되지 않았습니다!! 다시부탁드려요
plot1(1);
print("e:₩mc.csv",",%.f,%.f,%.2f,%.2f,%.2f,%.2f,%.0f,%.0f",date,1630,open,high,low,close,v,0);
위글처럼 수정해주셨는데요!! 아래그림화일처럼 수정부탁드립니다.
날짜부분에서 월/일/년 예를들면 오늘날짜는 05/11/2012 되어야 하는데 되지않았습니다.
그림화일보시면 이해되실겁니다.
감사합니다
2012-05-11
384
글번호 50956
회원 님에 의해서 삭제되었습니다.
2012-05-11
94
글번호 50954
답변완료
24488 추가 질문
if date <> Date[1] Then
Begin
var1 = Data3(H+C+L)/3;
BBmid = Data3(ma(var1,20));
End
아까 보내주신 식을 Data1에 90분봉 Data3에 일봉 으로 위와 같이 작성하면..
MessageLog 로 찍어 보면 dayinbdex == 0 일때 하루에 2번 진입하여
BBMid 값이 20이 아닌 10으로 구해집니다..한번만 진입할수 있는지요?
필터를 어떻게 하나요?
감사합니다.
2012-05-11
322
글번호 50951
답변완료
직전의 진입 가격 기억
직전의 매수신호 가격보다 높으면 매수 매수신호 가격보다 낮으면 손절
직전의 매도신호 가격보다 낮으면 매도 높으면 손절식 부탁드려요
2012-05-11
299
글번호 50950
답변완료
수정부탁드려요
plot1(1);
print("e:₩mc.csv",",%.f,%.0f,%.2f,%.2f,%.2f,%.2f,%.0f", sdate,stime,open,high,low,close,v);
위 수식을 수정해서 아래그림화일처럼 수정부탁드려요
아래 표현1 그림화일처럼 일봉데이타가 표현될수있도록 부탁드립니다
감사합니다
2012-05-11
388
글번호 50947
답변완료
진입 후 30분 경과 하면 청산
1. 5일 이평 10일 이평을 상향 돌파하면 매수 진입
2. 매수 진입 후 30분 경과하면 청산
어떻게 표현합니까
감사합니다.
2012-05-11
280
글번호 50944
답변완료
당일 종가들 중의 최저가를 어떻게 표현합니까 ?
당일 종가들 중의 최저가를 어떻게 표현합니까 ?
당일의 최저가가 아니라 종가들 중의 최저가 말한 겁니다.
감사합니다.
2012-05-11
336
글번호 50943