커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3295
글번호 230811
답변완료
수정부탁드립니다
텍스트 위치 우즉 끝자리로이동 방법부탁드립니다.
Input:기간(10000),
구간개수(20); //최대 20
Var:최대(0),최소(0),j(0),행번호(0),총거래량(0),가격대거래량(0),kValue1(0),
시작번호(0),끝번호(0);
Array:가격대[21](0),거래량[21](0),비율[21](0),Text[21](0),TL[21](0);
#----------------------------------------------------------------------------------#
# 가격대를 배열변수에 세팅한다.
#----------------------------------------------------------------------------------#
//if CurrentDate == sDate Then //당일기준
//{
var1 = DateToJulian(CurrentDate)-1;
IF DayOfWeek(CurrentDate) == 1 Then
Var1 = Var1-2;
if sDate >= JulianToDate(var1) Then
{
TL_Delete(TL[j]);
최대 = Highest(H,기간-1);
최소 = Lowest(L,기간-1);
kValue1 = Round((최대-최소)/구간개수,0);
가격대[0] = 최대;
For 행번호 = 0 To 구간개수-1 {
가격대[행번호+1] = 가격대[행번호] - kValue1;
거래량[행번호] = 0;
비율[행번호] = 0;
}
총거래량 = 0;
For j = 0 To 기간-2 {
총거래량 = 총거래량 + V[j];
#----------------------------------------------------------------------------------#
# 거래량을 걸쳐있는 가격대에 분배
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
if 가격대[행번호] >= H[j] and 가격대[행번호+1] < H[j] then 시작번호 = 행번호;
if 가격대[행번호] >= L[j] and 가격대[행번호+1] < L[j] then 끝번호 = 행번호;
}
가격대거래량 = V[j]/(끝번호-시작번호+1);
for 행번호 = 시작번호 To 끝번호 {
거래량[행번호] = 거래량[행번호] + 가격대거래량;
}
}
#----------------------------------------------------------------------------------#
# 비율 계산
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
비율[행번호] = 거래량[행번호] * 100 / 총거래량;
}
#----------------------------------------------------------------------------------#
# 지표출력
#----------------------------------------------------------------------------------#
for j = 0 to 구간개수-1 {
Text_Delete(Text[j]);
Text[j] = Text_New(date[0], stime[0], (가격대[j]+가격대[j+1])/2,NumToStr(거래량[j],0)+"("+NumToStr(비율[j],2)+"%)("+NumToStr(가격대[j+1],0)+" ~ "+NumToStr(가격대[j],0)+")");
Text_SetStyle(Text[j], 1, 2);
}
j = 구간개수;
}
2023-02-03
998
글번호 165995
답변완료
함수요청
청산식 조건에 현재가가 당일 시가보다 높거나 전일대비 상승시 완성의 익봉 시가 청산 조건을 추가 하고 싶습니다.
2023-02-03
1286
글번호 165990
답변완료
문의 드립니다 봉 갯수매매
해외선물 일봉매매에서
캔들의 고점 매도 주문과 저점 매수 주문을 할려고 합니다.
1. 고점 매도
연결되어진 10봉중 각 고점들이 50틱안의 봉이 4개인경우
고점보다 - 30틱에서 매도주문후 14봉 종가 청산하는 수식어
2. 저점 매수
연결되어진 10봉중 각 저점들이 50틱안의 봉이 4개인경우
저점보다 + 30틱에서 매수주문후 14봉이후 종가 청산하는 수식어
-----------
해외선물에서 18시부터 익일 06시 청산되고 익절 100틱, 손절50틱인
10분봉 매매를 위의 수식어 주문 내용과 동일하게 부탁드립니다.
2023-02-19
1114
글번호 165987
답변완료
수식 문의 드립니다.
안녕하세요
수식 문의 드립니다.
1. 스토캐스틱 5.3.3 이 80 (과열권)을 상향 돌파해서 20 (침체권)을 하향 돌파 할때
까지는 바탕색이 분홍색으로 나오게 하고
2. 스토캐스틱 5.3.3 이 20 (침체권)을 하향 돌파해서 80 (과열권) 을 상향 돌파 할때
까지는 바탕색이 파란색으로 나오게 하는 식입니다.
항상 감사드립니다.
2023-02-03
1121
글번호 165985
답변완료
해당 전략의 매매 손익을 지표로 사용
어느덧 코로나도 끝이 보여지는 것 같네요.
항상 건강하시길 바랍니다.
-----
시스템에서 매매 전략을 적용하면, 백테스트 결과를 볼수 있는 걸로 아는데,
해당 백테스트 결과를 지표로 사용하길 원합니다. 어떻게 가능 한 방법이 없을까요..??
2023-02-03
794
글번호 165984
답변완료
수식 검토 부탁합니다.
항상 도와주셔서 감사합니다.
아래와 같이 수식을 작성해서 검증을 했는데 매수 매도가 안되는데 왜 그런지 모르겠습니다.
검토 부탁 드립니다.
input : StartTime(080000),EndTime(053000);
input : N(60);
input : 익절틱수(160),손절틱수(80);
var : HH(0),LL(0),PH(0),NL(0),S1(0),D1(0),count1(0),count2(0),Tcond(False),entry(0);
var : BXcond(False),SXcond(False);
var : cnt(0),bloss(0),sloss(0);
HH = highest(H,N);
LL = lowest(N,H);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else//
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
Condition3 = False;
entry = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
bloss = 0;
sloss = 0;
for cnt = 1 to 3
{
if MarketPosition(cnt) == 1 and IsExitName("StopLoss",cnt) == true Then
bloss = bloss+1;
if MarketPosition(cnt) == -1 and IsExitName("StopLoss",cnt) == true Then
sloss = sloss+1;
}
BXcond = MarketPosition == 0 and (bloss == 3 or (bloss < 3 and MarketPosition(1) == 1 and IsExitName("StopLoss",1) == true and C >= ExitPrice(1)));
SXcond = MarketPosition == 0 and (sloss == 3 or (sloss < 3 and MarketPosition(1) == -1 and IsExitName("StopLoss",1) == true and C <= ExitPrice(1)));
#N봉 신저가발생
if L < LL[1] Then
{
Condition1 = true;
#파동카운트 0으로 초기화
count1 = 0;
#양음봉 고가 저장변수 초기화
PH = 0;
}
Else
{
#직전 고점보다 큰 양봉다음음봉 발생
if Condition1 == true and C[1] > O[1] and C < O and
(PH == 0 or (PH > 0 and H[1] > PH)) Then
{
#양봉고가 저장
PH = H[1];
#카운트
count1 = count1+1;
#6번째 매도진입
if count1 == 6 and SXcond == true Then
Sell();
}
}
#N봉 신고가발생
if H > HH[1] Then
{
Condition2 = true;
#파동카운트 0으로 초기화
count2 = 0;
#양음봉 고가 저장변수 초기화
NL = 0;
}
Else
{
#지전고점보다 큰 양봉다음음봉 발생
if Condition2 == true and C[1] < O[1] and C > O and
(NL == 0 or (NL > 0 and L[1] < NL)) Then
{
#음봉저가 저장
NL = L[1];
#카운트
count2 = count2+1;
#6번째 매수진입
if count2 == 6 and BXcond == False Then
Buy();
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
if MarketPosition == 0 and
TotalTrades> TotalTrades[1] and
IsExitName("StopProfitTarget",1) == true Then
{
if MarketPosition(1) == 1 Then
Buy("b",AtMarket);
if MarketPosition(1) == -1 Then
Sell("s",AtMarket);
}
2023-02-03
1093
글번호 165975
답변완료
함수요청
안녕하세요?
국내선물 분봉상 차트에 당일의 시가선을 가로선으로 그리고 싶습니다.
전일의 시가선은 전일에 표시되고 당일은 당일의 시가선이 표시되고 누적해서 연결되게 그리고 싶습니다.
2023-02-03
810
글번호 165973
답변완료
산식작성
아래조건의 추세선 산식을 부탁드립니다
<추세선청산 조건>
1)고점과 저점의 밴드지정
LH=ma(H,3)+3;
LL=ma(L,3)-3;
2)스윙
input : left(3), right(3);
sl = SwingLow(1, LL, left, right, Left+Right+1);
sh = SwingHigh(1, LH, left, right,Left+Right+1);
3)sh[1]>sh[0] 일때 하락추세선 작성
sl[1]<sl[0] 일때 상승추세선 작성
4)C값>하락추세선일때 EShort
C값<상승추세선일때 ELong
2023-02-02
869
글번호 165969
답변완료
수식 문의드려요.
A=adx(20);
if(A>30, A, 0) and if(crossdown(A,A(1)), A, 0)
키움에서 사용중인데 예스트레이더로 바꾸고 싶은데 잘 안되네요.
2023-02-02
910
글번호 165968