커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7719
글번호 230811
답변완료
문의드립니다.
늘 고맙습니다.
여러방식의 진입이 있는데요.
각각 진입명에 연결된 방식으로만 청산을 하고 싶습니다.
예를 들어
Buy("AA"); 로 진입을 했다면
청산식중에 아래와 같은 청산명을 가진
exitlong("AA33"); 이라는 식이 있습니다.
이때 위 식이 다른 진입에서는 작동하지 않고 오로지 "AA"라는 진입에서만 작동하게 하려면
어떻게 해야 하나요?
2024-07-01
824
글번호 181095
답변완료
엔벨로프
안녕하세요? 수정 부탁드립니다
<당초>
1.엔벨로프 하단선 골크 (20,20)1개 매수, (20,30)1개 매수, (20,40)1개 매수, (20,50)1개 매수
/같은 위치에서 재매수 금지, 즉 총매수는 각기 다른 4개
2. 평균수익 20% 또는 평균손실 30%에서 모두 청산 / 당일매매 종료
3. 2번째 진입이후부터 평균손익이 본전에 오면 1개만 남겨두고 모두 청산 / 청산후 1번 프로세스 진행
<수정>
1.엔벨로프 하단선 골크 (20,20)1개 매수, (20,27)1개 매수, (20,34)1개 매수, (20,41)1개 매수, (20,48)1개 매수 / 같은 위치에서 재매수 금지, 즉 총매수는 각기 다른 5개
2. 평균손실 60%에서 모두 청산 / 당일매매 종료
3. 첫번째 진입건의 수익이 15% 도달시 또는 진입후 15일 경과시 모든포지션 청산하고 당일 프로세스 중지
4, 두번째 이후부터는 각각의 포지션 수익이 각 10% 도달시 각각 청산 / 청산후 1번 프로세스 진행
Input : Period1(20), Percent1(20), Percent2(30), Percent3(40), Percent4(50);
var : D1(0),D2(0),D3(0),D4(0);
var : Trade(False);
D1 = EnvelopeDown(Period1, Percent1);
D2 = EnvelopeDown(Period1, Percent2);
D3 = EnvelopeDown(Period1, Percent3);
D4 = EnvelopeDown(Period1, Percent4);
if Bdate != Bdate[1] Then
Trade = true;
if TotalTrades > TotalTrades[1] Then
{
if IsExitName("Bp",1) == true then
Trade = False;
if IsExitName("Bl",1) == true then
Trade = False;
}
if Trade == true Then
{
if CrossUp(C,D1) Then
Buy("b1",OnClose,def,1);
if CrossUp(C,D2) Then
Buy("b2",OnClose,def,1);
if CrossUp(C,D3) Then
Buy("b3",OnClose,def,1);
if CrossUp(C,D4) Then
Buy("b4",OnClose,def,1);
}
if MarketPosition == 1 Then
{
ExitLong("Bp",AtLimit,AvgEntryPrice*1.20);
ExitLong("Bl",AtStop,AvgEntryPrice*0.70);
if CurrentEntries >= 2 Then
{
if H < AvgEntryPrice Then
ExitLong("bx1",AtLimit,AvgEntryPrice,"",CurrentContracts-1,1);
if l > AvgEntryPrice Then
ExitLong("bx2",AtStop,AvgEntryPrice,"",CurrentContracts-1,1);
}
}
2024-07-01
1010
글번호 181092
답변완료
양합선..
양합선은 yes lang에서 만들었는데 그 이후 이 만든 것을 이평선을 적용하려면 어떻게 하나요?
2024-07-01
968
글번호 181087
답변완료
수식 질문합니다.
안녕하세요.
N봉내(초기값:15) 시가종가 10% 이상 장대양봉(전봉대비 거래량 500% 이상) 출현 후
1. 저가가 20일선보다 크고 20일선과 5% 이내인 종목 (20일선 상승)
2. 종가가 20일선을 데드크로스 한 종목 (20일선 상승)
감사합니다.
2024-06-30
923
글번호 181086
답변완료
수식 요청드립니다
아주 간단한 식인데요...
30분봉 그래프에서....
전봉 종가에 무조건 매수해서, 해당 봉의 종가에 무조건 매도하는...
아주 간단한 수식 부탁드립니다.
코딩 실력이 안느네요 TT
2024-07-01
1055
글번호 181085
답변완료
청산 관련 문의
30포인트 청산을 할려고 하는데 어떤 경우는 청산되고 어떤 경우는 청산이 안되서 문의 드립니다.
청산 수식은 아래와 같습니다.
음봉 숫자가 진입 10봉후 80%미만이면 21포인트 이하에서 청산하라고 하는데 하나는 되고 하나는 안되는 이유를 모르겠습니다. 10봉 이후에 둘다 수익이 20포인트를 넘는 상황입니다.
If BarsSinceEntry>=10 and CountIF(C<O,BarsSinceEntry)<(0.8*BarsSinceEntry) Then ExitShort("ES18",AtLimit,EntryPrice-21);
2024-06-30
801
글번호 181084
답변완료
문의드립니다.
최근 20개봉의 고가+저가/2의 평균가와 비교해 위든 아래든 20틱 이내에 있으면
즉시 청산되는 청산식 부탁드립니다.
2024-06-30
1035
글번호 181083
답변완료
누적수식(옵션만기일 기준)
아래식은 data3 기준으로 선물만기일(3개월 단위) 이후 누적 수식입니다.
data3 기준으로 옵션만기일(1개월 단위) 이후 누적수식으로 변경하여 주십시요.
항상 고맙습니다.
**********************************************************************************
안녕하세요
예스스탁입니다.
선물만기일이후 누적으로 변경해 드립니다.
만기 다음날부터 현재까지의 일봉값 누적입니다.
input: 주식개인순매수금액(3000);
input: 선물외국인누적순매수수량(50000);
var : month(0,data3),nday(0,data3),week(0,data3);
var : X(False,data3),sum3(0,data3),Prev(0,data3),cond(False,data3);
month = data3(int(date/100)-int(date/10000)*100);
nday = data3(date - int(date/100)*100);
Week = data3(DayOfWeek(date));
if (month%3 == 0 and nday >= 8 and nday <= 14 and week == 4) then
X = true;
Else
X = False;
if X == False and data3(Bdate != Bdate[1]) Then
{
if X[1] == true Then
{
cond = true;
Prev = 0;
}
Else
{
if cond == true Then
Prev = prev + data3(CloseD(1));
}
}
if cond == true Then
{
sum3 = prev + data3(c);
if data2(c > lowd(0)+주식개인순매수금액) and sum3 > 선물외국인누적순매수수량 Then
Buy();
}
2024-08-01
991
글번호 181082
답변완료
수식문의 드립니다
안녕하세요
수고 많으십니다.
해당 수식에 포인트(점수) 를 각각 부여해서 총합이 원하는 점수에 진입 하면 검색이 되게끔 부탁 드리겠습니다.
전일대비 거래량비율
1% 발생시1점, 2% 발생시 2점, 3%발생시 3점 , ........( 무한대)
거래대금
1억발생시 1점 , 2억 발생시 2점 , 3억 발생시 3점 , .........(무한대)
전일 종가대비. 오늘봉이 상승 갭 발생시
상승갭0.1%~ 상승갭 3% (10점) 에 최고 점수를 부여 하고
3%~ 4% 구간은 3%가 넘어설때는 마이너스(-) 로 전환 되어서 상승갭이 4%가 발생하면 0점이되고 상승갭 4% 이후로는 0.1% 당 마이너스 2점을 부여 해서 5%의 상승갭이 발생 하면 -20점으로 부여
(예: 1프로 상승갭 발생시 3점부여
2프로. 상승갭 발생시 6점부여
3프로 상승갭 발생시. 최고점수 10 점 부여(max)
3.5프로 상승갭 발생시 5점부여
4프로 상승갭발생시 0점 부여
4.5 프로 상승갭 발생시 마이너스 10 프로부여
5프로. 상승갭 발생시. 마이너스. 20 프로 부여
5.5 상승갭 발생시 마이너스 30프로 부여, ...(무한대 )
시가대비
1% 상승시 5점 , 2% 상승시 10점, 3% 상승시 15점 , .......(무한대)
위 조건의 점수 총 합이 80점 이상이면 종목 검색이 되게끔 부탁드리겠습니다.
----------------------------------------------------------------------
2. 아래조건은 위의 조건에 추가해서 부탁드리겠습니다.
1봉전,또는 2봉전 대비 (0봉기준) 체결강도 변동율이 20% 이상이면 20점 (이하 및 이상은 더이
상의 점수는 가감 하지않습니다.) 예: 1봉전,2봉전 쳬결강도가 100프로 가정. 현제봉이 120 프로면. 20 프로 이상입니다.
20봉간 전봉대비 체결강도 변동율이 100% 이상이 2회 이상(20점) (이것또한 이상 이하
는 더이상의 점수는 가감하지않습니다)
20봉간 체결강도가 100% 이상이 2 회 이상 이면 20점부여 (이것또한 해당조건으로만한정. 가감없습니다)
If= 위조건 + 아래조건 점수 총합이 140점 이상이면 검색이 되게끔 부탁드리겠습니다.
---------------------------------------------------------------------------------
항상 감사 드리면서
주말 마무리 잘하시고
습한 날씨에 건강관리 잘하시고
항상 건강 하십시요
2024-07-01
1052
글번호 181081