커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1664
글번호 230811
답변완료
파라볼릭 봉의 성격이 양봉인지 음봉인지 구분
sar(af,maxAF);
값을 통하여 파라볼릭점을 찍어내는 추세선을 보고
매수 매도 로직을 작성하려고 합니다.
1차 파라볼릭 봉의 성격 구분(양봉, 음봉)
2차 양봉인 경우 직전봉 시초가 현재봉의 시초가 비교하여 1% 이상이면 매수
3차 음봉인 경우 기존 매수로직 철회
2022-02-24
928
글번호 156673
답변완료
지표 질문입니다
당일 고가에서 연속 2개의 음봉 출현시 첫번째 음봉 시가를 표시한다
20 캔들 고가에서 연속 2개의 음봉 출현시 첫번째 음봉 시가를 표시한다
당일 저가에서 연속 2개의 양봉 출현시 첫번째 양봉 시가를 표시한다
20 캔들 저가에서 연속 2개의 양봉 출현시 첫번째 양봉 시가를 표시한다
감사합니다
2022-02-24
940
글번호 156672
회원 님에 의해서 삭제되었습니다.
2022-02-24
79
글번호 156671
답변완료
문의 드립니다.
안녕하세요 과거 게시판 소스를 찾으면서 그 소스에 가격 뿐만 아니라 위에서 아래 몇틱, 아래에서 위로 몇틱으로 갔는지 알 수 있게 추가하고 싶습니다. 예를 들면 114틱 100틱 ... 이렇게 표시 하고 싶습니다. 가능할까요?
몇틱으로 갔는지 쉽게 보기 위해 아래에서 위로 가는 몇틱 표시 값은 캔들 위에 표시 해주심 감사하고
위에서 아래로 가는 몇틱 표시 값은 캔들 아래에 표시 해주심 감사하겠습니다.
---------과거 게시판 내용----------
input:length(4),종가사용여부(0),파동선두께(5),수치표시(1);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),tl2(0),tl3(0),tl4(0),tl5(0),T(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = IFF(종가사용여부==1,C,H);
LL = IFF(종가사용여부==1,C,L);
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
If 수치표시 == 1 Then
{
Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2));
Text_SetStyle(Text1, 2, 1);
Text_SetColor(Text1,BLACK);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,red);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,NumToStr(고[1,1],2));
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2));
Text_SetStyle(Text1, 2, 0);
Text_SetColor(Text1,BLACK);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,blue);
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,NumToStr(저[1,1],2));
}
}
최종꼭지점 = "저점";
}
if T == -1 and T[1] != -1 Then{
TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]);
TL_Delete(TL3);
TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]);
TL_SetExtRight(TL3,true);
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,BLUE);
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,BLUE);
}
if T == 1 and T[1] != 1 Then{
TL4= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]);
TL_Delete(TL5);
TL5= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]);
TL_SetExtRight(TL5,true);
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,RED);
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,RED);
}
------------------------------------끝-------------------------------
늘 감사하게 생각하고 있습니다. 감사합니다.ㅠㅠ
2022-02-24
923
글번호 156670
답변완료
수정요청입니다.
76095 수정요청입니다.
매우 훌륭하게 표현해주셔서 감사합니다.
추가로 표현되는 라인을 컬러로 표기할 수 있게 부탁드립니다.
자꾸 부탁드려 죄송합니다.
그듭 감사드립니다.
var : tl1(0),tl2(0),tl3(0),tl4(0);
var : tx1(0),tx2(0),tx3(0),tx4(0);
if Bdate != Bdate[1] Then
{
var1 = O;
var2 = H;
var3 = L;
var4 = C;
TL1 = TL_New(sDate[1],153000,var1,sDate,sTime,var1);
TL2 = TL_New(sDate[1],153000,var2,sDate,sTime,var2);
TL3 = TL_New(sDate[1],153000,var3,sDate,sTime,var3);
TL4 = TL_New(sDate[1],153000,var4,sDate,sTime,var4);
tx1 = text_new(sDate,sTime,var1,"시가");
tx2 = text_new(sDate,sTime,var2,"고가");
tx3 = text_new(sDate,sTime,var3,"저가");
tx4 = text_new(sDate,sTime,var4,"종가");
Text_SetStyle(tx1,0,2);
Text_SetStyle(tx2,0,2);
Text_SetStyle(tx3,0,2);
Text_SetStyle(tx4,0,2);
}
if sTime < 93000 Then
{
TL_SetEnd(TL1,sDate,sTime,var1);
TL_SetEnd(TL2,sDate,sTime,var2);
TL_SetEnd(TL3,sDate,sTime,var3);
TL_SetEnd(TL4,sDate,sTime,var4);
Text_SetLocation(tx1,sDate,sTime,var1);
Text_SetLocation(tx2,sDate,sTime,var2);
Text_SetLocation(tx3,sDate,sTime,var3);
Text_SetLocation(tx4,sDate,sTime,var4);
}
2022-02-24
834
글번호 156669
답변완료
부탁드립니다
수고하십니다
아래수식을 예스 수식으로 부탁드립니다
R=RSI(기간);
1.valuewhen(1,crossup(R,70) or crossdown(R,70),Min(O,C))
2.R=RSI(기간);
if(R>=70, valuewhen(1, H>H(1), H)*1.0,
valuewhen(1,crossup(R,70) or crossdown(R,70),H))
1.은Plot1
2.은Plot2 로 수식 부탁드립니다
2022-02-24
767
글번호 156668
답변완료
수식 도움 부탁드립니다.
수식도움 부탁드립니다.
감사합니다!
조건 : 지수가 20일선 위에 있다면 매수. 아래에 있다면 매도 포지션
매수 : 지수가 20일선 위에 있고 & 지수가 5일선과 골든크로스하면 매수
데드크로스하면 매수청산
매도 : 지수가 20일선 아래 있고 & 지수가 5일선과 데드코르소하면 매도
데드크로스하면 매도청산
손절매 : 4% 손실발생시
2022-02-24
1029
글번호 156667
답변완료
도움요청드립니다.
안녕하세요?
저의 의도는 갭(갭상갭하 모두포함)음봉 2회출현시 매도 입니다.
[1]번과 같이 수식을넣으니 첫번째 갭음봉은 성공적이나, 진입하는 음봉이 갭이 아니라 그냥음봉에 진입하고있는 현상이 있습니다.
[2]번과 같이 수식을넣으니 완전 엉뚱하게 되네요..
갭음봉 2회출현시 매도로 들어가게 하고싶습니다.
감사합니다.
[1]
C[2] < O[1] or C[2] > O[1] and
C[1] < O[1] and C < O Then
Sell();
[2]
C[2] < O[1] or C[2] > O[1] and
C[1] < O or C[1] > O and
C[1] < O[1] and
C < O Then
Sell();
2022-02-23
1190
글번호 156666
답변완료
수식 좀 요청 드립니다.
* 아래 수식 좀 요청 드립니다.
* 지표 4개 사용
## 이동 평균선 지표
1. Input : Period1(5), Period2(20);
var1 = ema(C,Period1);
var2 = ema(C,Period2);
## 시그마지표
2. Input : Period(20), Period1(10);
var : Sigma(0);
Sigma = (C-ma(C,Period))/STD(C,Period);
## 이격도지표
3. Input : Period(20);
var : DParity(0);
DParity = Disparity(Period);
#3 RSI지표
4.Input : Period(9);
var : Relative(0);
Relative = RSI(Period);
수식 요청
IF CrossUp(5이평, 20이평) AND
Sigma <= -1.8 AND
DParity <= 99.95 AND
Relative <= 30 이면
현재(C) 값을 저장
값 저장 이후 8봉 경과하면
저장값 보다 -PriceScale*8 작으면 Then BuY();
즉 저장값 적용후 8봉이 경과 하면 RSI나 이격도, 시그마 지표 수치가 변하지만
지표 수치 와는 관계없이
저장값 보다 8틱 아래면 매수 진입 입니다.
* 고맙 습니다.
2022-02-24
1001
글번호 156665