커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4474
글번호 230811
답변완료
문의드립니다
안녕하세요,
다음의 내용을 수식으로 구현하고자 합니다.
#연결선물지수 1분봉
1. 장시작 이후 마감(15:35)까지 매 1분봉의 고가 및 저가를 저장
2. 매 1분봉마다 마감한 고가 및 저가가 당일 몇번 발생하였는지 카운트(횟수)
: 1분봉 고가(저가)가 같은 가격에서 발생한 횟수를 알고 싶습니다(현재봉 기준)
감사합니다.
2018-12-24
253
글번호 124741
답변완료
수식 의뢰 합니다!
안녕하세요!
만들어 주신 지표로 색을 변경하려했는데 잘 안되서 도움을 청합니다
첨부그림 참조해 주세요!
감사합니다!
input : P1(5),P2(20),P3(60);
var1 = wma(H,P1);
var2 = wma(L,P1);
var3 = wma(H,P2);
var4 = wma(L,P2);
Var5 = wma(H,P3);
var6 = wma(L,P3);
plot1(var1);
plot2(var2);
plot3(var3);
plot4(var4);
plot5(var5);
plot6(var6);
----------------------------------------------------------------
input : P1(5),P2(20);
var1 = ema(H,P1);
var2 = ema(L,P1);
var3 = ema(H,P2);
var4 = ema(L,P2);
plot1(var1);
plot2(var2);
plot3(var3);
plot4(var4);
-----------------------------------------------------
--------------------------------------------------------
첨부그림2 볼린저밴드 기울기 수식 입니다!
Input : Period(34), MultiD(2);
var : MAv(0),BBup(0),BBdn(0);
MAv = WMA(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
Plot1(MAv, "이평");
if BBup > BBup[1] Then
Plot2(BBup, "상단밴드",RED);
Else
Plot2(BBup, "상단밴드",BLUE);
if BBDn > BBdn[1] Then
Plot3(BBdn, "하단밴드",RED);
else
Plot3(BBdn, "하단밴드",BLUE);
Input : Period(34), MultiD(2);
var : MAv(0),BBup(0),BBdn(0);
MAv = WMA(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
Plot1(MAv, "이평");
if BBup > BBup[1] Then
Plot2(BBup, "상단밴드",RED);
Else
Plot2(BBup, "상단밴드",BLUE);
if BBDn > BBdn[1] Then
Plot3(BBdn, "하단밴드",RED);
else
Plot3(BBdn, "하단밴드",BLUE);
2018-12-26
428
글번호 124740
답변완료
60587 질문에 추가입니다..
젤 아래 추가수식만 추가해주시면 감사하겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식부탁합니다..
> 안녕하세요
예스스탁입니다.
1
input : P1(5),P2(20),P3(60),익절틱수(10),손절틱수(10);
var1 = ma(C,P1);
var2 = ma(C,P2);
var3 = ma(C,P3);
if MarketPosition <= 0 and
var1 > var2 and var2 > var3 and
var1 > var1[1] and var2 > var2[1] and var3 > var3[1] and
crossup(c,var1) Then
buy();
if MarketPosition >= 0 and
var1 < var2 and var2 < var3 and
var1 < var1[1] and var2 < var2[1] and var3 < var3[1] and
crossup(c,var1) Then
sell();
if MarketPosition == 0 and
MarketPosition(1) == 1 and
IsExitName("StopProfitTarget",1) == true and
var1 > var2 and var2 > var3 and
crossup(C,var1) Then
buy();
if MarketPosition == 0 and
MarketPosition(1) == -1 and
IsExitName("StopProfitTarget",1) == true and
var1 < var2 and var2 < var3 and
CrossDown(C,var1) Then
sell();
if MarketPosition == 1 and CrossDown(var1,var2) Then
ExitLong();
if MarketPosition == -1 and CrossUp(var1,var2) Then
ExitShort();
SetStopLoss(PriceScale*손절틱수,PointStop);
SetStopProfittarget(PriceScale*손절틱수,PointStop);
2
input : P1(5),P2(20),P3(60),익절틱수(10),손절틱수(10);
var1 = ma(C,P1);
var2 = ma(C,P2);
var3 = ma(C,P3);
if MarketPosition <= 0 and
var1 > var2 and
var3 > var3[1] and
crossup(c,var1) Then
buy();
if MarketPosition >= 0 and
var1 < var2
and var3 < var3[1] and
crossup(c,var1) Then
sell();
if MarketPosition == 0 and
MarketPosition(1) == 1 and
IsExitName("StopProfitTarget",1) == true and
var1 > var2 and var2 > var3 and
crossup(C,var1) Then
buy();
if MarketPosition == 0 and
MarketPosition(1) == -1 and
IsExitName("StopProfitTarget",1) == true and
var1 < var2 and var2 < var3 and
CrossDown(C,var1) Then
sell();
if MarketPosition == 1 and CrossDown(var1,var2) Then
ExitLong();
if MarketPosition == -1 and CrossUp(var1,var2) Then
ExitShort();
SetStopLoss(PriceScale*손절틱수,PointStop);
SetStopProfittarget(PriceScale*손절틱수,PointStop);
3
input : ntime(101500);
if (sdate != sdate[1] and stime >= ntime) or
(sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then
var1 = 0;
if var1 > 0 Then
plot1(var1);
4
시스템 수식 하단에 추가하시면 됩니다.
var : pp(0),ll(0),tx(0);
if MarketPosition == 1 Then
{
pp = Floor((highest(H,BarsSinceEntry)-EntryPrice)/(PriceScale*20));
if pp > pp[1] Then
{
tx = Text_New(sdate,stime,H+PriceScale*3,NumToStr(pp*20,0)+"틱");
Text_SetStyle(tx,2,1);
}
}
if MarketPosition == -1 Then
{
pp = Floor((EntryPrice-lowest(L,BarsSinceEntry))/(PriceScale*20));
if pp > pp[1] Then
{
tx = Text_New(sdate,stime,L-PriceScale*3,NumToStr(pp*20,0)+"틱");
Text_SetStyle(tx,2,0);
}
}
즐거운 하루되세요
> nicejon 님이 쓴 글입니다.
> 제목 : 수식부탁합니다..
> 수고스럽지만 2가지경우에 수식좀 부탁합니다..
1의경우)
1)이평선 1,2,3 3개선이 전부 정배열이고, 상승중일때만 진입신호 발생,
익절이나 손절틱수에 의해 청산될시,
정배열이 유지가 되고, 지수가 이평 1을 다시 상향돌파시 진입신호 발생.
청산은 이평선 1이 2를 하향돌파할때 청산신호발생.
정해진 익절틱수에 의해 청산신호.
2)역배열은 이평선 3개가 전부 역배열이고 하락중일때만 진입신호 발생,
익절이나 손절틱수에 의해 청산될시,
역배열이 유지가 되고, 지수가 이평 1을 다시 하향돌파시 진입신호 발생.
청산은 이평선 1이 2를 상향돌파할때 청산신호 발생.
정해진 익절틱수에 의해 청산신호.
________________________________________________________
2의경우)
1)1)이평선 1,2선만 정배열이고, 3선은 상승중일때만 진입신호 발생,
익절이나 손절틱수에 의해 청산될시,
정배열이 유지가 되고, 지수가 이평 1을 다시 상향돌파시 진입신호 발생.
청산은 이평선 1이 2를 하향돌파할때 청산신호발생.
정해진 익절틱수에 의해 청산신호.
2)역배열은 1,2선만 역배열이고, 3선은 하락중일때만 진입신호 발생,
익절이나 손절틱수에 의해 청산될시,
역배열이 유지가 되고, 지수가 이평 1을 다시 하향돌파시 진입신호 발생.
청산은 이평선 1선이 2선을 상향돌파할때 청산신호 발생.
정해진 익절틱수에 의해 청산신호.
--------------------------------------------------------------------------
아래 질문은 지표에 관한 질문일수도 있습니다..
3)항셍 아침 10시15분에 시작하는 시작가나 오후 6시 15분에 시작하는 시작가를
시가선으로 나타내고 싶습니다.
4)정,역배열이 진행중일때 진입가대비 20틱 간격으로(20틱,40틱,60틱,80틱.....계속)화면에
나타내고 싶은데 가능할까요?
그리고 익절틱수와 손절틱수를 정할수 있게 좀 부탁드립니다...
이렇게 수식좀 부탁합니다....
------------------------------------------------------
======== 추가수식 ========
1의경우)
1) 익절이나, 손절이나, 신호에 의해 청산될시,
다시 정배열이 되거나,
정배열이 유지가 되는 상태에서는 지수가 이평 1을 다시 상향돌파시 진입신호 발생.
2) 익절이나, 손절이나, 신호에 의해 청산될시,
다시 역배열이 되거나
역배열이 유지가 되는 상태에서는 지수가 이평 1을 다시 하향돌파시 진입신호 발생.
2의 경우도 마찬가지입니다..
감사합니다.....
2018-12-24
267
글번호 124734
뮬리 님에 의해서 삭제되었습니다.
2018-12-24
0
글번호 124733
답변완료
지표식 수정 부탁 드립니다
다음의 지표식에
1. (10)개의 저점,고점,중간값의 평균라인(색깔지정) 표시
2. 평균라인 끝부분에 평균가격을 차트상에 표시하고 싶습니다.
3. 변수는 수정 가능토록 부탁 드립니다.
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
2018-12-24
279
글번호 124724
답변완료
문의
봉미완성시에 지정한 가격에 해당하는 시세가 발생하면 즉시 신호가 발생하는 수식
위 답변내용에 궁금한 점 있습니다.
첫째, 예스랭귀지 if문은 봉완성시가 기본체계인데 최근에 변화가 있었는지요?
둘째, 시세가 발생하는 것은 틱체결을 말하는 건지요? 아니면 다른 내용이 있는지?
틱체결이라면 1분봉 차트, 5분봉 차트, 10분봉 차트에서도 동일시점에
시세가 발생하는데 각차트에서 모두 같은 시간에 체결하는 결과가 나올 수 있지 않나요?
시뮬레이션을 했을 때
봉완성 수식이라면 차트마다 다르게 체결되는게 예상되고 결과도 그러한데
미완성 수식이 차트마다 다르게 체결되는 게 궁금합니다.
***************************************************************************************
안녕하세요
예스스탁입니다.
해당 수식은 봉완성기준이 아닙니다.
봉미완성시에 지정한 가격에 해당하는 시세가 발생하면
즉시 신호가 발생하는 수식입니다.
다만 위 내용이라고 해도 실제 체결이 해당 리포트 가격으로 될것이라는 보장은 없습니다.
실제 주문에서 사용하는 가격에 따라 체결이 되지 않을 수도 있고
다른 가격에 체결될수도 있습니다. 수식에서 해당 내용까지 포함해 제어가 가능하지는 않습니다.
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 문의
> 아래는 옵션 매수 전용 수식입니다.
첨부파일은 ATM연결 콜옵션(등가격) 1분봉차트에서 시뮬레이션한 결과입니다
매수세팅가격이 2.60 이므로
시뮬레이션에서 매번 2.60에 매수했다는 결과가 나옵니다.
실전트레이딩시 체결은 봉완성기준이라면
2.60 만이 아닌 2.60 이상의 여러가격들도 체결될 수 있는 것 아닌가요.
실전과 유사한 결과를 내는 수식이 있는지요?
********************************************************************************
input : Price(2.60),진입횟수(1);
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 entry < 진입횟수 and MarketPosition == 0 then{
if NextBarOpen <= Price Then
buy("b1",AtStop,Price);
Else
buy("b2",Atlimit,Price);
}
2018-12-24
278
글번호 124723
답변완료
재문의드립니다
60590번 챠트에 적용해보니 지그재그선이 고점이나 저점이찍히고 그림1과같이현재봉을따라가며 일정기간찍혀야되는데, 그림2(수정한그림)와같이전봉에 찍혀서현재봉에안찍어짐, 그림1과같이일정기간현재봉에찍히도록하면서 챠트가변하지 않도록 다시부탁드립니다~~
2018-12-24
323
글번호 124719
답변완료
문의드립니다
지수 60이평 상승시 빨강색 하락시 파랑색 나오는 수식 부탁드립니다
2018-12-24
259
글번호 124718
답변완료
수식 질문입니다.
키움에서 사용하던 수식인데요..
어떻게 변환 가능할까요?
1분봉상에서 아래 조건에 만족하는 종목을 검색하고 싶습니다.
수식 01)
A = RSI(14);
B = 60;
A(5) > A and C(5) <= C and C(1) < C
and
(A(6)>=B or A(7)>=B or A(8)>=B or A(9)>=B or A(10)>=B or
A(11)>=B or A(12)>B or A(13)>=B or A(14)>=B or A(15)>=B or
A(16)>=B or A(17)>=B or A(18)>=B or A(19)>=B or A(20)>=B)
1분봉상...
0봉전 RSI(14)보다 5봉전 RSI(14)의 값이 더 크고
0봉전 종가보다 5봉전 종가의 값이 더 작으며
0봉전 종가보다 1봉전 종가의 값이 더 작아야 한다.
그리고
6봉전부터 20봉전까지 RSI(14)값 60이상이 최소한 1개 이상은 존재해야 한다.
수식 02)
E = daylow()+(dayhigh()-daylow())*0.6;
E >= C
감사합니다.
2018-12-24
348
글번호 124710