커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1462
글번호 230811
답변완료
문의드립니다.
var : A(0),a1(False),a2(False);
A=DIplus(5);
a1=crossdown(A,5);
a2=crossup(A,5);
if a1 or a2 Then
var1 = o;
Plot1(Var1);
위수식 라인위에 5이동평균선을 -1shift(키움함수로 -1시킴)시키고 싶습니다.
부탁드립니다.
2024-02-01
974
글번호 176330
답변완료
문의 드립니다!
안녕하세요!
아래수식 2번째줄의 "선굵기"에 의해 발생되는 가로선을 대상으로해서...
이 선이 당일에만 발생되도록 수정부탁드립니다
즉, 전일까지 발생된 모든선은 당일에는 안나타나도록 해주세요
감사합니다!!!
-----------------------------------------------------------------------
input : af(0.2), maxAF(0.3);
input : 텍스트출력(0),선굵기(2);
var : T(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0);
var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0),idx(0),tx99(0),tx88(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
Array : HI[20](0),LI[20](0);
var1 = CSar(af,maxAF);
if bdate != bdate[1] Then
{
day0 = sdate;
day1 = day0[1];
}
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
HI[0] = index;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
HI[cnt] = HI[cnt-1][1];
}
if LL[0] > 0 Then
{
Condition1 = false;
for cnt = 1 to 19
{
if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition1 = true;
TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1,black);
idx = abs(LI[0]-LI[cnt]);
//tx99 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
Text_SetColor(tx99,black);
Text_SetStyle(tx99,0,3);
Text_SetBold(tx99,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
LI[0] = index;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
LI[cnt] = LI[cnt-1][1];
}
if HH[0] > 0 Then
{
Condition2 = false;
for cnt = 1 to 19
{
if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition2 = true;
TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL2,선굵기);
TL_SetColor(TL2,black);
idx = abs(HI[0]-HI[cnt]);
//tx99 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
Text_SetColor(tx99,black);
Text_SetStyle(tx99,0,3);
Text_SetBold(tx99,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,black);
idx = abs(HI[0]-HI[cnt]);
//tx88 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
Text_SetColor(tx88,black);
Text_SetStyle(tx88,0,3);
Text_SetBold(tx88,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,black);
idx = abs(LI[0]-LI[cnt]);
//tx88 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
Text_SetColor(tx88,black);
Text_SetStyle(tx88,0,3);
Text_SetBold(tx88,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
2024-02-01
1068
글번호 176325
답변완료
문의드림니다
문의드림니다
문1)
30분봉에서
현재의 10분종가가 당일장 시작후 형성된 10분봉종가중에서 최고가의 양봉종가이면
매수하라는 수식과
이봉의 몸통을 강조색상으로 표시 부탁드림니다
문2)
주차트 30분봉 참조차트(data2) 120분봉 사용할시
당일장 시작 이후에
[참조차트상에서
거래량이 거래량120이평 보다 크고
당일장 이후에 생성된봉 중에서 최고가 양봉이 발생하면
이때의 봉을 기준봉으로 하여 data2의 기준봉의 100개봉 이내에서]
주차트상에서
분봉종가가 기준봉을 상향돌파 하면 매수하라는 수식과
기준봉을 상향돌파한봉을 강조색상으로 표시부탁드림니다
문3)
일봉차트에서
5이평과 120이평이 정배열이고
5이평과 120이평의 이격도가 105이상인 상태에서
최근 10개봉중 가장높은가격의 양봉이 발생하면
이봉을 기준봉으로 하여
기준봉 이전 50개봉중에서 봉의몽통부분(시가 또는 종가) 의 최저가가 60이평아래에 내려간적이 없다면
기준봉 이후 50개봉 이내에서
봉의몸통(시가종가크기)크기가 기준봉의 60프로보다 작고,
봉의몸통 저가가 기준봉의 중간값보다 큰봉이 나타나면
이봉을 강조색상으로 표시하고 이봉을 찾는 검색식도 부탁드림니다
2024-02-01
792
글번호 176321
답변완료
부탁드립니다
질문 1
if date != date[1] Then{
var1 = 0;
var2 = 0;
}
if C > O Then {
var1 = var1+ C ;
Var2 = var2+1 ;
Var3 = var1/Var2 ;
}
위수식에
시가와 종가가 같은 봉도 포함될수 있도록 부탁합니다.
즉, [시가 = 종가] [종가 > 시가] 동시에 만족하는 누적식을 구하고 싶습니다.
2024-02-01
836
글번호 176318
회원 님에 의해서 삭제되었습니다.
2024-02-01
17
글번호 176314
답변완료
시스템 질문입니다
ma 20 을 양봉으로 돌파하면 이후 첫번째 음봉에 매도,음봉 이후 첫번째 양봉에 매수한다
ma 20 을 음봉으로 붕괴하면 이후 첫번째 양봉에 매수,음봉 이후 첫번째 음봉에 매도한다
감사합니다
2024-02-01
569
글번호 176313
답변완료
값을 저장2
감사합니다
첨부 1그림과 같이
-----
오실의 0이하 상승구간이 있는 경우 개념정의
-----
A구간 - macd오실 0이하 마지막 상승구간
B구간 - macd오실 0이상 첫번째 상승구간
C구간 - macd오실 0돌파 이후 0이상 첫번째 하락구간
A구간 전체거래량 - Macd 오실 0돌파 이전의 0이하 마지막 상승구간
B구간 전체거래량 - Macd 오실 0돌파 이후 첫번째 상승구간
C구간 전체거래량 - B구간 전체거래량이후 부터 E거래량 발생전까지 하락구간
*
Macd 오실은 0이상, 이하에서도 수차례 상승,하락반전을 거듭하기에
전체거래량 개념을 위와 같이 특정함.
A구간,B구간, C구간 및 각 구간별 전체거래량은 Macd 0돌파를 기준으로 특정하고 싶습니다.
D거래량은
A구간중 양봉 최고 거래량 (한 봉의 거래량)
E거래량은
C구간중 첫번째 상승반전 양봉 거래량 (한 봉의 거래량)
이평 20-60-20 MACD 오실에서
1
가.
20이평 상승중이고
A구간의 고가는 C구간의 저가보다 작고
나.
B구간 전체거래량의 합이 A구간 전체거래량의 합보다 3배 이상이고
B구간 전체거래량의 합이 C구간 전체거래량의 합보다 크고
C구간 전체거래량의 합이 A구간 전체거래량의 합보다 크고
다.
D.거래량 보다 E.거래량이 클 때 매수신호를 발생시키고 싶습니다.
2
그리고
첨부 2그림과 같이
갭상승 등을 이유로 A구간(오실 0이하 구간)에서
오실의 0이하 상승구간없이 오실의 0이하 하락구간만 있고
곧바로 B구간(오실 0 돌파 후 첫번째 상승구간)으로 넘어갈 경우에는
구간 정의를 아래와 같이하여
위 1의 가.나.다. 처럼 매수신호를 발생시키고 싶습니다.
-----
오실의 0돌파 이전에 오실의 0이하 상승구간이 없는 경우 개념정의
-----
A구간 - macd오실 0이하 마지막 하락구간
B구간 - macd오실 0이상 첫번째 상승구간
C구간 - macd오실 0돌파 이후 0이상 첫번째 하락구간
A구간 전체거래량 - Macd 오실 0돌파 이전의 0이하 마지막 하락구간
B구간 전체거래량 - Macd 오실 0돌파 이후 첫번째 상승구간
C구간 전체거래량 - B구간 전체거래량이후 부터 E거래량 발생전까지 하락구간
첨부그림 3은
0이하 하락, 0이하 상승 오실을 보이기 위함
2024-02-01
819
글번호 176312
답변완료
시스템식 부탁드립니다.
항상 도움 주셔서 감사합니다.
종목 : 해외선물
아래 수식에서 목표수익청산 이후에는
다시 처음부터 진입하는 시스템식으로 수정 부탁드립니다.
첨부 이미지 참고 부탁드립니다.
input : Pst(1); // 매수,매도
input : multi(0.5);
input : gap(20),gapmulti(0.5), pt(20),sl(200),pt2(20);
var : vol(0),v1(0),t(0),s(0);
value1 = gap/PointValue;
value2 = pt/PointValue;
value3 = sl/PointValue;
#------------------------------------
# 매수 전략
#------------------------------------
if pst == 1 Then
{
if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then
{
vol = 1;
Buy("b",OnClose,Def,vol);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
s = 1;
v1 = CurrentContracts-CurrentContracts[1];
if MaxEntries == 1 Then
t = value1 ;
Else
t = t+Round(t*gapmulti,0);
}
if CurrentContracts < CurrentContracts[1] Then
s = -1;
if s == 1 Then
vol = Round(v1+v1*multi,0);
if s == -1 Then
vol = v1;
Buy("bb",AtLimit,EntryPrice(0)-PriceScale*(value1*MaxEntries),vol);
ExitLong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2);
}
}
#------------------------------------
# 매도 전략
#------------------------------------
if pst == -1 Then
{
if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then
{
vol = 1;
Sell("s",OnClose,Def,vol);
}
if MarketPosition == -1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
s = 1;
v1 = CurrentContracts-CurrentContracts[1];
if MaxEntries == 1 Then
t = value1 ;
Else
t = t+Round(t*gapmulti,0);
}
if CurrentContracts < CurrentContracts[1] Then
s = -1;
if s == 1 Then
vol = Round(v1+v1*multi,0);
if s == -1 Then
vol = v1;
Sell("ss",AtLimit,EntryPrice(0)+PriceScale*(value1*MaxEntries),vol);
ExitShort("sp",AtLimit,AvgEntryPrice-PriceScale*Value2);
}
}
#--------------------------------------------
SetStopProfittarget(pt2*PriceScale,PointStop);
2024-02-01
744
글번호 176311
답변완료
수식문의 드립니다.
수식 문의 드립니다.
120일 최고거래량이 터지날의 거래량을 금일 10분안에 10%이상의 거래량이 발생하는 종목을
검색식으로 구현하고자 합니다. 부탁드립니다.
2024-02-01
927
글번호 176310