커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1586
글번호 230811
답변완료
전략작성등
수고많으십니다 아래의 제가 작성한 수식을 지표등록했더니 챠트가 위로 말려 올라가서 읽을수가 없습니다 0선을y축과 공유를 해서 그런가 봅니다. var1=M5;이니 내부함수는 VAR1(0)이렇게 작성해서하는게 아닌가요? ㅋ.잘못된곳을 수정 좀 부탁드립니다^^
- 아래 -
VAR : LL(0),M5(0),M20(0),Var1(0);
LL = Lowest(L, 20);
if LL[1]>L Then
M5=ma((DayClose()+dayclose(1)+dayclose(2)+dayclose(3)+dayclose(4))/5,Index+1);
if LL[1]>L Then
M20=ma((dayclose()+dayclose(1)+dayclose(2)+dayclose(3)+dayclose(4)+dayclose(5)
+dayclose(6)+dayclose(7)+dayclose(8)+dayclose(9)+dayclose(10)+dayclose(11)+dayclose(12)
+dayclose(13)+dayclose(14)+dayclose(15)+dayclose(16)+dayclose(17)+dayclose(18)+dayclose(19))/20,Index+1);
IF M5 < M20 && CrossUp(M5, M20) TheN
Var1=M5;
Plot1(Var1);
2025-03-12
360
글번호 189095
답변완료
sound 관련 질문 드려요
1분봉 차트에서 어떠한 조건이 만족했을때 소리를 내고 싶은데
그 해당 조건의 첫봉에서만 소리를 나게 하고 싶습니다
{ if MarketPosition == 0 and
매수_위치 >= 4
Then
Buy();
PlaySound("C:₩YesTraderCoin₩Data₩sound₩알림종소리.wav");
}
조건에서 보면 4 이상일때 이런식으로 설정하니 윈도우 알림음만 디링 디링 소리가 계속 나더라구요
매수_위치 >= 4 일때 딱 1분봉 첫봉에서만 소리를 나게 하고싶은데 방법이 있을까요? 그리고
wav 파일로 위치도 정확하게 넣어놨는데 그 파일 소리가 안나고 윈도우 알림음만 들리는데 뭐가 문제일까요?
2025-03-12
354
글번호 189094
답변완료
문의드립니다
안녕하세요 관리자님!!
아래 지표는 관리자님이 작성해주신 지표로 실거래시 많은 도움이 되고 있습니다
이지표중에 plot4, plot5를 지표로 사용하고 있는데요
plot4, plot5를 미국장이 시작되는 시점에 PlotBaseLine1에서 처음 시작될수 있도록 변경부탁드립니다
- 아 래 -
input : nday(2);
var : OO(0),HH(0),LL(0),cnt(0);
OO = DayOpen(nday);
HH = DayHigh(1);
LL = DayLow(1);
for cnt = 1 to nday
{
if DayHigh(cnt) > hh Then
hh = DayHigh(cnt);
if DayLow(cnt) < ll Then
ll = DayLow(cnt);
}
if OO > 0 then
{
var1 = C/OO*100-100;
plot1(var1,"시가");
}
if HH > 0 then
{
var2 = (C/HH*100-100);
plot2(var2,"고가");
}
if LL > 0 then
{
var3 = C/LL*100-100;
plot3(var3,"저가");
}
Input : Period(20), MultiD(2);
var : BBmd(0),BBup(0),BBdn(0),up1(0),dn1(0);
BBmd = ma(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
if bdate != bdate[1] Then
{
up1 = bbup;
dn1 = bbdn;
}
if up1 > 0 then
{
var4 = C/up1*100-100;
plot4(var4,"볼밴상단");
}
if dn1 > 0 then
{
var5 = C/dn1*100-100;
plot5(var5,"볼밴하단");
}
PlotBaseLine1(0,"0선");
2025-03-12
307
글번호 189093
답변완료
안녕하세요~ 문의드립니다.
안녕하세요~
아래의 답변 내용은 봉 개수를 기준한 것으로 나타납니다.
제가 요청드린 것은 현재 날짜를 기준해서 60일 전입니다. 봉개수가 아닙니다.
가령 2025년 3월 11일 당일 종가를 60일전은 2025년 1월 10일에
후행스팬처럼 차트에 표기하고 싶습니다.
안녕하세요
예스스탁입니다.
Plot1(C);
FixPlotShift(1,-60); //plot1을 과거 60봉전으로 이동
즐거운 하루되세요
> 바람의상처 님이 쓴 글입니다.
> 제목 : 안녕하세요~ 문의드립니다.
> 차트에 오늘 날짜를 기준으로 N일 전날을 차트에 후행스팬으로 표기하는 지표식 부탁드립니다. 가령 2025년 3월 11일 당일 종가를 60일전 2025년 1월 10일에 후행스팬처럼 차트에 표기하고 싶습니다.
감사합니다~^
2025-03-12
406
글번호 189092
didhddk 님에 의해서 삭제되었습니다.
2025-03-12
32
글번호 189091
님이랑 님에 의해서 삭제되었습니다.
2025-03-12
0
글번호 189089
답변완료
검색식 부탁 드립니다
avg((highest(high,기간)),기간)
지표조건
기간 240
분봉 돌파 조건 검색식 부탁 드립니다
2025-03-12
286
글번호 189087
답변완료
전일 시스템 수정 좀 요청 드림니다.
* 항상 큰 도움에 고맙 습니다.
* 전일 작성 수식중 추가 수정 좀 요청 드리겠습니다.
ㅇ요청 사항: 사진1에 보면 최대 손실이 -5.7 나오는데
진입후 손실이 -50틱 이상 이면 추가진입 5차 까지 수식 좀 수정 요청 드립니다.
ㅇ즉 최초 1계약 -50틱 이하 (색상무시) 이면 2차 추가 진입 2계약
2차 진입후 또 -50틱(2차 진입가 기준) 이면 3차 추가 진입 4계약
3차 진입후 또 -50틱(3차진입가 기준) 이면 4차 추가 진입 8계약
4차 진입후 또 -50틱(4차진입가 기준) 이면 5차 추가 진입 16계약
끝
으로 수정 좀 요청 드림니다. 죄송합니다.
##
input : len(20),len2(20);
var : oo(0),cc(0),hh(0),ll(0),col(0);
var : haclose(0),haopen(0),hahigh(0),halow(0);
var : o2(0),h2(0),l2(0),c2(0);
oo=ema(open,len);
cc=ema(close,len);
hh=ema(high,len);
ll=ema(low,len);
haclose = (oo+hh+ll+cc)/4;
haopen = iff(IsNaN(haopen[1]) == true, (oo + cc)/2 , (haopen[1] + haclose[1]) / 2);
hahigh = max (hh, max(haopen,haclose));
halow = min (ll, min(haopen,haclose));
o2=ema(haopen, len2);
c2=ema(haclose, len2);
h2=ema(hahigh, len2);
l2=ema(halow, len2);
col=iff(o2>c2 , red , lime);
##============================================================================================================
##============================================================================================================
input : StartTime(080000),EndTime(220000);
var : Tcond(False);
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);
}
}
##============================================================================================================
Input : Period(60);
var : TSF(0),vol(0);
TSF = LRL(C,Period)+LRS(C,Period);
##============================================================================================================
{
##============================================================================================================
## 매수식
If MarketPosition >= 0 and sDate >= 20230101 and Tcond == true and stime >= 072000 and stime <= 220000 and CrossUp(TSF, TSF[8]) Then
{
Buy( "수");
PlaySound("C:KiwoomGlobalsoundsound1.wav");
}
##============================================================================================================
##============================================================================================================
## 매도식
If MarketPosition <= 0 and sDate >= 20230101 and Tcond == true and stime >= 072000 and stime <= 220000 and CrossDown(TSF, TSF[8]) Then
{
Sell( "도");
PlaySound("C:KiwoomGlobalsoundsound1.wav");
}
##============================================================================================================
##============================================================================================================
}
##============================================================================================================
##============================================================================================================
## 매수 청산식
if MarketPosition == 1 then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
vol = 1;
Else
vol = CurrentContracts-CurrentContracts[1];
}
if col != col[1] and MaxEntries < 5 and C <= EntryPrice-PriceScale*50 Then
Buy("bb",OnClose,Def,vol*2);
if MaxEntries == 1 Then
ExitLong("수수익1",AtLimit,avgEntryPrice+PriceScale*35);
Else
ExitLong("수수익2",AtLimit,avgEntryPrice+(PriceScale*50)/CurrentContracts);
}
##============================================================================================================
##============================================================================================================
## 매도 청산식
if MarketPosition == -1 then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
vol = 1;
Else
vol = CurrentContracts-CurrentContracts[1];
}
if col != col[1] and MaxEntries < 5 and C >= EntryPrice+PriceScale*50 Then
Sell("ss",OnClose,Def,vol*2);
if MaxEntries == 1 Then
ExitShort("도수익1",AtLimit,avgEntryPrice-PriceScale*35);
Else
ExitShort("도수익2",AtLimit,avgEntryPrice-(PriceScale*50)/CurrentContracts);
}
##============================================================================================================
##============================================================================================================
SetStopEndofday(230000);
##============================================================================================================
##============================================================================================================
2025-03-12
344
글번호 189071
일지매7 님에 의해서 삭제되었습니다.
2025-03-12
1
글번호 189070