커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8106
글번호 230811
답변완료
부탁합니다
아래는 시스템 수식인데 신호발생시마다 신호음이 울리도록 부탁드립니다.
var : HH(0),LL(0),diff(0);
HH = DayHigh;
LL = DayLow;
diff = HH-LL;
if CrossUp(C,LL+diff*0.50) Then
buy();
if CrossDown(C,LL+diff*0.50) Then
sell();
2018-05-15
251
글번호 118925
답변완료
수정부탁드려요.
이평선이 상승시에는 빨간색 하락시에는 파란색이 그려지게 하려는데요
아래는 색깔이 겹칩미다. 수정좀해주세요.
Input: 이평(60);
Var: 이평추세(0);
이평추세 = Ma(C,이평);
If 이평추세[1] < 이평추세 Then Plot1(이평추세, "상승추세",RED);
If 이평추세[1] > 이평추세 Then Plot2(이평추세, "하락추세",BLUE);
2018-05-15
255
글번호 118922
답변완료
수정 부탁드려요
## 데드 라인은 나타니지 않게 해주세요
Input : Period(14) ;
var : DP(0),DM(0);
DP = DIPlus(Period);
DM = DIMinus(Period);
if crossup(DP,DM) Then{
var1 = 1;
var2 = L;
}
if CrossDown(DP,DM) Then{
var1 = -1;
var2 = H;
}
plot1(var2,"지표",iff(var1==1,red,blue));
2018-05-15
244
글번호 118920
답변완료
질문있습니다
시스템수식작성시
14:00분에 매수
스탑로스는 매수한 일봉캔들의 시가 하락돌파시 스탑로스하고 싶은데 어떻게하면되는지요
2018-05-15
234
글번호 118919
답변완료
콜풋옵션 리얼차트
안녕하세요
아래수식은 첨부그림과 같이 이평상승하락에 따라 색이 변하게 만든수식입니다
이수식과 같이 콜(DATA2)과 풋(DATA3)에 각각 적용시킬수있는 수식부탁드립니다
감사합니다
input : Period1(1), Period2(3), Period3(5), Period4(7),Period5(9), Period6(11), Period7(13);
Variables: TLen1(0,data2),TRIma1(0,data2),TLen2(0,data2),TRIma2(0,data2),TLen3(0,data2),TRIma3(0,data2),TLen4(0,data2),TRIma4(0,data2)
,TLen5(0,data2),TRIma5(0,data2),TLen6(0,data2),TRIma6(0,data2),TLen7(0,data2),TRIma7(0,data2);
TLen1 = data2(Ceiling((Period1 + 1) * .5));
TRIma1 =data2(Ema(Ema(C, TLen1), TLen1));
TLen2 = data2(Ceiling((Period2 + 1) * .5));
TRIma2 =data2(Ema(Ema(C, TLen2), TLen2));
TLen3 = data2(Ceiling((Period3 + 1) * .5));
TRIma3 =data2(Ema(Ema(C, TLen3), TLen3));
TLen4 = data2(Ceiling((Period4 + 1) * .5));
TRIma4 =data2(Ema(Ema(C, TLen4), TLen4));
TLen5 = data2(Ceiling((Period5 + 1) * .5));
TRIma5 =data2(Ema(Ema(C, TLen5), TLen5));
TLen6 = data2(Ceiling((Period6 + 1) * .5));
TRIma6 =data2(Ema(Ema(C, TLen6), TLen6));
TLen7 = data2(Ceiling((Period7 + 1) * .5));
TRIma7 =data2(Ema(Ema(C, TLen7), TLen7));
plot1(TRIma1,"1",WHITE);
plot2(TRIma2,"3",WHITE);
plot3(TRIma3,"5",WHITE);
plot4(TRIma4,"7",WHITE);
plot5(TRIma5,"9",WHITE);
plot6(TRIma6,"11",WHITE);
plot7(TRIma7,"13",WHITE);
2018-05-15
393
글번호 118918
답변완료
문의 사항
아래 개념에서 마지막 최소수익포인트는 어떤 개념인지요?
손절포인트 : 손절매
수익포인트 : 목표수익
수익감소포인트 : 최대수익대비하락(trailing stop)
최소수익포인트 : ???
***********************************************
1.포인트
input : 진입시간(100000),진입제한시간(120000),트레이드종료시간(150000);
input : 손절포인트(1),수익포인트(3),수익감소포인트(1),최소수익포인트(2);
Inputs: DMILen(14), Consec(3), MinDiff(0);
Var : DMIDiff(0);
var : Tcond(false);
if (sdate != sdate[1] and stime >= 진입시간) or
(sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간) Then
Tcond = true;
if (sdate != sdate[1] and stime >= 진입제한시간) or
(sdate == sdate[1] and stime >= 진입제한시간 and stime[1] < 진입제한시간) Then
Tcond = false;
if (sdate != sdate[1] and stime >= 트레이드종료시간) or
(sdate == sdate[1] and stime >= 트레이드종료시간 and stime[1] < 트레이드종료시간) Then
exitlong();
DMIDiff = DIPlus(DMILen) - DIMinus(DMILen);
If DMIDiff[Consec] > 0 and Tcond == true Then Begin
If DMIDiff >= MinDiff AND CountIF(DMIDiff > DMIDiff[1], Consec) == Consec Then
Buy ("DMI");
End;
SetStopProfittarget(수익포인트,PointStop);
SetStopLoss(손절포인트,PointStop);
SetStopTrailing(수익감소포인트,최소수익포인트,PointStop);
2018-05-15
245
글번호 118917
답변완료
질문드립니다.
57798 답변해주신 내용인데요.
안녕하세요
예스스탁입니다.
제 질문이 난해했네요.
data2인 일봉에서
20일의 기간동안 close(20) < close를 만족한 조건이 12달(20일간 만족 조건을 12번으로 쪼갬) 동안 몇번인지 확인하는 것이었습니다.
그뒤 아래 수식에 이 부분처럼
    rate = (count/P)*100;
백분율해서 12달동안 close(20) < close가 몇번 만족하였는지 퍼센티지로 표현하고 싶었습니다.
아래 조건과 같이 한뒤,
rate = (count/P)*100;
}
if CrossUp(lower,upper) Then{
Text_SetStyle(txt, 1,1);
txt = Text_New(sDate,sTime,C,spc + numtostr(rate,0) + "%");
Text_SetColor(txt,BLACK);
Text_SetStyle(txt,1,1);
}
text함수에 rate를 넣어서 해보면 모두 수치가 0%로 나옵니다. 12달중 9번이 close > close(20)이면 75%로 나와야하는데말이죠.
올려주신 plot1(rate)로하면 이상한 선만 나옵니다.
첫번째는 제가 수정한 수식이고, 두번째가 관리자분께서 올리신 수식입니다.
input : P(12);
var : cnt(0),count(0),rate(0),txt(0),spc(" ");
Array : MC[20](0);
if date > date[1]+30 Then
{
for cnt = 1 to 19
{
MC[cnt] = MC[cnt-1][1];
}
}
MC[0] = C;
if MC[P] > 0 then
{
count = 0;
for cnt = 0 to P-1
{
if MC[cnt] > MC[cnt+1] Then
count = count+1;
}
rate = (count/p)*100;
}
if CrossUp(close,DayOpen) Then{
Text_SetStyle(txt, 1,1);
txt = Text_New(sDate,sTime,C,spc + numtostr(rate,0) + "%");
Text_SetColor(txt,BLACK);
Text_SetStyle(txt,1,1);
}
////////////////////////////////////////////////////////
input : P(12);
var : cnt(0),count(0),rate(0);
Array : MC[20](0);
if date > date[1]+30 Then
{
      for cnt = 1 to 19
      {
          MC[cnt] = MC[cnt-1][1];
      }
}
MC[0] = C;
if MC[P] > 0 then
{
    count = 0;
    for cnt = 0 to P-1
    {
          if MC[cnt] > MC[cnt+1] Then
                count = count+1;    
    }
    
    rate = count/P*100;
    plot1(rate);
}
2번째 질문////
m1= if((c-c(1)) > 0,1,0) ;
m2= if((c-c(2)) > 0,1,0) ;
m3= if((c-c(3)) > 0,1,0) ;
m4= if((c-c(4)) > 0,1,0) ;
m5= if((c-c(5)) > 0,1,0) ;
m6= if((c-c(6)) > 0,1,0) ;
m7= if((c-c(7)) > 0,1,0) ;
m8= if((c-c(8)) > 0,1,0) ;
m9= if((c-c(9)) > 0,1,0) ;
m10= if((c-c(10)) > 0,1,0) ;
m11= if((c-c(11)) > 0,1,0) ;
m12= if((c-c(12)) > 0,1,0) ;
moment_score= (m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+m12)/12 ;
키움증권 수식입니다. data2(월봉차트)에 적용하여
모멘텀 스코어를 숫자로 표시하고 싶습니다.
2018-05-15
368
글번호 118911
답변완료
부탁 드립니다
@@@ 1번으로 검색되는 종목중에서 2번 당일 매수신호 발생 종목 또는
2번 3번 식을 동시에 만족 하는
종목 검색식으로 부탁드립니다
1번 종목검색
var1 = ma(C,5);
var2 = ma(C,10);
var3 = ma(c,20);
if m >= 1000000 and
C >= O*1.05 and C < O*1.30 and
var1 > var2 and var2 > var3 Then
find(1);
2번 시스탬
input : 기간(0.4),수치(10);
var : aa(0);
aa=100*( (ma( (C+H+L)/3,20)+2* std((C+H+L)/3,20))
-(ma((C+H+L)/3,20)-2*Std((C+H+L)/3,20))) / ma((C+H+L)/3,20);
if CrossUp(c,highest(H[1],수치)) and aa > 기간 Then
buy("b");
if MarketPosition == 1 and Crossdown(c,lowest(L[1], 수치)) Then
exitlong("bx");
if Crossdown(c,lowest(L[1], 수치)) Then
sell("s");
if MarketPosition == -1 and CrossUp(c,highest(H[1],수치)) Then
ExitShort("sx");
3번 검색
input : abc(1.05);
if C > dayopen*abc and ma(V,1) > 1000000 Then
plot1(L,"검색");
@@ 1번 검색으로 검색되는 종목중에서 2번 시스템 매수신발생종목
또는 2번 3번 동시에 만족하는 종목 검색식 으로 부탁드립니다 @@
2018-05-15
283
글번호 118905
답변완료
검토부탁드려요
만들어주신 수식을가지고
종목검색을 해보고 싶은데 어떻게 실행해야하는지
잘모르겠습니다.
나름대로 해봤는데 검색되는 종목이 안나오네요 ㅠㅠ
INPUT : LENGTH(20);
VAR : TCHAN(0), BCHAN(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
if C > TCHAN Then
find(1);
2018-05-15
238
글번호 118902