커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4482
글번호 230811
답변완료
문위드립니다
봉의 색갈 문위입니다
파라볼릭이 매수이고 macd오실레타가 매수이면===빨강봉
파라볼릭이 매도이고 macd 오시레타 매도이면===파란봉
파라볼릭이 매수이고 macd 오실레타가 매도이면===노란봉
파라볼릭이 매도이고 macd 오실레타가 매수이면===노란봉
부탁드립니다
언제나 감사드립니다
즐거운하루 돼세요~~~~~
2019-02-01
186
글번호 125876
답변완료
2연상 종목검색 식 실행순서
정확히 2연상 종목만 검색하는 종목검색 식입니다.
아래 코드의 "상한가"는 상한가 구하는 사용자함수입니다.
실행순서가 궁금합니다.
input : 연속(2), 기간(8);
Condition1 = countif(C >=상한가,연속) == 연속 and countif(C >=상한가,연속+1) != 연속+1;
Condition2 = countif(C < 상한가 and Condition1[1] == true,기간) >= 1;
if Condition1 == true or Condition2 == true Then
find(1);
=====================================
실행 순서
=====================================
순서1) Condition1 = countif(C >=상한가,연속) == 연속 and countif(C >=상한가,연속+1) != 연속+1;
==> (1,2 캔들 실행) and (1,2,3 캔들 실행) ==> Condition1[0]은 True
==> (2,3 캔들 실행) and (2,3,4 캔들 실행) ==> Condition1[1]은 False
==> (3,4 캔들 실행) and (3,4,5 캔들 실행) ==> Condition1[2]은 False
==> ..........
==> (7,8 캔들 실행) and (7,8,X 캔들 실행) ==> Condition1[6]은 False
==> (8,X 캔들 실행) and (8,X,X 캔들 실행) ==> Condition1[7]은 False
순서2) Condition2 = countif(C < 상한가 and Condition1[1] == true,기간) >= 1;
==> (1 캔들) and (현재 Condition1[1]은 없음 즉 False) ==> Condition2[0]은 False
==> (2 캔들) and Condition1[1] ==> Condition2[1]은 False
==> (3 캔들) and Condition1[2] ==> Condition2[2]은 False
==> ..........
==> (8 캔들) and Condition1[7] ==> Condition2[7]은 False
순서3) if Condition1 == true or Condition2 == true Then
find(1);
순서1-->순서2-->순서3 순으로 실행이 되나요?
Condition1 값을 모두 구한 후 Condition2 값을 모두 구하고 그 다음에 "순서3"을 실행하나요?
2019-02-01
225
글번호 125875
행복충전 님에 의해서 삭제되었습니다.
2019-02-01
0
글번호 125874
답변완료
수식부탁드립니다
#,안녕하세요.
#,61114 답변수식 잘 사용중입니다,
다시한번 감사드립니다
답변수식에 추가로 년간피봇대칭도 부탁드립니다 초기화 기준을 년간으로 변경 함수식
부탁드립니다.
한해동안 도움주심에 진심으로 감사드립니다.
"즐거운 설 명절 되십시요"
2019-02-01
217
글번호 125872
답변완료
수식 부탁드립니다.
원하는 기준가 지정하고
위로 돌파시 매수 아래로 돌파하면 매도
손절은 반대 신호 발생 시
골드는 기준가 1325.0인 경우와
크로드오일은 기준가를 54.00으로 했을 때
두 경우가 로직이 다르다면 각각으로 부탁드립니다. 감사합니다.
2019-02-01
183
글번호 125863
답변완료
text 출력 함수가 제대로 작동하지 않습니다.
안녕하세요,
text 함수를 사용하던 중 버그같은 것이 나와서 올려봅니다.
제가 짠 스크립트는 차트의 마지막 봉에서 6번째 전 봉 하단에 Buy라는 텍스트를 띄우는 것입니다.
ClearDebug;
if LastBarOnChart Then
{
var1 = GlobalbarIndex;
MessageLog("%.0f", var1);
MessageLog("%s", (var1)==globalbarIndex);
}
if (var1)==(globalbarIndex) Then
{
MessageLog("Hi");
Text_New_self(sDate,minutestotime(TimeToMinutes(sTime)-6*Interval), L, "Buy");
}
그런데 아무리 틱이 들어와도 텍스트가 차트에 표시되질 않습니다.
그리고 이번에는 Globalbarindex의 값을 explicit하게 넣어서 비교해 보았는데,
ClearDebug;
if LastBarOnChart Then
{
var1 = GlobalbarIndex;
MessageLog("%.0f", var1); //이때 globalbarindex가 53이라고 가정합니다.
MessageLog("%s", (var1)==globalbarIndex);
}
if (53)==(globalbarIndex) Then
{
MessageLog("Hi");
Text_New_self(sDate,minutestotime(TimeToMinutes(sTime)-6*Interval), L, "Buy");
}
이때는 텍스트가 차트에 제대로 표시됩니다.
값을 var1에 저장한 뒤 var1==globalbarindex 를 하면 true가 나오는데도 불구하고 텍스트가 차트에 표시되질 않고, 만약 값을 var1에 저장하지 않고 explicit하게 비교하면 텍스트가 차트에 표시되는데, 버그인가요? 어떻게 해결해야 하나요? 값을 explicit하게 비교하고 싶지는 않습니다..
2019-02-01
207
글번호 125861
답변완료
61146 질문에 재 질문이요~~
답변주신 수식으로 적용하니까 의도하지 않는 부문이 있습니다.
파라볼릭(종가) 보조지표를 넣은 챠트입니다.
제가 원하는 매매법은
빨간봉으로 전환시 매수진입 후에 4봉후 매수청산 (그리고 빨간봉이 유지시에도 추가진입X)
파란봉으로 전환시 매도진입 후에 4봉후 매도청산( 그리고 파란봉 유지시 추가진입X)
그런데 말입니다.... 위식으로 시스템으로 돌려보면
파라볼릭 매수 구간에서 최초 매도-매수로 전환할때 진입인데... 매수 구간 중간에도
진입이되는 현상이 있어서요...
주신 수식을 5분봉에 적용해본 결과입니다.
다시 정리하면
저는 파라볼릭(강세/약세) 전환시 최초 1회만 진입-청산하기를 원합니다.
수식을 보면 cross up /down으로 전환시에만 진입하는것으로 되어있는데 실제로
챠트에서 보면 ... 강세/약세 유지시에도 진입이 되는것이 나와요..ㅠㅠ
꼭 부탁드려요~~~~
적용수식
Input : af(0.02), maxAF(0.2);
Input : P1(4), P2(4);
Var : value(0);
value = sar(af,maxAF);
If
MarketPosition == 0 and
crossup(c,value) Then
{
Buy("매수진입");
}
If
MarketPosition == 0 and
CrossDown(c,value) Then
{
Sell("매도진입");
}
if MarketPosition == 1 and BarsSinceEntry == P1 Then
ExitLong("매수청산");
if MarketPosition == -1 and BarsSinceEntry == P2 Then
ExitShort("매도청산");
2019-02-01
183
글번호 125860
답변완료
지표 의뢰 드립니다!
안녕하세요! 아래는 항생의 진폭식입니다!
국선에 맞게 변경을 부탁드립니다!
(예: 289.05 - 286.95) = 2.1 >> 이렇게 2.1 이란 숫자가 나오게 부탁드립니다!
그리고 한해동안 너무 감사했습니다!
새해 복 많이 받으세요!
var : TX(0), TX1(0),Tcond(false),hh(0),ll(0);
if (sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then
{
tcond = true;
hh = h;
ll = l;
}
if (sdate != sdate[1] and stime >= 173000) or
(sdate == sdate[1] and stime >= 173000 and stime[1] < 173000) Then
{
tcond = false;
}
if Tcond == true then
{
if h > hh Then
hh = h;
if l < ll Then
ll = l;
}
Var80 = hh-ll;
Text_Delete(tx);
tx = Text_New(sdate,stime,C-PriceScale*240,NumToStr(var80,2));
Text_Delete(tx1);
tx1 = Text_New(sdate,stime,C+PriceScale*240,NumToStr(var80,2));
2019-02-01
208
글번호 125857
답변완료
문의 드려요
If 최근 20개 봉중 봉의 종가가 최근 20개봉의 고가를 갱신한 봉의 갯수가 10개 이상 and 매수조건
then
BUY()
위에 문장을 구현하는 수식 좀 부탁드립니다..
감사합니다.
2019-02-01
159
글번호 125853