커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6390
글번호 230811
답변완료
제 문의 드립니다.
수정해주신 글 잘 보았습니다.
해당시스템이 잘 동작하지 않습니다.
당일 수익과 손실이 발생하면 진입이 금지되어야 하나 계속들어갑니다.
누적수익과 누적손실이 250틱 발생하면 진입금지 하게 수정부탁드립니다.
** 지금은 매매설정창에서 15포인트 수익청산, -15포인트 손절로 진행중이며,
그 누적 수익과 손실을 적용하여 주시면 감사하겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
input : StartTime(210000),EndTime(045900);
Input : 당일수익틱수(250),당일손실틱수(250);
var : 당일수익(0),당일손실(0),N1(0),Xcond(False),daypl(0);
var : Tcond(false);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
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;
Xcond = false;
N1 = NetProfit;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
}
///////////////////////////////////////////////////////////////////////////////////////
input : Period(10);
var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ;
Lowval= Lowest(Low, Period+1);
Highval = Highest(High, Period+1);
For counter= 0 To Period {
If Low[counter] == Lowval Then
DownVel = counter;
If High[counter] == highval Then
UpVel = counter;
}
UpAroon = 100*(Period-UpVel)/Period;
DnAroon = 100*(Period-DownVel)/Period;
if Tcond == true and Xcond == False Then
{
if crossup(UpAroon,DnAroon) Then
buy("Aroon_LE");
if CrossDown(UpAroon,DnAroon) Then
sell("Aroon_SE");
}
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
즐거운 하루되세요
> 하늘북 님이 쓴 글입니다.
> 제목 : 문의드립니다.
>
늘 감사합니다.
아래 수식에 당일수익 250틱 이상이면 진입금지
당일손실 -250틱 이상이면 진입금지
수정부탁드립니다.
/////////////////////////////////////////////////////////////////////
input : StartTime(210000),EndTime(045900);
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(10);
var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ;
Lowval= Lowest(Low, Period+1);
Highval = Highest(High, Period+1);
For counter= 0 To Period {
If Low[counter] == Lowval Then
DownVel = counter;
If High[counter] == highval Then
UpVel = counter;
}
UpAroon = 100*(Period-UpVel)/Period;
DnAroon = 100*(Period-DownVel)/Period;
if crossup(UpAroon,DnAroon) Then
buy("Aroon_LE");
if CrossDown(UpAroon,DnAroon) Then
sell("Aroon_SE");
2023-09-06
903
글번호 172187
답변완료
수정부탁드려요 당일 제외
if m>m[1]*3 and (c/c[1]*100>105 or c/o*100>105) and c>o and m>30000000000 Then
{
var90 = Index;
Var91 = h;
Var92 = m/v;
Var93 = c;
}
if Var90>0 and Index > var90 and Index <= var90+7 then
find(1);
위의 조건을 전일 기준으로 검색하고 싶어요 당일 것은 제외 하고 나오게 하고 싶습니다
2023-09-06
844
글번호 172186
답변완료
문의드립니다.
1. ADX(녹색)와 +DI(빨간색), -DI(파란색)로 구성된 지표에서
1) ADX 수치가 25 이하이면 굵기가 2레벨(기본 2레벨/ 녹색),
25초과면 굵기가 4레벨, 50초과면 6레벨
★다시 50밑으로 내려가면 굵기가 4레벨로, 25이하로 내려가면 기본 2레벨로
2) +DI(기본 1레벨/빨간색)가 -DI를 상향돌파(골든크로스) 하면, +DI의 굵기를 3레벨로(이때 -DI값은 기본 1레벨로),
-DI(기본 1레벨/파란색))가 +DI를 상향돌파(데드크로스) 하면, -DI의 굵기를 3레벨로(이때 +DI값은 기본 1레벨로),
3) 위 "1)번"과 "2)번"의 사항을 지표 속성창에서 ADX, +DI, -DI의 색상과 단계별 굵기 레벨을 조절할 수 있게
2. 파라볼릭으로 강세/약세패턴 만들기 : 지표속성창에서 색상과 af와 maxAF 값을 조절할 수 있게
3. 봉차트에서 캔들의 종가가 120 이평선 위에서 마감되면, 그 다음부터는 120이평선의 색상이 빨간색으로,
캔들의 종가가 120 이평선 밑에서서 마감되면, 그 다음부터는 120이평선의 색상이 파란색으로 변경되고,
지표속성창에서 색상과 이평선 변경(120이평선 외 다른 이평선으로 수정할 수 있게 변경) 가능하게
위의 사항을 지표수식으로 만들수 있을까요?
2023-09-06
1287
글번호 172185
답변완료
문의 드립니다.
안녕하세요. 매번 감사합니다.
회색선 수식은 아래와 같습니다.
A=LinearRegressionValue(C,100,0);
A1=LinearRegressionValue(A,100,0);
eq= A-A1;
VL =A+eq
회색선에 주가가 빠졌다가, 돌파하는 골든크로스가 나올때 종목 검색을 만들고자 합니다.
예스 언어로 부탁드립니다.
행복한 하루 되세요~
2023-09-06
1313
글번호 172184
회원 님에 의해서 삭제되었습니다.
2023-09-06
9
글번호 172183
심홍 님에 의해서 삭제되었습니다.
2023-09-06
8
글번호 172182
답변완료
부탁드립니다
1. 기본차트에 콜옵션 하나와 풋옵션 하나의 등락률 차트를 함께 지표로 구현하고 싶습니다.
고맙습니다.
2023-09-05
827
글번호 172181
답변완료
수식 문의
안녕하세요?
input: 시작일(20230801), 종료일(20230905), bs1_3(1);
시작일부터 종료일까지 전형적인 그리드 매매를 하고 싶습니다.
종료일 == 0 이면 종료일 없이 현재봉까지 계속 진행.
bs1_3 == 1 이면 매수로만 진입하는 그리드
bs1_3 == 2 이면 매도로만 진입하는 그리드
bs1_3 == 3 이면 양방향으로 진입하는 그리드
아마도 이 때는 뭔가 중심값이 필요할 것 같은데, 적당히 ETH 용으로 1600 정도로 잡아주시면 좋겠습니다.
감사합니다.
2023-09-06
1206
글번호 172180
답변완료
수식 요청 드립니다.
안녕하세요
항상 빠른 답변 감사 드립니다.
키움식 변환 요청 드립니다.
지표식
A=highest(V,일수);
valuewhen(1, V>A(1),C);
그리고 위 지표식을 돌파하는 검색식도 함께 요청 드립니다.
그럼 좋은 하루 되세요^^
2023-09-05
1105
글번호 172179