커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5539
글번호 230811
러블리 님에 의해서 삭제되었습니다.
2020-12-30
175
글번호 145001
답변완료
수정부탁드립니다
안녕하세요...글번호70217에 64번30분종가라인수정부탁드립니다.
현재수식 9시~9/30분종가라인은 9/31~10시까지
9/30~10시종가라인은 10시~10/30분까지
현재의수식을 아래의수식으로 수정부탁드립니다.
수정수식 9시~9/30분종가라인은 9/31~10/30까지
9/31~10/00시종가라인은10/00~11/00까지
이런식으로장종료까지 그려지게요.
수고하세요...꾸벅
2020-12-30
967
글번호 145000
답변완료
수식 의뢰 드립니다
안녕하세요! 아래 키움 수식을 예스로 변경 부탁드립니다!
항상 감사드립니다!
수식1 > 거래량
pvi(c)+nvi(c)
수식2 > 평균
avg(pvi(c),period)+avg(nvi(c),period)
수식3 > 표시
a=pvi(c)+nvi(c);
b=avg(pvi(c),period)+avg(nvi(c),period);
min(a,b)
지표설정조건>
period 25
라인설정>
거래량 유형:선 / 너비:1pt / 과열 기준값: 1
평균 유형:선 / 너비:1pt / 과열 기준값: 1
표시 유형:선 / 너비:1pt / 과열 기준값: 1
2020-12-30
940
글번호 144999
답변완료
지표 수식좀 부탁 드립니다.(인사)
* 지난해 수고 많으셨습니다.
* 새해에도 건강 하고 복 많이 받으십시요.
* 혹시 LRL선으로 스톡 지수 처럼 표현이 가능 할까요?
기준: 100봉 의 최대값 과 최소값 기준
다른 수치를 가지고 스톡 지수 처럼 표현하는 방법좀 부탁 드립니다.
* 지나한해 많은 도움에 고개 숙여 감사 드립니다.
2020-12-30
770
글번호 144995
답변완료
동일지표 내의 여러개의 출력물 적용 방법
항상 신속하고 친절하게 답변을 주셔서
많은 도움을 받고 있습니다.
감사합니다.
현재 상당이 큰(480라인 정도) 크기의 지표 속에
출력(PLOT)할 것이 20여개 될 경우
동일한 지표를 여러번 적용(불러오기)해서
각각 다른 행에 20개의 출력물을 배치해서 보고 있습니다.
그런데 최근에 시세가 터질때 차트가 자주 멈춰서
위와 같이 하는 것이 혹시 메모리에 부담을 주는지 궁금합니다.
지표를 20개 만들어서(기본적인 산출 데이터등은 중복)
각각 다른 지표명으로
각각 다른 행에 배치하는 경우 메모리를 덜 사용하게되는 지 궁금합니다.
핵심은
동일한 지표를 20번 불러올 경우(지표의 적용)에도
(20개의 출력물을 보고 있더라도)
동일한 지표이므로
지표내의 각종 계산 등은 한번만 하는지
각각의 출력물 숫자대로 20번 하게되는 되는지 여부 입니다.
연말 연시에 건강하하시고
댁내에 주님의 은총이 가득하시길 기원합니다.
2020-12-30
819
글번호 144994
러블리 님에 의해서 삭제되었습니다.
2020-12-30
205
글번호 144993
답변완료
시스템질문
아래수식에서
매수1과 매수2와 매수3의 조건이 2개이상 동시 만족되는경우
같은 가격에서 매수가 중복으로 이뤄지는데
한번만 매수되게 할수는 없을까요?
매수1과 매수2 값이 중복된경우 매수2가 매수되게,,,
매수1과 매수3 값이 중복된경우 매수3가 매수되게,,,
매수2와 매수3 값이 중복된경우 매수3가 매수되게,,,
매수1,2,3가 모두 중복된경우 매수3가 매수되게,,,
INPUT : 매수(0), 매도조건(1);
var : cond(False),LP(0);
var1 = ma(C,3);
var2 = ma(C,5);
var3 = ma(C,10);
var4 = ma(C,60);
if C < Var4 and CrossDown(c,var1) and cond == False Then
{
if MarketPosition == 0 or (MarketPosition == 1 and C < LP and Condition1 == False) Then
Buy("매수1");
}
if C < var4 and CrossDown(c,var2) and cond == False Then
{
if MarketPosition == 0 or (MarketPosition == 1 and C < LP and Condition1 == False) Then
Buy("매수2");
}
if C < Var4 and CrossDown(c,var3) and cond == False Then
{
if MarketPosition == 0 or (MarketPosition == 1 and C < LP and Condition1 == False) Then
Buy("매수3");
}
if MarketPosition == 1 Then
{
if 매수 == 1 Then
Cond = true;
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수1" Then
{
LP = LatestEntryPrice(0);
Condition1 = true;
}
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수2" Then
{
LP = LatestEntryPrice(0);
Condition2 = true;
}
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수3" Then
{
LP = LatestEntryPrice(0);
Condition3 = true;
}
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수4" Then
{
LP = LatestEntryPrice(0);
Condition4 = true;
}
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수5" Then
{
LP = LatestEntryPrice(0);
Condition5 = true;
}
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수6" Then
{
LP = LatestEntryPrice(0);
Condition6 = true;
}
if Condition3 == true Then
{
if Condition4 == False Then
Buy("매수4",AtLimit,LP*0.97);
if Condition4 == true and Condition5 == False Then
Buy("매수5",AtLimit,LP*0.95);
if Condition4 == true and Condition5 == true and Condition6 == False Then
Buy("매수6",AtLimit,LP*0.90);
}
if 매도조건 == 1 Then
{
ExitLong("bx1",AtLimit,AvgEntryPrice*1.05,"",Floor(MaxContracts*0.2),1);
ExitLong("bx2",AtLimit,AvgEntryPrice*1.08,"",Floor(MaxContracts*0.5),1);
ExitLong("bx3",AtLimit,AvgEntryPrice*1.10);
}
if 매도조건 == 2 Then
{
ExitLong("bx",AtLimit,AvgEntryPrice*1.15);
}
}
Else
{
Condition1 = False;
Condition2 = False;
Condition3 = False;
}
2020-12-30
596
글번호 144992
답변완료
지표식 문의
안녕하세요?
예상과 달리, 잘 작동 안하는 이유가 궁금합니다.
감사합니다.
2020-12-30
742
글번호 144991
답변완료
안녕하세요! 문의드립니다~ 꼭좀 답변 부탁드립니다~
안녕하세요!
수식을 작성하고 시뮬을 돌리다가 문제점이 몇몇 발생되어 이렇게 문의를 드리게 됐습니다~
현재 피라미딩을 구현하기위해 (1번 ~ 4번) 매 회 매수 서식에 별도의 카운트변수를
선언하여 +1을 하고 있습니다.
이때 if문을 통과했으니 buy주문이 들어가고 +1이 됐을텐데 카운트만 늘어나고
매수는 안되어 있어서 간혹 회차를 넘어가서 1번 2번 이렇게가 아닌 1번 3번 이런식으로
매수가 되어 있더라구요.
크로스업 또는 다운함수를 사용해서 그런가해서
C[1] < 기준선 and C > 기준선
이렇게 넣었는데도 결과는 같았습니다.
주문예약어로 OnClose, AtMarket, AtStop, AtLimit 전부 다 사용해봤는데도
안되더라구요. (AtStop, AtLimit의 경우는 c+PriceScale*3 이렇게 작성했습니다.)
시장가로 매수는 프로그래밍상 어려울거라 생각되는데 무조건 매수가 되게는 보장 못
하지만 그래도 최대한 가장 무조건에 가까운 방법은 OnClose 인지 궁금합니다.
이게 아니면 if 문 내에 카운트를 세는 함수를 +1을 하는게 아니라
if문이 끝나면 바로 아래에
if latestEntryName == 매수1(또는 매수2 ...) then
Cnt = Cnt + 1;
이런식으로 작성을 해야하는지 제 머리로는 이게 한계네요ㅠㅠ
혹시 위의 수식과 같은 최근매수 또는 몇번째 매수했을때의 매수명이 아닌
매수명만으로 포지션이 있는지 없는지를 확인하는 방법이 있을까요?
도움말을 암만 찾아봐도 이거에 대해선 답을 얻진 못했습니다.
슬리피지보다 더 큰 오류를 범하는게 정해진 수식이 진행 중에 매수 또는 매도가
안되었을 때 진짜 답이 없더라구요 ㅠㅠ 사람이 손매매해버리면 또 복잡해지고 ㅠㅠ
슬리피지가 얼마든 상관없습니다 그냥 매수할타이밍에 매수를 무조건 그리고 매도할
타이밍에 매도를 무조건 할 수 있도록 도움 부탁드립니다 ㅠㅠ
그리고 간혹 ETF 상품으로 시뮬을 돌릴때 1분봉기준으로 차트상에 봉이 없다던지
메시지박스로 디버깅을할때 동일 시간이 두줄이 나온다던지 이런 오류가 있던데
실 매매에서는 이런일이 발생되는일은 없겠죠?
(예)
차트 상에서 09:01 봉 다음 09:03 으로 보여짐 -> 09:02 봉이 안보임
메시지 박스에서 2020.01.09.09:01 다음 줄이 동일한 2020.01.09.09:01 이고
그 다음줄이 2020.01.09.09:03 으로 보여짐
마지막으로 차트를 실행했을때 속성에서 "수정주가"라는 게 있는데 이는
어떤 역활을 하는 옵션인건지 궁금하고 체크를 하고 안하고 차이가 궁금합니다!
2020-12-30
1060
글번호 144990