커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1369
글번호 230811
답변완료
종목검색식 부탁드립니다.
아래의 (조건1)을 만족한 후에 첫번째로 발생하는 (조건2)에 대한
종목검색식을 부탁드립니다,
감사합니다...^^
(조건1)
Input : shortPeriod(5), midPeriod(20), longPeriod(40);
value1 = ma(C,shortPeriod);
value2 = ma(C,midPeriod);
value3 = ma(C,longPeriod);
If value1 > value2 && value1 > value3 && value3 > value2 Then
Find(1);
(조건2)
input : AtrPeriod(13),factor(3);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), superTrend(C), direction(0),alpha(0),source(0);
if CurrentBar > 1 Then
{
src = (H+L)/2;
alpha = 1 / AtrPeriod ;
source = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식
//ATrV = ma(source,AtrPeriod); //단순이평방식
upperBand = src + factor * AtrV;
lowerBand = src - factor * AtrV;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if lowerBand > prevLowerBand or close[1] < prevLowerBand Then
lowerBand = lowerBand;
Else
lowerBand = prevLowerBand;
if upperBand < prevUpperBand or close[1] > prevUpperBand Then
upperBand = upperBand;
Else
upperBand = prevUpperBand;
if C > UpperBand Then
direction = 1;
if C < LowerBand Then
direction = -1;
if direction == 1 Then
supertrend = lowerband;
Else
supertrend = upperband;
if CrossUp(c,supertrend) Then
var1 = supertrend;
if CountIf(C > supertrend and max(C,O) > var1,3) == 3 Then
Find(1);
}
2024-10-11
686
글번호 184189
답변완료
피보나치 세로선
input : 전환포인트(0.8);
Array : HD[10](0),HT[10](0),HV[10](0);
Array : LD[10](0),LT[10](0),LV[10](0);
var : cnt(0),Hprice(0),Lprice(0);
var : UpTrend(false),DownTrend(False),Trend(0),Trend1(0),ZigZagTL(0),TX(0);
var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),TL7(0),TL8(0);
Plot1 (c);
HPrice = H;
LPrice = L;
if Index == 0 or Bdate != Bdate[1] Then
{
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
trend = 0;
trend1 = 0;
}
Else
{
if Trend == 0 Then
{
if L <= LV[0] Then
{
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
}
if H >= HV[0] Then
{
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
}
}
UpTrend = HPrice >= LV[0]+전환포인트;
DownTrend = LPrice <= HV[0]-전환포인트;
if trend <= 0 and UpTrend == true Then
{
trend = 1;
trend1 = trend[1];
For cnt = 9 DownTo 1
{
HD[cnt] = HD[cnt-1];
HT[cnt] = HT[cnt-1];
HV[cnt] = HV[cnt-1];
}
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
TX = Text_New(HD[0],HT[0],HV[0],NumToStr(HV[0]-LV[0],2)+" ");
Text_SetStyle(TX,1,1);
Text_SetColor(TX,Black);
Text_SetSize(tx,27);
Text_SetBold(tx,1);
var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100));
var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100));
var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100));
TL1 = TL_New(LD[0],LT[0],HV[0],NextBarSdate,NextBarStime,HV[0]);
TL3 = TL_New(LD[0],LT[0],var3,NextBarSdate,NextBarStime,var3);
TL4 = TL_New(LD[0],LT[0],var4,NextBarSdate,NextBarStime,var4);
TL5 = TL_New(LD[0],LT[0],var5,NextBarSdate,NextBarStime,var5);
TL7 = TL_New(LD[0],LT[0],LV[0],NextBarSdate,NextBarStime,LV[0]);
TL_SetColor(TL1,Magenta);
TL_SetColor(TL3,Orange);
TL_SetColor(TL4,Blue);
TL_SetColor(TL5,Orange);
TL_SetColor(TL7,Blue);
}
Else if trend >= 0 and DownTrend Then//하락추세 전환
{
trend = -1;
trend1 = trend[1];
For cnt = 9 DownTo 1
{
LD[cnt] = LD[cnt-1];
LT[cnt] = LT[cnt-1];
LV[cnt] = LV[cnt-1];
}
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
TX = Text_New(LD[0],LT[0],LV[0],NumToStr(HV[0]-LV[0],2)+" ");
Text_SetStyle(TX,1,0);
Text_SetColor(TX,Black);
Text_SetSize(tx,27);
Text_SetBold(tx,1);
var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100));
var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100));
var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100));
TL1 = TL_New(HD[0],HT[0],HV[0],NextBarSdate,NextBarStime,HV[0]);
TL3 = TL_New(HD[0],HT[0],var3,NextBarSdate,NextBarStime,var3);
TL4 = TL_New(HD[0],HT[0],var4,NextBarSdate,NextBarStime,var4);
TL5 = TL_New(HD[0],HT[0],var5,NextBarSdate,NextBarStime,var5);
TL7 = TL_New(HD[0],HT[0],LV[0],NextBarSdate,NextBarStime,LV[0]);
TL_SetColor(TL1,Blue);
TL_SetColor(TL3,Orange);
TL_SetColor(TL4,Blue);
TL_SetColor(TL5,Orange);
TL_SetColor(TL7,Magenta);
}
Else
{
if trend == 1 Then
{
if trend1 == 0 Then
{
LV[0] = DayLow;
}
if HPrice >= HV[0] Then
{
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
Text_SetLocation(TX,HD[0],HT[0],HV[0]);
Text_SetString(TX,NumToStr(HV[0]-LV[0],2)+" ");
var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100));
var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100));
var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100));
TL_SetBegin(TL1,LD[0],LT[0],HV[0]);
TL_SetBegin(TL3,LD[0],LT[0],Var3);
TL_SetBegin(TL4,LD[0],LT[0],Var4);
TL_SetBegin(TL5,LD[0],LT[0],Var5);
TL_SetBegin(TL7,LD[0],LT[0],LV[0]);
TL_SetEnd(TL1,Sdate,Stime,HV[0]);
TL_SetEnd(TL3,Sdate,Stime,Var3);
TL_SetEnd(TL4,Sdate,Stime,Var4);
TL_SetEnd(TL5,Sdate,Stime,Var5);
TL_SetEnd(TL7,Sdate,Stime,LV[0]);
}
}
if trend == -1 Then
{
if trend1 == 0 Then
{
HV[0] = DayHigh;
}
if LPrice <= LV[0] Then
{
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
Text_SetLocation(TX,LD[0],LT[0],LV[0]);
Text_SetString(TX,NumToStr(HV[0]-LV[0],2)+" ");
var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100));
var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100));
var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100));
TL_SetBegin(TL1,HD[0],HT[0],HV[0]);
TL_SetBegin(TL3,HD[0],HT[0],Var3);
TL_SetBegin(TL4,HD[0],HT[0],Var4);
TL_SetBegin(TL5,HD[0],HT[0],Var5);
TL_SetBegin(TL7,HD[0],HT[0],LV[0]);
TL_SetEnd(TL1,Sdate,Stime,HV[0]);
TL_SetEnd(TL3,Sdate,Stime,Var3);
TL_SetEnd(TL4,Sdate,Stime,Var4);
TL_SetEnd(TL5,Sdate,Stime,Var5);
TL_SetEnd(TL7,Sdate,Stime,LV[0]);
}
}
}
}
하락 피보나치 선이 새로 생성되면 시작점(왼쪽만) 상단에서 아래로 하단까지 세로선. (그림)
상승은 반대. 감사합니다.
2024-10-11
806
글번호 184188
답변완료
안녕하세요?
안녕하세요?
날씨가 아침저녁으로 일교차가 점점 벌어지고 있습니다. 항상 건강 조심하시기 바랍니다.
1. 분봉에서 당일 누적거래금 100억이 발생한 봉에 라인을 표시하고 싶습니다.
감사합니다.
2024-10-11
628
글번호 184185
답변완료
일목균형표
일목균형표 일주기 0봉전기준
일목균형(9,26,52)주가<선행스팬1
일목균형(9,26,52)주가<선행스팬2
위의 검색식을 수식으로 알려주세요
구름대 아래에 주가가 위치한 수식을 알고 싶습니다.
그리고
일주기 0봉전 OBV(기간9) 1봉 연속 상승 한 수식도 부탁드립니다~
2024-10-11
687
글번호 184184
답변완료
각각의 지표수식을 만들어 주세요
매번 빠른답변에 감사를 드립니다.
다름이 아니오라 아래수식(지표1과 지표2)은 키움의 수식으로 예스랭귀지의 지표수식으로 변환 부탁드립니다.
감사합니다.
지표1
M=BBandsUP(30,1.8);
LL=Lowest(M,기간);
HH=highest(M,기간);
NL=Valuewhen(1,M<LL(1),M);
Valuewgen(1,BarsSince(M<LL(1))==(기간-K),NL)
지표변수 기간 :5 , K : 2
지표2
Valuewhen(1,CrossUP(C,EnvelopeUP(period,percent)),(C+O+O+O)/4)
지표변수 Period: 5 percent :1
2024-10-11
737
글번호 184183
답변완료
이동평균선
다음의 Var1 의 수식에서 L1 이 실시간으로 변경이 가능 하도록 수식을 완성 해 주십시오.
Var1 = LRL(Close, L1);
2024-10-11
715
글번호 184182
답변완료
진입횟수1
아래수식은 진입수식 s1 이 익절로 청산된 후
s2 진입하는 수식입니다.
s1은 1번 진입합니다.
두번째 진입하는 s2의 진입횟수(2회)를 조절할 수 있게 수식을 추가해 주십시요.
항상 고맙습니다.
***********************************************************************************
input : 재진입(0.75);
var : T1(0),entry(0);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if 진입수식 and entry==0 then
sell("s1");
if MarketPosition == 0 and IsExitName("StopProfittarget",1) == true Then
{
if MarketPosition(1) == -1 Then
Sell("s2",AtStop,ExitPrice(1)-재진입);
}
2024-11-06
590
글번호 184181
답변완료
시초가
국내 파생시장에서 시초가가 나온 직후,
1. 그 시초가보다 -10% 낮은 가격에 매수 주문이 나간 후
2. 체결되면 체결가의 +50% 높은 가격에 매도(매수청산) 주문이 나가는 수식을 작성할 수 있나요?
청산주문 수식까지 셋트로 다 되면 좋지만, 어렵다면 (메뉴창의 강제청산 설정> 목표수익 메뉴를 이용해도 될 것 같으므로) 진입주문 수식이라도 도움을 받으면 감사합니다.
시초가가 나온 직후 매수 주문이 나가는 시간 간격은 짧을 수록 좋겠지만, 딱히 언제까지 나가야 한다는 제한사항은 없습니다.
2024-10-11
487
글번호 184180
신대륙발견 님에 의해서 삭제되었습니다.
2024-10-11
41
글번호 184179