커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4387
글번호 230811
답변완료
수식 의뢰 드려요!
안녕하세요!
정성껏 만들어주신 수식 잘사용하고 있습니다!
감사합니다!
수식 의뢰 드립니다! 4시간 챠트와 15분 챠트를 기준으로 하는 매매 입니다!
이해를 돕고져 참고그림 첨부합니다!
4시간 챠트와 15분 챠트의 시스템 신호를 만들어 주세요!
시스템 신호는 임의로 정해진 박스를 통과하면 나오는 신호로 이미지에
자세히 설명해 놓았습니다! 임의의 박스나 상하 기준선이 보이도록 부탁드려요!
내용을 정리하자면
1. 4시간 챠트의 현재봉 기준으로 30개봉중 최고점 또는 최저점을 돌파하면 신호가 발생
2. 15분 챠트의 현재봉 기준으로 25개봉중 4시간 챠트와 동일한 방향으로
최고점 또는 최저점을 돌파하면 매수, 매도 신호가 발생
3. 첨부그림처럼 임의의 박스나 선이 계속해서 장이 진행되는 동안 생겨났으면 좋겠습니다!
부탁드려요!
감사합니다!
2018-05-25
211
글번호 119145
답변완료
2개 종목의 분할 매수, 분할 매도
안녕하세요?
조금 둘러 봤는데 매우 친절하게 잘 설명해주시니 정말 감사드립니다.
원하는 식은 다음과 같습니다.
1. 2개 종목만 매매하는 로직이고요. (ex: samsung, lg)
2. samsung 종목은 10시, 11시, 12시에 각각 내 전체 자산의 비중 25%, 30%, 35%로 매수한다.
3. samsung 종목은 12시 10분, 13시 10분, 14시 10분에 보유 수량의 30%, 33%, 나머지 전량으로 매도한다.
4. lg 종목은 12시 11분, 13시 11분, 14시 11분에 내 전체 자산의 25%, 30%, 35%로 매수한다.
5. lg 종목은 15시, 15시 10분, 15시 19분에 보유 수량의 30%, 33%, 나머지 전량으로 매도한다.
시스템 매매 식은 위와 같구요.
---------------------------------------------------------
그리고 위의 식이 완성된다면, 해당 시스템을 백테스트 하려면 어떻게 해야 하나요?
보니까 시뮬레이션 차트를 띄우고 시스템 식을 넣으면 되긴 하던데
위의 식의 경우는 종목이 2가지로 고정이니 잘 모르겠네요.
아직 익숙하지 않아 질문이 많습니다.
수고스러우시겠지만 부탁드립니다.
감사합니다.
2018-05-24
237
글번호 119144
답변완료
여러 분봉 차트의 조건 적용
안녕하세요.
예를 들어 5분봉, 15분봉, 30분봉의 특정 조건이 만족할 때만 60분봉의 챠트에서 매매신호를 표시할 수 있는 방법이 있나요?
2018-05-23
217
글번호 119142
답변완료
검색식 부탁드립니다
사용지표 : DMI
검색식 : 주간 차트에서 1과 2번 조건을 동시에 만족하는 조건검색식
1. D+> D- 이면서,
2. ADX가 지표값 30 돌파
2018-05-23
212
글번호 119141
답변완료
질문 드립니다
아래 57886번 문의사항에 대한 보충질문입니다
일단 자세한 답변에 너무 감사드립니다 ^^
알려주신 내용대로 진행하다가 지표 설치과정에서 막히는것이 있어서 다시 문의드립니다
1, 전략실행차트를 새로 띄운후에 처음 콜옵션을 기본차트로 한후에 이후 참조데이타를 9개
추가했습니다 (콜 4개, 풋5개)
2, 이후 이 참조데이터 9개를 기본차트로 드래그하여 기본차트와 모두 같은 화면에
설치하였습니다
여기까지 저의 설치방법이 맞는지요?
3, 이후에 수식을 적용해야하는데 여기서부터 잘 모르겠네요
(1) 수식을 적용하면 화면 맨하단에 지표가 처음 나타나는데..
- 이후 이지표를 드래그하여 "Y축표시방법창"에서 적용하여야하는지?
- 아님 "지표속성창"에서 해당 콜,풋행사가를 각각 선택하여 적용해야하는지요?
(2) 지표를 적용할때 10개 행사가별로 모두 따로 선택하여 각각 적용해야하는지요?
아님 기본차트의 행사가에 한번만 적용하면 되는것인지요?
(3) 제대로 설치가 됐다면 교차선이 콜풋이 교차하는 지점마다 각각 모두 나타나나요?
혹은 1개의 선만 나타나는지요?
제가 드래그해서 10개의 행사가에 모두 적용을해보니 선이 차트하단에 1줄만 나타나네요
수고스러우시겠지만 가능한 자세한 설명 부탁드립니다
<<*** 그리고 아래 키움수식의 변환 부탁드립니다>>
(첫번째 지표)
수식1
a=c<o && o == h && (o-c)*2<h-1;
X=valuewhen(1,a,o)
수식2
b=c>o && o == 1 && (o-c)*2<h-1;
y=valuewhen(1,b,c)
수식3
valuewhen(1,x(1) !=x or y(1) != y,
if(x(1) != x,x,if(y(1) != y,y,0)))
(두번째 지표)
수식1
a=c<o && o == h && (o-c)*2<h-L;
X=valuewhen(1,a,o)
수식2
b=c>o && o == L && (o-c)*2<h-L;
y=valuewhen(1,b,c)
수식3
a=c<o && o == h && (o-c)*2<h-L;
X=valuewhen(1,a,o) ;
b=c>o && o == L && (o-c)*2<h-L;
y=valuewhen(1,b,c);
valuewhen(1, x(1) != x or y(1) != y, if(x(1) != x, x, if(y(1) != y,y,0)))
감사합니다
꾸벅 ^^;
2018-05-24
268
글번호 119140
답변완료
질문 있습니다.
연결선물지수 60분봉 차트에서 아래의 식을 걸어놓으면
당일의 마지막 종가가 전일 종가보다 크면
다음날 아침 장 시작하고 첫틱이 들어올때 매수주문이 실제로 나가는지요 ?
if marketpostion == 0
and stime >= 150000 //60분봉이니까 장의 마지막 봉을 의미
and c > dayclose(1) //당일의 종가가 전일의 종가보다 크다는 의미
then { buy( "B" , atmarket ); } //다음봉 첫틱 즉 다음날 첫틱이 들어오면 매수주문
2018-05-24
203
글번호 119139
답변완료
수식작성 부탁드립니다.
60분봉에서 차트에서
90일동안 매일매일의 5일선 이격도를 계산해서 ( dis5[1] = 전일5일선 - 전일종가; )
90일동안의 평균 5일선이격도와 ( madis5 )
90일 기간중 가장 큰 5일선이격도값, ( Hdis5 )
90일 기간중 가장 작은 5일선이격도값을 ( Ldis5 )
구해서 식을 알고 싶습니다.
5일선이격도는 절대값을 취하지 말고 + / - 값을 그대로 가지며
5일선이격도 90일평균값도 마찬가지로 절대값으로 계산하지말고 + / - 값 그대로 계산합니다.
부탁드립니다.
좋은 하루 되세요. ^^
2018-05-23
241
글번호 119138
답변완료
수정요청
늘 도움 감솨드립니다.
아래의 수식에서 고점 과 저점 라인 두번째 봉에서 매수 매도 신호가 나오게 해주세요.
Input : af(0.02), maxAF(0.2);
var : T(0),HH(0),LL(0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
buy();
T = 1;
HH = H;
if LL > 0 Then
{
value1 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH);
TL_SetColor(value1,RED);
value2 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0));
Text_SetStyle(value2,2,1);
}
}
if CrossDown(c,var1) Then
{
sell();
T = -1;
LL = L;
if HH > 0 Then
{
value3 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH);
TL_SetColor(value3,blue);
value4 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0));
Text_SetStyle(value4,2,0);
}
}
if T == 1 then
{
if H > HH Then
{
HH = H;
Text_Delete(value2);
value2 = Text_New(sdate,stime,HH,NumToStr(abs(HH-LL)/PriceScale,0));
Text_SetStyle(value2,2,1);
}
TL_SetBegin(value1,TL_GetBeginDate(value1),TL_GetBeginTime(value1),HH);
TL_SetEnd(value1,sdate,stime,HH);
}
if T == -1 then
{
if L < LL Then{
LL = L;
Text_Delete(value4);
value4 = Text_New(sdate,stime,LL,NumToStr(abs(HH-LL)/PriceScale,0));
Text_SetStyle(value4,2,0);
}
TL_SetBegin(value3,TL_GetBeginDate(value3),TL_GetBeginTime(value3),LL);
TL_SetEnd(value3,sdate,stime,LL);
}
2018-05-23
199
글번호 119137
답변완료
수정 부탁드립니다.
부탁드립니다.
거래 시간 동안 당일 수익이 10pt 이상일때 청산이 안되고 지속 거래가 됩니다.
거래시간을 조정할 수 있게 요청드립니다.(거래 시간: 08:00~05:30)
요청사항
"거래청산으로인한손익+현재포지션손익 >= 10pt(조정가능)" 10pt 이상이면 청산,
해당시간 매매 중단. 시작시간(08:00)에 다시 거래시작
만약 해당시간에 합산 수익이 10pt 이하이면, 시작시간과 관계없이 포지션 유지, 계속 거래
***아래식
input : P1(200), P2(10);
input : 익절1(21),익절1하락(1),손절(15);
Input : 당일수익(10);
var : BH(0),SL(0),HE(0),LE(0),N1(0),daypl(0),Xcond(false);
var1 = ma(c,P2);
var2 = ma(C,P1);
if Bdate != Bdate[1] Then
{
N1 = NetProfit;
Xcond = false;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then
Xcond = true;
daypl = NetProfit-N1;
if crossup(var1, var2) and var2 > var2[1] and Xcond == false Then
{
buy("BB");
}
if crossdown(var1, var2) and var2 < var2[1] and Xcond == false Then
{
sell("SS");
}
//청산
if MarketPosition == 1 Then
{
BH = highest(H,BarsSinceEntry);
if MaxEntries == 1 Then
HE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then
HE = LatestEntryPrice(0);
if BH >= EntryPrice+PriceScale*익절1 Then
{
ExitLong("B익절1",AtStop,BH-PriceScale*익절1하락);
}
ExitLong("B손절",AtStop,HE-PriceScale*손절);
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
}
if MarketPosition == -1 Then
{
SL = Lowest(L,BarsSinceEntry);
if MaxEntries == 1 Then
LE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) < LE Then
LE = LatestEntryPrice(0);
if SL <= EntryPrice-PriceScale*익절1 Then
{
ExitShort("S익절1",AtStop,SL+PriceScale*익절1하락);
}
ExitShort("S손절",AtStop,LE+PriceScale*손절);
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
}
2018-05-23
188
글번호 119136