커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7532
글번호 230811
답변완료
정말 간단한 질문하나
1. 사용자 함수에서는 MessageLog 나 Print 구문을 쓸 수 없나요 ?
기존 시스템에 사용자함수를 삽입하고.
사용자 함수에서 연산 및 MessageLog 나 Print 으로 출력을 하려고 합니다만.
출력이 안되는 것 같습니다.
원래 안되는 건가요 ?
2. CurrentContracts 와 MarketPosition 와 같은 주문함수는 현재 적용된 종목에 해당하는 주문들의 정보를 출력해주는 건가요 ? 아니면 전 주문에 해당하는 정보를 출력해주는 건가요 ?
2013-10-04
180
글번호 68107
답변완료
시스템식
아래의 식을 세가지의 다른매수 시그날로 바꿔주세요.
시스템식1. CrossUp이 짝수(2,4,6..)일때에만 매수시그날 발생.
시스템식2. 첫번째 CrossUp은 무시되고 두번째 CrossUp부터 매수시그날 발생.
시스템식3. CrossUp이 생성될때 이전의 CrossUp의 K% 라인 위에서 CrossUP이 생성될때에만
매수 시그날 발생
Input : Period(12), Period1(12), Period2(12);
value1 = StochasticsK(Period,Period1);
value2 = StochasticsD(Period,Period1,Period2);
If CrossUP(value1, value2) Then
{
Buy();
}
If CrossDown(value1, value2) Then
{
sell();
}
2013-10-04
158
글번호 68106
답변완료
지표식 변환 요청
다음 수식을 예스트레이더용으로 변환 가능하다면 부탁 드립니다.
inputs: price(close), Fastlen(12), Slowlen(26), W(9), volToday(true);
variables: fastavg(0), slowavg(0), sprd(0), avgsprd(0), sLOW(0), vavg(0), FAST(0),
Vfactor(0), IVfactor(0), m(0), sprdiff(0), mcad(0), VD(0);
fastavg = bd.vwma(Price, FastLen, volToday);
slowavg = bd.vwma(Price, slowLen, volToday);
m = xaverage(close, fastlen) - xaverage(close, slowlen);
if xaverage(volume,slowlen) <> 0 then
Vfactor = (bd.vwma(volume,fastlen,voltoday)/xaverage(volume,slowlen))*10;
if xaverage(volume,fastlen) <> 0 then
IVfactor = (bd.vwma(volume,slowlen,voltoday)/xaverage(volume,fastlen))*10;
if ivfactor <> 0 and vfactor <> 0 then
FAST = FASTAVG/(VFACTOR/IVFACTOR);
if ivfactor <> 0 and vfactor <> 0 then
SLOW = (IVFACTOR/VFACTOR)* SLOWavg;
sprd = (fast - slow);
Vavg = BD.VWMA (vfactor,fastlen,voltoday)/xaverage (ivfactor,slowlen) *W;
avgsprd = round (bd.vwma(sprd,vavg,voltoday),3);
sprdiff = (sprd - avgsprd);
mcad = xaverage((m),(w));
vd = sprdiff-mcad;
plot1 (sprd, "sprd");
plot2 (avgsprd, "avg sprd");
plot3 (vd, "Buff diff");
/////////////////////////////////////////////////////////////////////////
VWMA function (volume-weighted simple moving average)
[LegacyColorValue = true];
Inputs: price(numericSeries), { data to be averaged; e.g. close }
length(numericSimple), { length of moving average }
volToday(trueFalse); { true = volume is available for today (e.g. stocks)
false = volume is NOT available for today (e.g.futures) }
Vars: beg(0), { days back to begin working with for average }
sumOfVol(0), { sum of volume }
vwPx(0), { volume weighted price }
vwMa(0), { volume weighted moving average }
counter(0); { counter }
{ initialize/reset first 4 variables }
if currentBar = 1 then begin
if volToday = true then
beg = 0
else if volToday = false then
beg = 1;
end;
sumOfVol = 0;
vwPx = 0;
vwMa = 0;
for counter = beg to (length-1+beg) begin
sumOfVol = sumOfVol + volume[counter];
end;
for counter = beg to (length-1+beg) begin
if sumOfVol > 0 then
vwPx = price[counter] * volume[counter] / sumOfVol;
vwMa = vwMa + vwPx;
end;
{ return the VWMA if enough data is present, else return 0 }
if length >= 1 and volume[length-1+beg] > 0 then
BD.VWMA = vwMa
else
BD.VWMA = 0;
2013-10-04
260
글번호 68103
답변완료
32722번 관련해서요.
TL_Delete, TL_SetColor,TL_New 가 선언되지 않았는데 사용되었다고 합니다. 저는 우리트레이더를 쓰고 있는데요...
이건 어떻게 해결해야 하나요?
2013-10-04
122
글번호 68101
답변완료
문의
안녕하세요.
아래식을 갭보정으로 변환 부탁드립니다.
이 수식안에 추가로 n+1 봉 전의 종가에 수평선을 그어 현재가가 n+1 봉 전보다 크면 빨간색, 아래면 파란색으로 표시하는 식을 넣어주세요.
감사합니다.
var1 = ma(c,10);
var2 = ma(c,50);
if crossup(var1,var2) Then
value1 = var2;
if var2 > value1 Then
value1 = var2;
if CrossDown(var1,var2) Then
value2 = var2;
if var2 < value2 Then
value2 = var2;
plot1(value1);
plot1(value2);
2013-10-04
139
글번호 68100
성공시대1 님에 의해서 삭제되었습니다.
2013-10-04
13
글번호 68099
답변완료
감사합니다.
항상 친절한 답변에 감사드립니다.
트레일링 스탑시 수익규모의 크기에 따른 반전크기를 조정하여 트레일링스탑 수식이 부탁드립니다. 감사합니다.
예를 들면,
10% 상승시 50% 트레일링 스탑
20% 상승시 40%
30% 상승시 30%
40% 상승시 20%
50% 상승시 10%
2013-10-04
139
글번호 68095
답변완료
거래량 관련 수식 문의
거래량을 이용한 수식 부탁 드립니다.
1. 3일간 동 시간대의 거래량이 증가하고 있다면 매수
예> 월요일 12시 거래량 100, 화요일 12시 거래량 110, 수요일 12시 거래량 120 이면 매수
2. 3일간 장 시작 부터 동 시간대때까지의 누적 거래량을 매수.
예> 월요일 09~10시까지의 누적 거래량 100, 화요일 09~10까지의 누적 거래량 110, 수요일 09~10까지의 누적 거래량 120 이면 매수
2013-10-04
162
글번호 68094
답변완료
부탁합니다.
playsound로 소리가 나게 했습니다.
첫 봉에서만 소리가 나면 좋은데 그런 기능이 없어서, playsound를 껏다 켰다 하는 방법을 알고 싶습니다.
어떤 변수를 받아들여서 0이면 소리가 나고 1이면 소리가 꺼지는 뭐 그런 방법요.
더 좋은 방법 있으면 알려주세요^^
그리고 틱차트에서 당일 틱 갯수를 텍스트로 출력하는 수식 부탁합니다.
2013-10-04
148
글번호 68092