커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3357
글번호 230811
답변완료
수식 문의
시스템식으로 변환 부탁드립니다. 감사합니다!!
input : Factor(7),Pd(10),highPd(1),lowPd(5);
var : sp(0),th(0),ll(0),myh(0),myl(0),up(0),dn(0),ii(0),Trendup(0),trenddown(0),Trend(0);
var : Tsl(0),linecolor(0),tx(0);
sp = (H+L+c)/3;
th = high;
for ii = 1 to Pd*highPd
{
if th < high[ii] Then
th = high[ii];
}
ll = low;
for ii=1 to Pd*lowPd
{
if ll > low[ii] Then
ll = low[ii];
}
myh = ma(high,Pd)*0.4+th*0.6;
myl = (ma(sp,Pd)*0.5+ll*0.5);
Up = myl-(Factor*atr(Pd)*0.8 );
Dn = (myh+(Factor*atr(Pd) ));
TrendUp = iff(sp[1]>TrendUp[1], max(Up,TrendUp[1]) , Up);
TrendDown = iff(sp[1]<TrendDown[1], min(Dn,TrendDown[1]) , Dn);
Trend = iff(sp > TrendDown[1] , 1, iff(sp< TrendUp[1] , -1, Trend[1]));
Tsl = IFF(Trend==1, TrendUp, TrendDown);
linecolor = IFF(Trend == 1 , Red , Blue);
plot1(Tsl,"SuperTrend",linecolor);
if Trend != Trend[1] Then
{
if Trend == 1 Then
{
tx = Text_New_Self(sDate,sTime, Tsl,"●");
Text_SetColor(tx,Magenta);
Text_SetSize(tx,10);
Text_SetStyle(tx,2,2);
}
Else
{
tx = Text_New_Self(sDate,sTime, Tsl,"●");
Text_SetColor(tx,Cyan);
Text_SetSize(tx,10);
Text_SetStyle(tx,2,2);
}
}
2024-03-17
814
글번호 177543
답변완료
좋은 한주 되십시요^^
* 좋은 한주 되십시요
* 아래 수식에서 당일 시작가 수평선만 나오는데...
시물레이션 차트에 있는 이전 시작가 다 나오록 부탁 드립니다
## 아래 수식
var : TL82(0),D81(0),T51(0);
if Index == 1 Or bdate != bdate[1] then
{
TL_Delete(TL82);
TL82 = TL_new(sdate,stime,dayopen,NextBarSdate,NextBarStime,dayopen);
TL_SetColor(TL82,Rgb(50,250,250));
TL_SetSize(TL82,5);
TL_setExtRight(TL82,true); D81 = sdate; T51 = sTime;
}
* 아래 수식 채우기 기능 가능 한가요?
즉 20 이평선 보다 크면 RED 작으면 BLUE 채우기 가능 한가요?
INPUT: MALEN(10),CONST(0.8),ATRs(0);
VAR: CENTLINE(0), AVGRANGE(0), UPPER(0), LOWER(0);
CENTLINE=KeltnerChannel(Close, MALEN, ATRs);
AVGRANGE=Ma(TRUERANGE(),MALEN);
UPPER=CENTLINE+(AVGRANGE*CONST);
LOWER=CENTLINE-(AVGRANGE*CONST);
PLOT1(CENTLINE,"CENTLINE");
PLOT2(UPPER,"UPPER");
PLOT3(LOWER,"LOWER");
항상 많은 도움에 고맙습니다. 수고 하십시요.
2024-03-17
972
글번호 177542
답변완료
수식질문입니다
안녕하세요.
첨부한 사진처럼
1.
1봉전 기준 n봉 최고가가 n봉전 캔들에서 발생한 뒤
당일 종가가 n봉전 최고가를 양봉돌파하고 당일 고가가
n봉전 최고가를 갱신한 종목.
2.
n봉전 조건 없이 첨부한 사진을 만족하는 종목.
특정 구간에서
구간이 시작하는 봉이 최고가를 유지하다가
당일봉이 1봉전 기준 특정구간 최고가를 양봉 종가돌파하고 고가 갱신하는 종목.
(1번 조건에서 n봉 조건이 없다고 보시면 됩니다)
감사합니다
2024-03-16
858
글번호 177541
답변완료
예스차트4 에서는 종목 검색
검색식이 안되는건가요?
실시간 종목 검색이 안되는건지 어디서 종목 검색식을 만들어야 하는지 모르겠습니다.
종목조건검색 기능 제공 된다고 해서 가입했는데
이거 어찌 해야하는건지
안되면 환불해 주세요
2024-03-16
870
글번호 177540
답변완료
전환부탁드립니다.
배열=ma(종가,기간)<ma(종가,기간*2)
&& ma(종가,기간*2)<ma(종가,기간*3)
&& ma(종가,기간*3)<ma(종가,기간*4);
하상단=ma(종가,기간)*상단/100;
a=Valuewhen(1,배열,하상단)
기간/20 상단 100
2024-03-16
1068
글번호 177539
답변완료
수식전환
수고 많으십니다 아래 k사 수식을 예스랭귀지로 부탁드립니다
BW=
if(C>BBandsC(Period, d1),
(BBandsUp(Period, d1)-BBandsDown(Period, d1)) / BBandsC(Period, d1), 0);
K=if(BW<BW(n), BW(n)-BW, 0);
P=if(BW > BW(n), BW-BW(n), 0);
PP=avg(P, m);
KK=avg(K, m);
조건=CrossUP(PP, KK);
ValueWhen(1, 조건, C)
위 수식을 저는 아래와 같이 변환하여 K사 챠트와 예스스탁챠트와 종목 대 종목으로 비교하여 본 바 24개 종목중 7개는 지표선이 꼭 같이 나오는데 17개는 다르게 나옵니다 왜그런지요 양사 데이타가 틀리다면 봉챠트도틀릴텐데 그건 같거든요 부탁드립니다^^
제가변환해본 에스랭귀지는 이렇습니다
Input : Period(20),d1(2),n(1),MM(10),기준(10);
var : BBup(0),BBmd(0),BBdn(0),BWI(0);
var : BW(0),K(0),P(0),PP(0),KK(0),조건(False);
BBup = avg((C+H+L)/3,Period)+D1*std((C+H+L)/3,Period);
BBmd = MA((C+H+L)/3,Period);
BBdn = avg((C+H+L)/3,Period)-D1*std((C+H+L)/3,Period);
BW = iff(C>BBmd,(bbup-bbdn) / bbmd, 0);
K=iff(BW<BW[n], BW[n]-BW, 0);
P=iff(BW>BW[n], BW-BW[n], 0);
PP=ma(P, mm);
KK=ma(K, mm);
조건=CrossUp(PP, KK);
BWI=(bbup-bbdn) / bbmd*100;
if 조건==TRUE Then
var1 = C;
Plot1(VAR1);
참고:1.동일그림-와이투솔루션 LS네트웍스 에이팩트 한성크린텍 폴라리스AI 해성티피씨 신송홀딩스
2.다른그림-솔트룩스 씨이랩 디와이디 동국산업 제주맥주 코세스 이구산업 코아시아 아진엑스텍 락앤락 다이트론 스피어파워 앱코 대창 그린리소스 딥노이드 티에프이
2024-03-16
1002
글번호 177538
답변완료
문의 드립니다.
20이평 120이평 정배열이고 주가가 20이평 위에 있을 때 음봉에서 양봉으로 전환 시 매수
청산은 매수 진행 하다가가 음봉으로 전환 시 매도 청산 완료
20이평과 120이평 사이에 주가가 있을 때는 진입신호 발생하지 않도록 해야합니다.
20이평 120이평 역배열이고 주가가 20이평 아래에 있을 때 양봉에서 음봉으로 전환 시 매도
청산은 매도 진행 하다가가 양봉으로 전환 시 매수 청산 완료
20이평과 120이평 사이이에 주가가 있을 때는 진입신호 발생하지 않도록 해야합니다.
부탁드립니다.
2024-03-16
805
글번호 177537
답변완료
문의드립니다.
안녕하세요.
중장기 스윙 피라미딩 전략 운영중입니다.
아주 쉽게 이야기하면, 선물지수가 떨어지면 계속 무한으로 물타기하고, n% 오르면 팔고를 반복하는 전략입니다.
그런데 중장기로 보유하다보니 만기일마다 수작업으로 롤오버 하는 것이 너무 귀찮습니다.
혹시 아래와 같이 하는 것이 가능할지 문의드립니다.
[예시상황]
1000원 1개 매수진입 => 이 녀석의 목표가는 1100원임
900원에 1개 추가 매수진입(피라미딩) => 이 녀석의 목표가는 1000원임
800원에 1개 추가 매수진입(피라미딩) => 이 녀석의 목표가는 900원임
현재 매수 수량 3개이고, 계속 떨어지기만해서 3개 모두 목표가에 도달하지 못한 상황
그런데 이 포지션으로 만기일을 맞이할 예정
[원하는 수식 내용]
- 만기일 날 장종료 전(3시로 가정)에 가지고 있던 모든 포지션을 정리
- 만기일 다음 거래일 오전에(9시로 가정) 전날 정리한 포지션을 그대로 복구
- 즉, 3개 매수를 해야하고, 그녀석들의 목표가는 각각 1100, 1000, 900원으로 설정되어야 함
- 그리고 그 이후에도 계속 같은 로직에 의하여 추가적인 피라미딩 매수가 될 수 있어야 함 (예를 들어, 700원이 되면 다시 매수 진입하고, 그녀석의 목표가는 800원이 되어야 함)
- 이런식으로 계속되다가 또 만기일이 오면 위와 같은 조치를 다시 취할 수 있어야 함
-----------
어려울거 같긴한데.. 이런게 가능할까요...?
이런 류의 전략을 워낙 많이 사용하고 있어서
만기일마다 수량 계산해서 정리하는게 너무 귀찮고 어렵더라고요. 실수도 많이 하고요.
부탁드립니다.
감사합니다.
2024-03-16
960
글번호 177536
답변완료
수정부탁드립니다.
안녕하세요?
현재 pt외부변수가 먹히지 않습니다.
검토해주시면 정말 감사하겠습니다.
감사합니다.
input : pt(0.5),익절(0.5),손절(0.5),진입횟수(10);
var : entry(0),t1(0);
if Bdate != Bdate[1] Then
t1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-t1;
Else
entry = TotalTrades-t1+1;
if entry < 진입횟수 Then
{
Buy("b",AtStop,NextBarOpen+0,5);
Sell("s",AtStop,NextBarOpen-0,5);
}
SetStopProfittarget(익절,PointStop);
SetStopLoss(손절,PointStop);
2024-03-16
646
글번호 177535