커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7293
글번호 230811
답변완료
문의드립니다.
1.현재봉의 이평선값과 이전봉의 이평선값을 비교해서
상승에서 하락, 또는 하락에서 상승으로 전환되는지 여부를 수식으로 만들고자 합니다.
2. 이때, 계산되는 이평선값은 소숫점 몇자리까지 계산되는 건가요?
3. 혹시 뒤에 소숫점계산을 늘릴 수 있다면 얼마까지 늘리거나 줄일 수 있나요?
늘리거나 줄이려면 어떻게 계산식을 넣어야 되나요?
부탁드립니다.
2017-11-03
182
글번호 113881
답변완료
문의드립니다.
항상 정성스런 답변 감사드립니다.
검색식입니다.
1. 종가 기준 최근5일이내 5일선을 5%이상 상향 돌파 한 종목 검색
2. 100봉이내 RSI 다이버젼스 발생 종목 검색
3. 위 1번과, 2번을 합친 종목 검색
4. 시가 보다 10틱 상승시 매수진입, 10틱 하락시 매도진입(매수나 매도 둘중에 먼저 들어간 진입1일1회만 진입)
고맙습니다.
2017-11-03
205
글번호 113879
답변완료
문의드립니다.
도와주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 지표
-전일종가대비 현재가
-전일고가대비 현재가
-전일저가대비 현재가
-전일시가대비 현재가
-금일시가대비 현재가
2. 시스템
이전에 변동폭 관련 시스템 추가질문입니다.
일봉으로 onclose나 atmarket이면 신호는 금일에 나오고 다음날에야 매수가 나올텐데요. 이걸 분봉으로 하려면 끝나는 시간이 달라서 시간을 따로 적용해줘야 한다고 하셨는데요. 무슨 말씀인 지 잘 모르겠습니다. 주식같은 경우는 동시호가때는 매수가 안되므로 분봉으로 하려면 적어도 15분 정도에 매수가 들어가게 해야 하는 건가요?
3. 전에 알려주신 지표인데요. 전일 상승률이 10%면 시초가 매수신호인데 몇몇 종목들이 시초가 매수를 안하는 경우가 생깁니다. 예를 들어 쿠첸같은 경우 12월 27일에 상한가를 기록했는데요. 시뮬차트에서 보니 신호가 안나옵니다. 시뮬레이션 날짜도 문제가 없는데요. 무슨 영문인 지 모르겠습니다. 쿠첸 외에도 상한가를 기록한 몇몇 종목에서 동일한 증상이 나타났습니다.
if NextBarSdate > sdate and C >= dayopen*1.25 Then
buy("b",AtMarket);
4. 시스템
전일 종가가 볼린저밴드 상단선 위에 있고
전일 종가가 전일의 변동폭 상위 20%에 있을 때
다음날 시초가 매수
5. 시스템
변동폭은 주봉기준 매수 매도는 일봉으로
- 종가가 주 고가와 주 저가변동폭의 하위 20% 이내에 형성되면 당일에 매수하고
- 종가가 주 고가와 저가 변동폭의 상위 20%이내에 형성되면 익일 시가에 매도
그리고 55346 재질문 답변부탁드립니다.
2017-11-03
223
글번호 113876
답변완료
수식부탁드립니다
1.
당일 고가(dayhigh)에서 10번째 음봉 발생시
1)당일 고가(A)를 표시한다
2)당일 고가에서 10 번째 음봉 저가(B)를 표시한다
3)당일 고가(A)와 당일 고가에서 10 번째 음봉 저가(B) 하방 대칭을 표시한다
4)당일 고가(A)에서 10번째 음봉 저가(B) 진행과정에서 형성된 최저가(C)를 표시한다
5)A와 C의 하방 대칭을 표시한다
6)A와 C의 상방 대칭을 표시한다
당일 저가(dayhigh)에서 10번째 양봉 발생시
1)당일 저가(D)를 표시한다
2)당일 저가에서 10 번째 양봉 고가(E)를 표시한다
3)당일 저가(D)와 당일 저가에서 10 번째 양봉 고가(E) 상방 대칭을 표시한다
4)당일 저가(D)에서 10번째 양봉 고가(E) 진행과정에서 형성된 최고가(F)를 표시한다
5)D와 F의 상방 대칭을 표시한다
6)D와 F의 하방 대칭을 표시한다
2017-11-03
215
글번호 113869
답변완료
문의드립니다.
안녕하세요. 수고 많으십니다.
"하루 2회 손절시" 당일에는 "추가적인 진입신호 나가지 않게" 하려고 합니다. 함수식 부탁드려요~
감사합니다~
2017-11-03
188
글번호 113868
답변완료
질문드립니다
안녕하십니까?
다음지표식을 씨스템식으로 바꿔주세요 그런데 매수신호는 지표식이완성된 그봉이아닌 그 다음봉에 발생하록 해주세요 감사합니다
var : sindex1(0), sindex2(0), Lindex1(0), Lindex2(0);
value1 = stochasticsD(12,5,5);
Condition1 = value1 > value1[1] and value1[1] <= value1[2];
Condition2 = L > L[1] and L[1] <= L[2];
sindex1 = MRO(Condition1,15,1); // stochasticsD의 최근 저점이 발생한 시점의 현재로부터 index
sindex2 = MRO(Condition1,15,2); // stochasticsD의 직전 저점이 발생한 시점의 현재로부터 index
Lindex1 = MRO(Condition2,15,1); // 저가의 최근 저점이발생한 index
Lindex2 = MRO(Condition2,15,2); // 저가의 직전 저점이 발생한 index
if
value1[sindex1+1] > value1[sindex2+1] and //stochastics의 최근저점값이 직전저점값보다크고
L[Lindex1+1] < L[Lindex2+1] and //저가의 최근저점저점값이 직전저점값보다 작고
Condition1 and //저가의 상승반전이 발생했고
lowest(L,5) == lowest(L,15) //최근 5개봉의 최저가가 최근 15개 봉의 최저가이면
then
var1 = 1;
else
var1 = 0;
plot1(var1);
if var1 == 1 Then
PlaySound("C:₩WRFutures₩YesGlobalPro₩data₩Sound₩GAudio_Call.wav");
2017-11-03
203
글번호 113867
답변완료
수식문의드립니다...
아래수식은 파동선 지표식인데요 이 파동선 고점 -30틱을 crossdown하면 매도
파동선 저점 +30틱을 crossup하면 매수하는 시스템식 부탁드립니다 미리감사드립니다.
input : 텍스트소수점자리수(1);
Var:jjjjj(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),Tx(0),trnd(0),tx22(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For jjjjj = 0 To 9
{
barArr[jjjjj] = barArr[jjjjj] + 1;
}
Condition1 = Highest(H,26) == H and lastHiVal <> H;
Condition2 = Lowest(L,26) == L and lastLoVal <> L;
If Condition1 Then lastHiVal = H;
If Condition2 Then lastLoVal = L;
// 전환점구분 null값으로 초기화;
turnPntBit = "";
If Condition1 and Condition2 Then
{
If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H,L);
barArr[1] = 0;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for jjjjj = 8 downto 1
{
valArr[jjjjj+1] = valArr[jjjjj];
barArr[jjjjj+1] = barArr[jjjjj];
turnPntArr[jjjjj+1] = turnPntArr[jjjjj];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H) or
(turnPntBit == "Lo" and valArr[1] > L))) Then
{
valArr[1] = IFF(turnPntBit == "Hi",H,L);
barArr[1] = 0;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
{
Tx = Text_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],NumToStr(valArr[2],텍스트소수점자리수));
Text_SetStyle(tx,0,2);
TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
}
if turnPntArr[1][0] == "Lo" Then
trnd = -1;
if turnPntArr[1][0] == "hi" Then
trnd = 1;
}
}
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
Text_Delete(tx22);
tx22 = Text_New(sDate[barArr[1]],sTime[barArr[1]],valArr[1],NumToStr(valArr[1],텍스트소수점자리수));
TL_SetSize(TL1[1],0);
TL_SetColor(TL1[1],BLACK);
2017-11-03
190
글번호 113866
답변완료
문의요~
2
Input : 당일손실틱수(200);
Var : N1(0),dayPl(0),당일손실(0),Xcond(false);
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
if Xcond == false and 매수진입조건 Then{
buy("b");
}
if Xcond == false and 매도진입조건 Then{
sell("s");
}
if MarketPosition == 1 then{
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
if (sdate != sdate[1] and stime >= 020000) or
(sdate == sdate[1] and stime > 020000 and stime[1] < 020000) Then{
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
어제문의한 당일손실제한200틱인데요~ 수익도200틱제한으로 추가 부탁드릴게요 식을 이해를 못해서 수정을 못하겠습니다~ 위식에서 간단히 주석설명도 부탁드립니다. 감사합니다~
특히 N1 = NetProfit; //(청산종결된모든거래의손익금액) 이렇게 선언을 했는데
daypl = NetProfit-N1; 여기서는 daypl은 무조건 0이 나오는게 아닌가요
특히 이부분이 이해가 어렵습니다~
2017-11-03
186
글번호 113865
답변완료
문의드립니다
안녕하세요.
지표수식을 부탁드립니다
1) 특정한 가격대를 입력하여 피보나치수열의선을 만들고 싶습니다
ex) 최고값 55.00 최저값 51.00 경우
1) 최고값선
2) 95.00 선
3) 88.60 선
4) 76.40 선
5) 61.80 선
6) 50.00 선
7) 38.20 선
8) 23.60 선
9) 11.40 선
10) 5.00 선
11) 최저값선
___________________________________________________________________
2) 조건의 선이 만들어지면( 최고값/ 95.00 /88.60 / 76.40/ 61.80/ 50.00/ 38.20/ 23.60/
11.40/ 5.00/ 최저값) 선위에 가격대를 표기하여주시면 감사하겠습니다
항상건강하시고 행복하세요~
2017-11-03
185
글번호 113864