커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4356
글번호 230811
좌오비우오비 님에 의해서 삭제되었습니다.
2017-07-02
0
글번호 110910
답변완료
부탁 드립니다.
도움 주심에 경배로 감사 인사 올립니다.
53582번의 답변에 대한 추가 질문 입니다.
조건에 의해 생성된 선(일자 그래프)을-->(짧게 표시되는선)
해선에서 당일(07:00~익일06:00)에만
연장 표시 되도록 가능하겠는지요?
답변된 수식)
input : p100(100);
var : HV1(0),HV2(0),HV3(0);
var : HH1(0),HH2(0),HH3(0);
var : LL1(0),LL2(0),LL3(0);
HV1 = NthHighest(1,v,p100);
HV2 = nthhighest(2,v,p100);
HV3 = nthhighest(3,v,p100);
HH1=NthHighest(1,h,p100);
HH2=nthhighest(2,h,p100);
HH3=nthhighest(3,h,p100);
LL1=NthLowest(1,L,P100);
LL2=NTHLOWEST(2,L,P100);
LL3=NTHLOWEST(3,L,P100);
if HH1 > 0 and H == HH1 and
((HV1 > 0 and V >= HV1) or
(HV2 > 0 and V >= HV2) or
(HV3 > 0 and V >= HV3)) Then{
Condition1 = true;
var11 = H;
}
if Condition1 == true and var11 != HH1 Then
Condition1 = false;
if HH2 > 0 and H == HH2 and
((HV1 > 0 and V >= HV1) or
(HV2 > 0 and V >= HV2) or
(HV3 > 0 and V >= HV3)) Then{
Condition2 = true;
var12 = H;
}
if Condition2 == true and var12 != HH2 Then
Condition2 = false;
if HH3 > 0 and H == HH3 and
((HV1 > 0 and V >= HV1) or
(HV2 > 0 and V >= HV2) or
(HV3 > 0 and V >= HV3)) Then{
Condition3 = true;
var13 = H;
}
if Condition3 == true and var13 != HH3 Then
Condition3 = false;
if LL1 > 0 and L == LL1 and
((HV1 > 0 and V >= HV1) or
(HV2 > 0 and V >= HV2) or
(HV3 > 0 and V >= HV3)) Then{
Condition4 = true;
var21 = L;
}
if Condition4 == true and var21 != LL1 Then
Condition4 = false;
if LL2 > 0 and L == LL2 and
((HV1 > 0 and V >= HV1) or
(HV2 > 0 and V >= HV2) or
(HV3 > 0 and V >= HV3)) Then{
Condition5 = true;
var22 = L;
}
if Condition5 == true and var22 != LL2 Then
Condition5 = false;
if LL3 > 0 and L == LL3 and
((HV1 > 0 and V >= HV1) or
(HV2 > 0 and V >= HV2) or
(HV3 > 0 and V >= HV3)) Then{
Condition6 = true;
var23 = L;
}
if Condition6 == true and var23 != LL3 Then
Condition6 = false;
if Condition1 == true then{
plot1(var11);
}
if Condition2 == true then{
plot2(var12);
}
if Condition3 == true then{
plot3(var13);
}
if Condition4 == true then{
plot4(var21);
}
if Condition5 == true then{
plot5(var22);
}
if Condition6 == true then{
plot6(var23);
}
2017-07-02
124
글번호 110909
2wnwn 님에 의해서 삭제되었습니다.
2017-07-03
11
글번호 110908
답변완료
시스템 로직 작성 문의
수고 많습니다.
첨부 그림 파일은
input : P(20);
var1 = ema(C,P);
if var1 > var1[1] Then
var2 = 1;
if var1 < var1[1] Then
var2 = -1;
if var2 == 1 Then
plot1(var1,"이평",RED);
else
plot1(var1,"이평",BLUE); 지표를 점선으로 나타낸 그림입니다.
1. 20 단순이평선과 20 지수이평선의 2개의 지표가 2번 연속 빨강이면 매수
20 단순이평선과 20 지수이평선의 2개의 지표가 2번 연속 파랑이면 매도
신호와 첨부그림 2와 같이 수익틱수도 표시되게 끔 작성 부탁드립니다.
2.
- 120일 이평선이 빨강일때
20 단순이평선과 20 지수이평선의 2개의 지표가 2번 연속 빨강이면 매수
20 단순이평선과 20 지수이평선의 2개의 지표가 2번 연속 파랑이면 청산
- 120일 이평선이 파랑일때
20 단순이평선과 20 지수이평선의 2개의 지표가 2번 연속 파랑이면 매도
20 단순이평선과 20 지수이평선의 2개의 지표가 2번 연속 빨강이면 청산
첨부그림 2와 같이 수익틱수도 표시되게 끔 는 시스템식 부탁드립니다.
2017-07-02
134
글번호 110907
답변완료
연결옵션 관련 오류 문의입니다.
If stime == 093000 Then
{
sell();
}
If stime == 123000 Then
{
exitshort();
}
콜ATM연결 옵션차트에 위 수식처럼 930분에 매도 1230분에 매도청산 수식을 적용하였는데 간간히 당일 1230분에 청산이 안되고 다음날로 넘어가서 청산이 계산되어 보고서 오류가 납니다.
제가 거래내역 일일이 확인 해 봤는데 어려번에 걸처 당일 청산이 안되고 익일이나 익익일에 청산되는 오류가 있습니다.
제가 잘못한 것인지 예스트레이더 오류인지 궁금합니다.
파일 캡쳐 청구합니다.
2017-07-02
125
글번호 110906
답변완료
수식요청 드립니다
* 항상 많은 도움에 고맙습니다.
* 아래식에서 블루선이 그어지고 "블루선의4/1 가격 이상 이상 상승 하면 매수"
로직 구현좀 부탁 드립니다.
* 분봉 차트 10분봉 사용
Input:length(20);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),T(0), Text1(0),
처리구분("");
Array:고점[10,2](0),저점[10,2](0);
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],
sDate[eBar],sTime[eBar],고점[1,1]);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],
sDate[eBar],sTime[eBar],저점[1,1]);
}
}
TL_SetSize(TL1,3);
if 처리구분 == "고점처리" Then
TL_SetColor(TL1,RED);
if 처리구분 == "저점처리" Then
TL_SetColor(TL1,blue);
즉 "블루 선의 4/1지점 까지 상승 하면 매수" 하겠다는 것 입니다.
* 항상 많은 도움 고맙습니다.
2017-07-03
127
글번호 110905
답변완료
수식 문의합니다.
수식 요청합니다
당일시가보다 위에 있고 5,20,60정배열
5이평 아래 종가보다 한틱 위에서 매수
(변수이용)
첫번째 진입은 1계약 매수
첫번째 진입이 수익청산이면 동일 두번째 진입시 2계약 매수
2계약 수익시 세번째 진입도 2계약
네번째 진입부터 무조건 1계약 진입
2계약 진입후 분할청산시 한번이라도 손절시
다시 1계약 진입
매도도 동일한방법으로 진입
1계약 10틱 청산
2계약 10틱,30틱 분할청산
10틱 수익후 10틱 상승후 하락시 10틱에서 청산
손절 15틱
응용 가능하도록 설명 부탁 드립니다
2017-07-03
136
글번호 110904
답변완료
문의 드립니다
안녕하세요
영웅문 수식 2가지을 예스수식으로 전환할려합니다
1, highest(if(c>0,eavg(c,10),0),20)
2, a= HighestSince(1,CrossUp(macd(2,5),0),wavg(wavg(종가,4/2),4/2)));
b= wavg(wavg(종가,4/2),4/2);
if(a>b,a,b)
a=LowestSince(1,CrossDown(macd(2,5),0),wavg(wavg(종가,4/2),4/2)));
b= wavg(wavg(종가,4/2),4/2);
if(a<b,a,b)
상기 두수식은 별개입니다
감사합니다
2017-07-02
133
글번호 110903
답변완료
재질문
답변 감사드립니다. 그런데 오류가 있네요. 도움 부탁드립니다.
답변주신대로 아래와 같이 코딩해서 적용했더니 원하는 시간대부터 선이 표시되지 않네요. 첨부한 그림 참조하시면 됩니다.
<<적용한 프로그램>>
if Bdate != Bdate[1] Then
Condition1 = false;
if stime >= 234500 Then
Condition1 = true;
if sdate >= 20170630 and Condition1 == true then{
#출력문
plot1(45.41);
}
==============이전에 드렸던 요구사항과 예스,스탁 답변입니다
<<요구사항>>
일정시간 이후부터만 출력선(plot)을 그리게 하고 싶습니다
예를 들어 1) 당일 23시30분 이후부터 선을 그리기
2) 7월1일 23시30분 이후부터 선을 그리기
##########################
<<답변내용>>
2-1
if Bdate != Bdate[1] Then
Condition1 = false;
if stime >= 233000 Then
Condition1 = true;
if Condition1 == true then{
#출력문
plot1(~~~~);
}
2-2
if Bdate != Bdate[1] Then
Condition1 = false;
if stime >= 233000 Then
Condition1 = true;
if sdate >= 20170701 and Condition1 == true then{
#출력문
plot1(~~~~);
}
###################
도움 부탁드릴께요 ^^
2017-07-01
150
글번호 110902