커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3295
글번호 230811
답변완료
추세선 쓰리바닥 박스
input : Period(35),pt(0.25);
Var:j(0),T(0);
Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);
Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0);
var : txx(0),txxx(0);
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
}
LoVal[0] = L;
LoBar[0] = 0;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
for j = 0 to 6
{
fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]);
}
Condition1 = False;
if max(LoVal[1],LoVal[2]) <= min(LoVal[1],LoVal[2])+pt Then
{
txx = Text_New(sdate[HiBar[0]],sTime[HiBar[0]],Hival[0]+PriceScale*0,"●");
Text_SetColor(txx,Green);
Text_SetSize(txx,20);
Text_SetStyle(txx,2,2);
Condition1 = true;
}
Condition2 = true;
txxx = Text_New(sdate[HiBar[0]],sTime[HiBar[0]],Hival[0]+PriceScale*0,"●"+NewLine);
Text_SetColor(txxx,Cyan);
Text_SetSize(txxx,30);
Text_SetStyle(txxx,2,2);
if Condition2 == true and L <= LoVal[1]-PriceScale*1 Then
{
Condition2 = False;
Text_Delete(txxx);
}
}
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date22 = date[0];
time22 = stime[0];
}
if Condition1 == true and LoVal[0] < max(LoVal[1],LoVal[2])-pt Then
{
Condition1 = False;
Text_Delete(txx);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
if Condition2 == true and LoVal[0] <= LoVal[1]-PriceScale*1 Then
{
Condition2 = False;
Text_Delete(txxx);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
text_Delete(txx);
text_Delete(txxx);
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
}
HiVal[0] = H;
HiBar[0] = 0;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
for j = 0 to 5
{
fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]);
}
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date32 = date[0];
time32 = stime[0];
}
}
현 수식은 0.25p 내에서 쓰리바닥 가능성을 실시간으로 보기위해, 0.25p 내에서 쌍바닥 후에 쓰리바닥으로 가는 하락 중일 때 동그라미를 표시했다가 양전환되거나 0.25p를 벗어나서 더 하락하면 동그라미를 삭제하는 수식인데,
표현 방식을 현재 방식과 병행해서, 동그라미 생성될 때 그 부분을 추가로 박스로도 표현.
동그라미 삭제될 때 박스도 같이 삭제. 박스는 삭제될 때까지 연장.
오류 수정:직전 저점과 전전 저점의 차이가 0.25p 이내일 때만 하락 전환시 동그라미가 생성되어야 하는데 하락전환시 무조건 생성되는 듯 합니다. 동그라미가 두개 생성됩니다. 하나를 제거해도 되나요? 감사합니다.
2023-02-06
1073
글번호 166004
답변완료
수식 문의 드립니다.
매입: 20 이평선 상향시 매입
매도:
1) 매입가 대비 5% 상승시 즉시 매도
2) 매입가 대비 전매입가를 5% 하향시 즉시 매도
3) 매입가 대비 전매입가를 하향시 즉시 매도
4) 매입후 이전 3봉중 최고가와 매입가차이를 최고수익이라고 할경우, 그 최고수익이 5% 이상일 경우만 해당하며, 최고수익 대비 수익이 50%로 줄면 즉시 매도
5) 20 이평선 하향시 매도
2023-02-05
821
글번호 166003
답변완료
지표 작성부탁합니다
사용지표 : 이동평균선 20 60 120
지표조건 : 60이이평과 120이평선이 정배열이면서(and) 20이평과60이평이 정배열
이면 차트바탕에 노랑색으로 표시되는 지표식 부탁합니다
2023-02-04
966
글번호 166002
답변완료
수식 문의 드립니다.
안녕하세요
Var1= mov(close,len1,s)
Var2= mov(close,len2,s)
Var3= mov(close,len3,s)
If Var1>var2 And Var2>var3 Then
Call buy("매수")
Elseif Var1<var2 And Var2<var3 Then
Call sell("매도")
End If
위와 같은 Swing 전략의 경우,
매수로 진입했는데 지수는 하락할 경우를 대비해
"매수 진입 지수 -( )point"를 기준선으로 하여
이 기준선 이하로 지수가 하락시 매수청산, 이 기준선을 돌파하여 상승시 다시 매수하게 할 경우의
수식을 알려주시면 감사하겠습니다. 단, 상기 전략에 의하여 "매도"로 포지션 바뀔때 까지만요.
마찬가지로, 매도로 진입했는데 지수는 상승할 경우를 대비해
"매도 진입 지수 +( )point"를 기준선으로 하여
이 기준선 이상으로 지수가 상승시 매도청산, 이 기준선을 돌파하여 하락시 다시 매도하게 할 경우의
수식도 알려주시면 감사하겠습니다. 단, 상기 전략에 의하여 "매수"로 포지션 바뀔때 까지만요.
2023-02-04
839
글번호 166001
답변완료
지표문의
시스템의 볼린저벤드 매매지표에서 처럼 상향돌파시 상방 표시, 하향돌파시 하방 표시가 지표에 나오게 하고 싶습니다.
그런데 지표에는 화살표가 아닌 삼각형이 나오는 거던데 삼각형이 좀 더 크거나 찐하게 나오게 할수 없나요?
너무 작아서 잘 보이지가 않습니다.
2023-02-04
983
글번호 166000
답변완료
문의드립니다
특정일이후 data2 & data3 의 미결제약정을 수치로 표시하고 싶습니다
data2 & data3는 항상 등가옵션으로 설정할수도 있을까요?
안되면 그냥 임의로 설정하게 해주시구요..
감사합니다
2023-02-04
789
글번호 165999
답변완료
시스템 작성의뢰
수고 하십니다 !
obv 지표가 349.60 으로 상승하고 er bear power 지표가-1,10 으로 하락하고 on balance price 지표가
48,90으로 상승하고 pvi 지표가 100.15 이상 상승 하고 3840 이평선이 7680 이평선을 업크로스 하고 1920 이평선과 3840
이평선의 간격이 11 틱이상 벌어지고 120 이평선과 240 이평선이 다운 크로스 할때 매도를 한다
obv 지표가 -362.90 으로 하락을 하고 er bear power지표가 -1.09 로 상승 하고 on balance price 지표가
-20,90 이하로 하락 하고 pvi 지표가 99.00 이하로 하락 하고 3840 이평선이 7680 이평선을 다운크로스 하고 간격이 6틱이상
벌어지고 120 이평선과 240 이평선이 업크로스 할때 매수를 한다
2023-02-04
811
글번호 165998
답변완료
검색식 부탁 드려 봅니다
120봉중 최저가를 기록한 캔들의 저가와 그 당시의
(20선의 값+60선의 값+120선의 값+240선의 값)/4
를 한 값의 중심에 선을 긋고
그 선을 종가나 고가로 돌파하는 캔들이 생성되면 검색되게 하고 싶습니다.
아울러 추가로 그 선에 근접하는 캔들(상하 3% 정도)도 검색되면 금상첨화일 것 같습니다.
부탁드리겠습니다 ^^
2023-02-03
739
글번호 165997
답변완료
수식 문의 드립니다
조건 : ADX(14), diminus(14) diplus(14)
diplus(14) 가 20 값 상향 하는 종목 검색
2023-02-05
738
글번호 165996