커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4400
글번호 230811
답변완료
안녕하세요.
data1 에 콜 가격과 참조 data2 에 가격차이가 5틱이내일때는 진입이 안되는 식을 만들고 싶은데요 알려주세요^^
예를들어 콜 0.36 풋 0.32면 콜 매수가 안들어갈 수 있도록이요^^
2018-06-22
139
글번호 119977
답변완료
종목검색 문의입니다
종목검색에서 볼린저밴드를 적용하면 검색이 안되고 이 조건을 빼면
검색이 나오는데 볼밴작성을 잘못했는지 한번 봐주세요.
요렇게 두가지 조건 적용해서 검색하면 종목검색이 잘 잡힙니다.
Condition1 = O <= C;
Condition2 = M >= Ma(M, 20)*2;
If Condition1 and Condition2 Then
Find(1);
그런데 아래처럼 볼밴을 적용해서 작성하면
종목 검색이 계속 안되네요.
Input : Period(60), D(2);
Variables : BBTop(0), BBMid(0), BBBot(0),Bwidth(0);
BBTop = BollBandUp(Period,D);
BBMid = ma(C,Period);
BBBot = BollBandDown(Period,D);
BWidth = ((BBTop - BBBot)/ BBMid);
Condition1 = O <= C;
Condition2 = M >= Ma(M, 20)*2;
Condition3 = BWidth[1] <= 0.05;
If Condition1 and Condition2 and Condition3 Then
Find(1);
위에 식중에 잘못 적용된 부분이 있나요?
전에 위 식으로 종목검색해도 문제가 없었는데
종목검색으로 작성해서 다시 돌리니까 검색이
0 입니다. 답변좀 부탁드려요~
2018-06-22
158
글번호 119975
답변완료
문의드립니다.
수고많으십니다.
시스템 매매 신호가 한봉에서 하나만 발생하는데 간혹
한봉에서 신호가 3번발생될때가 있습니다.(진입,청산)
진입신호가 발생한 봉에서는 반대 매매 신호와 청산신호가 발생안되게 부탁드립니다.
2018-06-22
127
글번호 119972
답변완료
수정부탁 드립니다
안녕하세요.
1.하기수식을 적용하니 노란선이 선이두개가 겹쳐보입니다. 겹치지않도록 수정요망 합니다.
2.추세 연장선(파란선)만 나오도록 수식변경요청 합니다.
3.추세선과. 연장선 수식을 분리해주세요
좋은하루 되세요
input : af(0.02), maxAF(0.2),추세선두께(1),추세선색1(YELLOW),추세선색2(CYAN),연장선두께(2),연장선색(blue);
input : 텍스트출력(1);
var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0);
var : TL1(0),TL2(0),cnt(0),count(0);
var : TL3(0),TL4(0),TL5(0),TL6(0),tx1(0),tx2(0),tx11(0),tx22(0);
Var : TL11(0),TL22(0);
var1 = BollBandUp(20,2);
var2 = BollBandDown(20,2);
if crossup(c,var1) Then
{
T = 1;
HH = H;
HD = sdate;
HT = stime;
HH1 = HH[1];
HD1 = HD[1];
HT1 = HT[1];
if LL > 0 Then
{
TL1 = TL_new(LD[1],LT[1],LL[1],HD,HT,HH);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
TL_Delete(TL6);
TL3 = TL_new(HD[1],HT[1],HH[1],sdate,stime,HH[1]);
TL4 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2);
TL5 = TL_new(HD[1],HT[1],LL,sdate,stime,LL);
TL6 = TL_new(HD[1],HT[1],HH[1]+(HH[1]-LL[1])/2,sdate,stime,HH[1]+(HH[1]-LL)/2);
//추세선 오른쪽 연장설정
TL_SetExtRight(TL3,true);
TL_SetExtRight(TL4,true);
TL_SetExtRight(TL5,true);
TL_SetExtRight(TL6,true);
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(HH1,2));
Text_SetStyle(tx11,2,1);
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
}
TL11 = TL_New(HD1,HT1,HH1,HD,HT,HH);
}
if CrossDown(c,var2) Then
{
T = -1;
LL = L;
LD = sdate;
LT = stime;
LL1 = LL[1];
LD1 = LD[1];
LT1 = LT[1];
if HH > 0 Then
{
TL2 = TL_new(HD[1],HT[1],HH[1],LD,LT,LL);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
TL_Delete(TL6);
TL3 = TL_new(LD[1],LT[1],HH,sdate,stime,HH);
TL4 = TL_new(LD[1],LT[1],(HH+LL[1])/2,sdate,stime,(HH+LL[1])/2);
TL5 = TL_new(LD[1],LT[1],LL[1],sdate,stime,LL[1]);
TL6 = TL_new(LD[1],LT[1],LL[1]-(HH-LL[1])/2,sdate,stime,LL[1]-(HH-LL[1])/2);
//추세선 오른쪽 연장설정
TL_SetExtRight(TL3,true);
TL_SetExtRight(TL4,true);
TL_SetExtRight(TL5,true);
TL_SetExtRight(TL6,true);
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(LL1,2));
Text_SetStyle(tx22,2,0);
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
}
TL22 = TL_New(LD1,LT1,LL1,LD,LT,LL);
}
if T == 1 then
{
if H > HH Then
{
HH = H;
HD = sdate;
HT = stime;
TL_SetEnd(TL1,HD,HT,HH);
TL_SetEnd(TL11,HD,HT,HH);
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
}
}
if T == -1 then
{
if L < LL Then
{
LL = L;
LD = sdate;
LT = stime;
TL_SetEnd(TL2,LD,LT,LL);
TL_SetEnd(TL22,LD,LT,LL);
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
}
}
#추세선 두께, 색상
TL_SetSize(TL1,추세선두께);
TL_SetSize(TL11,추세선두께);
TL_SetSize(TL2,추세선두께);
TL_SetSize(TL22,추세선두께);
TL_SetColor(TL1,추세선색1);
TL_SetColor(TL11,추세선색1);
TL_SetColor(TL2,추세선색2);
TL_SetColor(TL22,추세선색2);
#연장선 두께, 색상
TL_SetSize(TL3,연장선두께);
TL_SetSize(TL4,연장선두께);
TL_SetSize(TL5,연장선두께);
TL_SetSize(TL6,연장선두께);
TL_SetColor(TL3,연장선색);
TL_SetColor(TL4,연장선색);
TL_SetColor(TL5,연장선색);
TL_SetColor(TL6,연장선색);
2018-06-22
231
글번호 119968
답변완료
엑셀
연결선물의 저가,고가,종가 의 데이터를 실시간으로 엑셀로 넣고싶습니다.
당일의 종가는 현재가가 되겠구요
그리고 옆에는 보조지표 ATR값을 쫙 뽑고싶습니다.
위그림참고
2018-06-22
170
글번호 119961
답변완료
문의
obv5이평를 항생에 적용해볼려고 합니다.
오전 9시15분을 동시호가로 생각해서 동시호가를 기준으로 0으로 보고 obv5이평 당일의 최고고점 저점선이 나오도록 부탁드립니다
2018-06-22
155
글번호 119959
답변완료
문의드립니다
공부할수록 너무 어렵네요
계속 질문드립니다
# 매수 / 청산
IF StoK == 20 Then
{
Buy("1");
}
IF StoK == 80 or entryprice>value1 Then
{
Exitlong("bx1",OnClose,def,"1");
}
IF StoK == 80 Then
{
Sell("2");
}
IF StoK == 20 or entryprice<value1 then
{
Exitshort("bx2",OnClose,def,"2");
}
IF entryprice>value1 Then
{
Sell("3");
}
IF CrossUp(value1, value2) then
{
Exitshort("bx3",OnClose,def,"3");
}
IF entryprice<value1 Then
{
buy("4");
}
IF CrossDown(value1, value2) then
{
Exitlong("bx4",OnClose,def,"4");
}
위의 식이 이상없다 하셨는데
1.
실제 시뮬레이션 돌리면 StoK가 80일때 매도 20일때 매수 신호가 나오지 않고 엉뚱한데 나오네요 왜그런지.....수정 부탁드립니다
2.
IF entryprice(1) > value1 Then
{
Sell();
}
은 전매입가격보다 이평선이 작을때 매도해라라는 신호인데 이것을
바로앞전 거래가 손실시에만 바로앞전 매입가격을 기준으로 시행하라는 함수를 넣으려면 어떻게 해야 하나요
3.
2.의 질문과 동일한에 매입가격이 아니라 매입할당시의 이평선의 가격을 기준으로 이평선이 이 가격을 하락돌파하면 매도하라는 함수는 어떻게 될까요?
4.
시뮬레이션을 돌렸는데 수익Pt가 맞지 않아요....
매입가격에서 청산가격을 빼면 수익Pt가 나와야 하는것 아닌가요?
뭔가 이상해요 확인부탁드립니다
첨부파일로 첨부합니다
5.
아주 기본적인 질문인데요
or과 else의 차이점을 예를 들어 설명 부탁할께요
그리고 봉의 고점을 함수로 어떻게 나타내나요
구분이 넘 힘들어요 ㅋㅋ
여러가지 조건을 검색하려하니 너무 모르는것이 많네요
부탁드립니다
이제 주말이네요
주말 잘 보내세요~~~~~
늘 감사합니다.
2018-06-22
154
글번호 119958
답변완료
시스템 수식 여쭤봅니다.
개별 종목 분봉차트를 띄워두고 적용하려고 합니다.
매도가 일어나면 재매수 금지
1차매수 일봉 5이평에 주가가 +2% ~ -2% 범위에 들어오면 전체물량의 50% 매수
2차매수 일봉 10이평에 주가가 +2% ~ -2% 범위에 들어오면나머지 50% 매수
1차매도 1차 매수 또는 2차매수후 5% 상승시 전체물량의 50% 매도
2차매도 1차 매수 또는 2차매수후 10% 상승시 나머지 전부 매도
손절은 주가가 일봉15평에 닿으면 손절
감사합니다.
2018-06-21
145
글번호 119957
답변완료
시스템식 여쭤봅니다~
안녕하세요?
매매는 일반종목 분봉차트 띄워놓고 시스템 적용하려고 합니다.
매매금액 설정할수 있었으면 합니다.
가지고 있는 모든 물량이 매도가 일어나 0이 되는 그 날은 다시 재매수가 없었으면 합니다.
예를들어)
1차매수후 시간이 흘러 1차매도가 일어난 후
다시 주가가 흘러서 2차매수지점에 오면 2차 매수가 되었으면 하고
매도는 1차매수시점으로 계속진행되었으면합니다.
1차매수 후 1차매도가 일어난후 2차매수가 일어났지만 1차매수시점을 기준으로 시간의 흐름에
따라 매도가 진행되니깐 2차매도가 일어나게 하고 싶습니다.
기본적으로
3분할 매수(분봉차트를 띄워 놓치만 기준은 일봉상 이평선)
5분할 매도 하려고 합니다.
1차매수 주가가 위에서 아래로 내려와서 일봉상 5일선에 닿을때 전체금액의 30% 매수
2차매수 주가가 위에서 아래로 내려와서 일봉상 15일선에 닿을때 전체금액의 30% 매수
3차매수 주가가 위에서 아래로 내려와서 일봉상 20일선에 닿을때 전체금액의 40% 매수
매도는
매수가 09시30분전에 1차 또는 1차+2차 또는 1차+2차+3차가 일어나면
10시 1차매도 전체물량의 20%
13시 2차매도 전체물량의 25%
14시 3차매도 전체물량의 33%
다음날 10시 4차매도 전체물량의 50%
13시 5차매도 남은 물량전부 매도
매수가 09시30분~10시에 1차 또는 1차+2차 또는 1차+2차+3차가 일어나면
10시30분 1차매도 전체물량의 20%
13시 2차매도 전체물량의 25%
14시 3차매도 전체물량의 33%
다음날 10시 4차매도 전체물량의 50%
13시 5차매도 남은 물량전부 매도
매수가 10시~13시에 1차 또는 1차+2차 또는 1차+2차+3차가 일어나면
13시30분 1차매도 전체물량의 20%
14시 2차매도 전체물량의 25%
다음날 10시 3차매도 전체물량의 33%
13시 4차매도 전체물량의 50%
14시 5차매도 남은 물량 전부
매수가 13시~15시20분에 1차 또는 1+2차 또는 1차+2차+3차가 일어나면
다음날 10시 1차매도 전체물량의 20%
13시 2차매도 전체물량의 25%
14시 3차매도 전체물량의 33%
다다음날10시 4차매도 전체물량의 50%
13시 5차매도 전체 남은 물량 전부
감사합니다~
2018-06-21
155
글번호 119956