커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
2538
글번호 230811
답변완료
수식문의입니다
1. 지난 88055와 관련된 질문입니다.
if ii > 0 and Index >=5 and Index <= ii+12 and
O < Var4 and
C > O and C <= O*1.03 and V <= VV*0.1 Then
Plot1(L,"검색",Magenta);
위 신호수식에서 Index >=5는 무슨의미이며 왜 삽입되어 있는 건가요?
2. 다음작성된 수식의 수정을 요청드립니다.
신호수식 요청사항>>>>
-기준봉= 1봉전기준 HmaM(=HMA, 기간60)의 하향추세중 HMA돌파가 10봉이내에 1회이상 발생된 이후 음봉(C<=O)+양봉캔들 처음 발생된 캔들(시가값 저장). 추가조건으로 최근 60봉최저가는 최근 10봉이내에 있어야 하고 양봉몸통상승율은 5%이내이어야 한다
- 신호봉= 기준봉발생이 최근 10봉이내에 1회가 있으면서 기준봉이후 처음으로 발생되는 음봉+양봉시의 매수신호수식(단 기준봉의 시가보다 신호봉의 시가는 낮아야한다)
input : 돌파검토봉수(10),기준봉검토봉수(20),최저상승율(0.3),최고상승율(5),단봉상승율(10) ;
var : ii(0),OO(0),기준봉(False);
Condition15 = HmaM < HmaM[1] and CrossUp(C,HmaM) and Lowest(L,60) == Lowest(L,10) ;
Condition16 = C >= C[1]*(1+최저상승율/100) and C <= C[1]*(1+최고상승율/100) ;
기준봉 = CountIf(Condition15 == true,돌파검토봉수)[1] >= 1 and C > O and C[1] <= O[1] and Condition16 == true ;
if 기준봉 == true Then
{
ii = Index;
OO = O; #기준봉 만족시의 시가
}
if CountIf(기준봉 == true,기준봉검토봉수)[1] >= 1 and C > O and C[1] <= O[1] and C <= O*(1+단봉상승율/100) and O <= OO Then
Plot12(표시가격12,"HMA하락추세돌파후음양봉매수"); #원형, 노랑색(하늘색)
상기 작성수식을 신호수식 요청사항을 제대로 반영되게 수정 요망드립니다.
HMAEHFVKGN 기준봉이 여러개 나오며 이에따라 신호봉도 여러번 발생되고 있음
차트 대입해보니 제대로 나오지 않아서 도움 요청드리는 것입니다
추가> 이평선수식에서 단순,지수,가중등을 선택하게 할수 있는 수식도 알려주세요
EMA, WMA, MA형식이 아닌 ma(C,5,이평종류)식으로 이평종류를 변수처리할수 있는 방법?
2024-07-12
708
글번호 181421
국모사랑 님에 의해서 삭제되었습니다.
2024-07-12
27
글번호 181418
답변완료
파라볼릭 크기
Input : af(0.02), maxAF(0.2);
var : T(0),B(0),S(0),tx(0);
var1 = CSar(af,maxAF);
plot1(var1, "CSAR",IFF(c>var1,Red,Blue));
if CrossUp(C,var1) Then
{
T = 1;
B = var1;
tx = Text_New(sDate,sTime,var1,NumToStr(abs(var1-B),2));
Text_SetColor(tx,Red);
Text_SetSize(tx,25);
Text_SetStyle(tx,2,2);
Text_SetBold(tx,1);
}
else if CrossDown(C,var1) Then
{
T = -1;
S = var1;
tx = Text_New(sDate,sTime,var1,NumToStr(abs(var1-S),2));
Text_SetColor(tx,Blue);
Text_SetSize(tx,25);
Text_SetStyle(tx,2,2);
Text_SetBold(tx,1);
}
Else
{
if T == 1 Then
{
Text_SetString(tx,NumToStr(abs(var1-B),2));
Text_SetLocation(tx,sDate,sTime,var1);
}
if T == -1 Then
{
Text_SetString(tx,NumToStr(abs(var1-S),2));
Text_SetLocation(tx,sDate,sTime,var1);
}
}
1.파라볼릭 크기와 위치 수정.
하락선의 색 부분만 계산되는데,상단부터 상승전환전 주가의 최저가까지 계산.
2.전환되면 크기가 0.5 이상만 저장.이하는 삭제.(상승 하락 각기 설정) 감사합니다.
2024-07-12
837
글번호 181417
답변완료
수식 수정 부탁드립니다.
IF MarketPosition ==0 and 조건 then
{
Buy("b",OnClosE,DeF,2);
ExitLong("bxL1",AtStop,L);#진입봉 다음봉만 감시해서 청산
}
if MarketPosition == 1 Then
ExitLong("bxL",AtStop,L[BarsSinceEntry]);
알려주신 대로 설정하니 손절이 정확히 되고 있습니다. 감사합니다.
그런데 첨부한 파일에서 처럼 진입봉자체가 장대양봉일 때 진입가격과 저가와의 차이가 너무 커서, 그런
큰손실을 대비해서 아래의 손절을 추가 설저해놓았는데 다음다음봉에서부터는 손절이 되는데, 첨부파일처럼 진입봉 바로 다음봉에서는 저가-195p 될때까지 아래의 손절식이 안이루어집니다. 결국은 2계약 손절합이 -395p가 되어 청산되었습니다. 혹 진입봉 바로 다음봉에서도 아래의 손절이 적용되게 하는 식 좀 알려주시기 바랍니다.
if MarketPosition == 1 Then
ExitLong("Bx1",AtStop,EntryPrice-50,"",1,1);
ExitLong("Bx2",AtStop,EntryPrice-90);
2024-07-12
857
글번호 181415
답변완료
문의드립니다
지표 A
매수진입
A > 100
(매수 진입시 A지표값 기억 = B )
매수청산
A < B
A가 100 이상시 매수진입하고
(매수진입시 A지표값을 기억 = B)
A가 B 이하일때 매수청산
(B가 105 였다면 100 이상으로 매수진입하였지만 105 이하이면 청산)
감사합니다
2024-07-12
904
글번호 181414
답변완료
부틱드립니다
수고하십니다
아래 키움수식을 예스로 부탁드립니다
수식4
R=RSI(기간1);
if(R<=선, valuewhen(1, H<H(1), Max(O,C))*1.0,
valuewhen(1,crossdown(R,선) or crossup(R,선),Max(O,C)))
수식5
R=RSI(기간1);
if(R<=선, valuewhen(1, L<L(1), L)*1.0,
valuewhen(1,crossdown(R,선) or crossup(R,선),L))
2024-07-12
841
글번호 181413
신대륙발견 님에 의해서 삭제되었습니다.
2024-07-12
222
글번호 181412
답변완료
고점 저점 추세선 수정부탁해요.
고점 저점 추세선 기존 수식입니다.
SwingHigh 기준봉의 고가와 저가가 있습니다. 위 기준봉의 저가 보다 가격이 하락하면 그때 swinghigh 기준봉 고가를 진짜 고가로 인정해주고,
swinglow 기준봉의 저가와 고가가 있는데 가격이 위 고가 보다 더 상승할 때 위 기준봉의 저가를 진짜 저가로 인정해서 찐 고가와 저가만 추세선을 연결하게 수정부탁드려요.
[기준봉의 고가 저가 범위 내에서 가격이 움직일 때(가끔 기준봉의 범위가 커서 예를 들어 상한가 양봉과 같이 그 안에서 가격이 등락하면서 잉태형 캔들들이 swinghigh나 low를 만들어도 잉태형 캔들은)는 무시하고 추후 가격이 기준봉의 고가나 저가를 돌파할 때 ( 예를 들어 과거 장대 양봉) 기준봉의 고가나 저가를 기준점으로 인정해서 추세선을 그리도록]
그리고 이전 SwingHigh 기준봉의 저가를 돌파하며 하락하는 종목 검색식,
이전 swinglow 기준봉의 고가를 상승 돌파하는 종목 검색식 부탁합니다.
input : Left(5),right(5);
var : T(0),cnt(0),TL(0),HTL1(0),HTL2(0),LTL1(0),LTL2(0);
Array : SHD[5](0),SHT[5](0),SHV[5](0);
Array : SLD[5](0),SLT[5](0),SLV[5](0);
if SwingHigh(1,H,Left,Right,Left+Right+1) != -1 then
{
var2 = 0;
var1 = var1+1;
if var1 == 1 then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
for cnt = 1 to 4
{
SHD[cnt] = SHD[cnt-1][1];
SHT[cnt] = SHT[cnt-1][1];
SHV[cnt] = SHV[cnt-1][1];
}
if SLV[0] > 0 Then
{
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
}
}
if var1 >= 2 and H[right] > SHV[0] then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
if SLV[0] > 0 Then
{
TL_Delete(TL);
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
}
}
if SHV[1] > 0 Then
{
TL_Delete(HTL1);
HTL1 = TL_New(SHD[1],SHT[1],SHV[1],SHD[0],SHT[0],SHV[0]);
TL_SetColor(HTL1,RED);
}
if SHV[2] > 0 Then
{
TL_Delete(HTL2);
HTL2 = TL_New(SHD[2],SHT[2],SHV[2],SHD[0],SHT[0],SHV[0]);
TL_SetColor(HTL2,RED);
}
}
if SwingLow(1,L,Left,Right,Left+Right+1) != -1 then
{
var1 = 0;
var2 = var2+1;
if var2 == 1 then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
for cnt = 1 to 4
{
SLD[cnt] = SLD[cnt-1][1];
SLT[cnt] = SLT[cnt-1][1];
SLV[cnt] = SLV[cnt-1][1];
}
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
}
}
if var2 >= 2 and L[right] < SLV[0] then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
TL_Delete(TL);
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
}
}
if SLV[1] > 0 Then
{
TL_Delete(LTL1);
LTL1 = TL_New(SLD[1],SLT[1],SLV[1],SLD[0],SLT[0],SLV[0]);
TL_SetColor(LTL1,BLUE);
}
if SLV[2] > 0 Then
{
TL_Delete(LTL2);
LTL2 = TL_New(SLD[2],SLT[2],SLV[2],SLD[0],SLT[0],SLV[0]);
TL_SetColor(LTL2,BLUE);
}
}
2024-07-12
767
글번호 181411
답변완료
검색식 부탁 드립니다._(__)_
항상 도와주심에 감사드립니다. _(__)_
1봉전과 19봉전 사이에서 첫 장기정배열(240<120<60)이 나오고(양봉,음봉 상관없이 처음 출현이면 됩니다.) 0봉전에서 첫장기정배열의 고점을 종가로 돌파하면서 아래의 수식을 만족 시키는 종목 검색식과 첫장기정배열고점과 상관없이 0봉전에서 그냥 아래의 수식을 만족 시키는 검색식 두가지와
똑같은 구성인데 역시 1봉전과 19봉전사이에서 첫 완전정배열(240<120<60<20<5)이 나오고 0봉전에서 첫 완전정배열 고점을 종가로 돌파하면서 아래의 수식을 만족 시키는 검색식과 고점과 상관없이 0봉전에서 그냥 아래의 수식을 만족시키는 검색식을 부탁 드립니다.
즉 장기정배열 2가지, 완전정배열 2가지 4가지가 되겠습니다.
수식
var1 = macd(12,26);
var2 = Sar(0.02,0.2);
if var1 >= 0 and CrossUp(c,Var2) and C >= C[1]*1.03 and C > O Then
Find(1);
2024-07-11
643
글번호 181410