커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1515
글번호 230811
답변완료
부탁드립니다.
일봉상 3일 5일 10일 이평중 하나라도 위에 있음 매수만
매수조건은 10분 종가가 당일 시가보다 높을때 매수해서 3시10분에 정리
일봉상 3일 5일 10일 이평중 모두 아래에 있음 매도만
매도조건은 10분 종가가 당일 시가보다 낮을때 매도해서 3시10분에 정리
감사합니다.
2023-07-30
1624
글번호 171046
답변완료
전환좀 부탁드립니다
수식1
x=sum(c*v);
z=valuewhen(1, date != date(1) , X(1));
x1=sum(v);
z1=valuewhen(1, date != date(1) , X1(1));
(x-z)/(x1-z1)
수식2
shift((highest(high,shortPeriod)+lowest(low,shortPeriod)+highest(high,midPeriod)+lowest(low,midPeriod))/4,midPeriod-1);
지표추가 설정 shortPeriod/9 midPeriod/26
2023-07-30
1781
글번호 171045
답변완료
data2 atstop 으로 data1 매매 방법 질문
data1과 data2를 이용하여 매매 전략을 구사하는데
질문 1) 매매질문
data2(close) 가 TradePrice에 도달하면 data1의 매수를 하려고 하는데 어떻게 해야 하나요 ?
질문 2) 이때 data2(close) 가격
data2(close)가격을 변수에 저장하려고 하는데 어떻게 해야 하나요 ?
2023-07-30
1395
글번호 171044
보스친구 님에 의해서 삭제되었습니다.
2023-07-30
0
글번호 171043
답변완료
송구스럽습니다. 가르쳐 주시면 감사하겠습니다.
더위에 수고가 많으십니다.
if CrossUp(c,A+0.3) Then ExitShort("손절", OnClose) ;
if CrossDown ( c, A) and count<횟수 Then
{
count=count+1;
Sell("S", OnClose,def,n);
}
if CrossUp(c,A-0.5) Then ExitShort("중도반환", OnClose) ;
위 식에서 중도반환이 일어나면 시스템이 끝나게 하는 방법은 무엇인가요?
감사합니다
2023-07-30
1663
글번호 171042
답변완료
수식 문의
5분봉 기준으로
RSI 30에 최초 매수,
RSI 20에 추가 매수,
RSI 70에 전량 매도
하는 자동매매수식 작성 부탁드립니다.
2023-07-30
1321
글번호 171041
답변완료
수정부탁 합니다.
시스템 신호가 봉에서 좀 벌어 졌으면 좋은데 수정 가능 할까요?
Var : value(0);
value = 0;
# 매수 / 매도청산
If CCI(9) > 0 Then
value = 1;
If MACD(12,26) > 0 Then
value = value+1;
If DIPlus(14) > DIMinus(14) Then
value = value+1;
If StochasticsK(12,5) > StochasticsD(12,5,5) Then
value = value+1;
# 매수/매도청산
If MarketPosition <= 0 And value >= 3 Then
{
Buy("매수");
}
value = 0;
# 매도/매수청산
If CCI(9) < 0 Then
value = 1;
If MACD(12,26) < 0 Then
value = value+1;
If DIPlus(14) < DIMinus(14) Then
value = value+1;
If StochasticsK(12,5) < StochasticsD(12,5,5) Then
value = value+1;
If MarketPosition >= 0 And value >= 3 Then
{
Sell("매도");
}
if MarketPosition == 1 And
H[2] == highest(H,5)[1] and
H[2] > max(C[2],O[2]) and
V[2] >= 5000 and
C[0] < C[2] Then
exitlong("매수분 올청산");
if MarketPosition == -1 And
L[2] == Lowest(L,5)[1] and
H[1] > max(C[1],O[1]) and
V[1] >= 5000 and
C[0] > C[1] Then
ExitShort("매도분 올청산");
if MarketPosition <= 0 And
L[1]==LOWEST(L,5) and
C[1]<O[1] and
C[1]>L[1] and
O[0]>L[0] and
C[1]==O[0] and
L[1]==L[0] and
C[0]>O[0] and
v>2500 Then
buy("집게발 매수");
if MarketPosition >= 0 And
H[1]==highest(H,5) and
C[1]>O[1] and
C[1]<H[1] and
O[0]<H[0] and
C[1]==O[0] and
H[1]==H[0] and
C[0]<O[0] and
v > 2500 Then
sell("집게발 매도");
input : Period(6);
Array : HD[10](0),HT[10](0),HV[10](0); //고점 날짜, 시간, 가격 저장할 배열
Array : LD[10](0),LT[10](0),LV[10](0); //저점 날짜, 시간, 가격 저장할 배열
var : cnt(0),Hprice(0),Lprice(0);
var : UpTrend(false),DownTrend(False),Trend(0);
var : ZigZagTL(0),HTL(0),LTL(0),HTX(0),LTX(0);
HPrice = H;
LPrice = L;
if Index == 0 Then
{
//초기 최고값
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
//초기 최저값
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
}
Else
{
UpTrend = HPrice >= Highest(HPrice,Period)[1];
DownTrend = LPrice <= Lowest(LPrice,Period)[1];
//상승추세 전환
if trend <= 0 and UpTrend == true Then
{
//추세구분 1
trend = 1;
if (MarketPosition == 0 ) or
(MarketPosition == -1 and PositionProfit(0) >= 0) Then
Buy("메수전황");
if MarketPosition == -1 and PositionProfit(0) < 0 Then
ExitShort("수평매수");
//과거 고점의 날짜, 시간, 값을 다음 배열방으로 이동
For cnt = 9 DownTo 1
{
HD[cnt] = HD[cnt-1];
HT[cnt] = HT[cnt-1];
HV[cnt] = HV[cnt-1];
}
//0번방에 날짜, 시간, 가격 저장
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
//직전 저점에서 현재 고점까지 연결선 출력
ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]);
//색상은 Red
TL_SetColor(ZigZagTL,Yellow);
//추세선 굵기는 1
TL_SetSize(ZigZagTL,0);
HTL = TL_New(HD[0],HT[0],HV[0],NextBarSdate,NextBarStime,HV[0]);
TL_SetColor(HTL,Red);
TL_SetSize(htl,2);
HTX = text_new(HD[0],HT[0],HV[0],NumToStr(HV[0],2));
Text_SetStyle(HTX,2,1);
}
Else if trend >= 0 and DownTrend Then//하락추세 전환
{
//추세구분은 -1
trend = -1;
if (MarketPosition == 0 ) or
(MarketPosition == 1 and PositionProfit(0) >= 0) Then
Sell("매도전황");
if MarketPosition == 1 and PositionProfit(0) < 0 Then
ExitLong("수평매도");
//과거 저점의 날짜, 시간, 값을 다음 배열방으로 이동
For cnt = 9 DownTo 1
{
LD[cnt] = LD[cnt-1];
LT[cnt] = LT[cnt-1];
LV[cnt] = LV[cnt-1];
}
//0번방에 날짜, 시간, 가격 저장
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
//직전 고점에서 현재 저점까지 연결선 출력
ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]);
//색상은 Blue
TL_SetColor(ZigZagTL,Yellow);
//굴긱는 1
TL_SetSize(ZigZagTL,0);
LTL = TL_New(LD[0],LT[0],LV[0],NextBarSdate,NextBarStime,LV[0]);
TL_SetColor(LTL,Blue);
TL_SetSize(ltl,2);
LTX = text_new(LD[0],LT[0],LV[0],NumToStr(LV[0],2));
Text_SetStyle(LTX,2,0);
}
Else
{
//상승구간
if trend == 1 Then
{
//고점이 갱신되면
if HPrice > HV[0] Then
{
//갱신된 봉의 날짜/시간/가격으로 변경
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
//지그재그 추세선의 끝점을 현재봉으로 이동
TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]);
//고점 수평 추세선의 끝점을 현재봉으로 이동
TL_SetBegin(HTL,HD[0],HT[0],HV[0]);
Text_SetString(HTX,NumToStr(HV[0],2));
Text_SetLocation(HTX,HD[0],HT[0],HV[0]);
}
}
//하락구간
if trend == -1 Then
{
//저점이 갱신되면
if LPrice < LV[0] Then
{
//갱신된 봉의 날짜/시간/가격으로 변경
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
//지그재그 추세선의 끝점을 현재봉으로 이동
TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]);
//저점 수평 추세선의 끝점을 현재봉으로 이동
TL_SetBegin(LTL,LD[0],LT[0],LV[0]);
Text_SetString(LTX,NumToStr(LV[0],2));
Text_SetLocation(LTX,LD[0],LT[0],LV[0]);
}
}
TL_SetEnd(HTL,sDate,sTime,HV[0]);
TL_SetEnd(LTL,sDate,sTime,LV[0]);
}
}
SetStopLoss(PriceScale*20,PointStop);
SetStopEndofday(153500);
2023-07-30
1452
글번호 171040
답변완료
시스템이 시뮬레이션 차트에서는 작동하지 않습니다.
안녕하세요 항상 감사드립니다.
특정 지표를 사용하는 몇몇 전략들이 시뮬레이션 차트에서는 적용이 되지 않습니다.(손익 그래프가 나타나지 않음)
사용자 함수가 아닌, 시스템 식에서 해당 지표를 계산해서 사용하고 있습니다.
for 문이 들어가긴 하는데, 어떻게 해야 시뮬레이션 차트에서도 해당 지표를 사용해서 손익 그래프가 잘 뜨게 할 수 있나요??
2023-07-29
1245
글번호 171039
답변완료
수식 문의드립니다.
종목검색식에서
5가지 수식을 포함하고 있을 경우에
Input :
Var :
수식 A
수식 B
수식 C
수식 D
수식 E
//전부 만족 시
IF A && B && C && D && E then
Find(1);
=> 조건 수식이 3개 이상 만족하는 종목만 찾고 싶을 때
A+B+C+D+E >= 3
만족한 수식에 해당하는 종목만 검색하고 싶을 때 수식을 알고 싶습니다.
수식 3개&&4개&&5개를 만족하는 종목
2023-07-29
1067
글번호 171038