커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6329
글번호 230811
답변완료
ask
2017년 3월 30일 기준
틱이 아닌 1초봉(주차트 1초, 보조차트 1초)으로
수식을 적용한 결과
buy 전용 수식(주차트 kodex200, 보조차트 kospi200선물)은
1초봉(주차트 1초, 보조차트 1초)에 정상 진입함 _ 그림 1참조.
sell 전용 수식(주차트 kodex인버스, 보조차트 kospi200선물)은
1초봉(주차트 1초, 보조차트 1초)에 반응하지 않음_ 그림 2참조.
2초봉(주차트 1초, 보조차트 2초)에 정상 진입함_ 그림 3참조.
문의사항
sell전용 수식에서
1초봉에서 신호가 나오지 않는 점과
2초봉에서야 신호가 나오는 이유가 궁금합니다.
**********************************
안녕하세요
예스스탁입니다.
수식에 atstop이나 atlimit등의 타입은 기본차트에만 적용되는 내용입니다.
지정된 값과 기본차트의 실시간 현재가와만 비교를 합니다.
해당 내용을 참조데이터로 변경하면 봉안성시로만 가능합니다.
이용에 참고하시기 바랍니다.
1
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0,data1),entry(0,data1),HH(0,data1),EL(0,data1),C2(0,data1);
C2 = data2(C);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and
data2(C <= HighD(0)-PriceScale*B1 and C[1] > HighD(0)-PriceScale*B1) Then
buy("b1");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
EL = data2(L);
if data2(L) < EL Then
EL = data2(L);
if entry == 1 and MarketPosition == -1 and data2(C >= EL+PriceScale*X1) Then
ExitLong("sx1");
}
if TotalTrades > TotalTrades[1] Then
HH = data2(H);
if data2(H) > HH Then
HH = data2(H);
if MarketPosition == 0 and entry == 1 and data2(C <= HH-PriceScale*B2 and C[1] > HH-PriceScale*B2) Then
buy("b2");
if MarketPosition== -1 and entry == 2 and data2(H >= C2[BarsSinceEntry]+PriceScale*13) Then
ExitLong("bx2");
2
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0,data1),entry(0,data1),LL(0,data1),EH(0,data1),C2(0,data1);
C2 = data2(c);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and
data2(C >= lowD(0)+PriceScale*B1 and C[1] < lowD(0)+PriceScale*B1) Then
buy("b1");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
EH = data2(H);
if data2(H) > EH Then
EH = data2(H);
if entry == 1 and data2(C <= EH-PriceScale*X1) Then
exitlong("bx1");
}
if TotalTrades > TotalTrades[1] Then
LL = data2(L);
if data2(L) < LL Then
LL = data2(L);
if MarketPosition == 0 and entry == 1 and data2(C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2) Then
buy("b2");
if MarketPosition== 1 and entry == 2 and data2(L <= C2[BarsSinceEntry]-PriceScale*13) Then
exitlong("bx2");
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 주차트 /보조차트 수식
> 아래 수식을 주차트 / 보조차트 수식으로 변경바랍니다.
1. sell 전용 수식
2. buy 전용 수식
항상 고맙습니다.
1) sell 전용 수식(주차트 kodex인버스, 보조차트 kospi200선물)
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0),entry(0),HH(0),EL(0);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and
C <= DayHigh-PriceScale*B1 and C[1] > DayHigh-PriceScale*B1 Then
sell("s1");
if MarketPosition == -1 Then{
if CurrentContracts > CurrentContracts[1] Then
EL = L;
if L < EL Then
EL = L;
if entry == 1 and MarketPosition == -1 and C >= EL+PriceScale*X1 Then
ExitShort("sx1");
}
if TotalTrades > TotalTrades[1] Then
HH = H;
if H > HH Then
HH = H;
if MarketPosition == 0 and entry == 1 and C <= HH-PriceScale*B2 and C[1] > HH-PriceScale*B2 Then
sell("s2");
if MarketPosition== -1 and entry == 2 Then
ExitShort("sx3",AtStop,EntryPrice+PriceScale*13);
2) buy 전용 수식(주차트 kodex200, 보조차트 kospi200선물)
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0),entry(0),LL(0),EH(0);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then
buy("b1");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
EH = H;
if H > EH Then
EH = H;
if entry == 1 and C <= EH-PriceScale*X1 Then
exitlong("bx1");
}
if TotalTrades > TotalTrades[1] Then
LL = L;
if L < LL Then
LL = L;
if MarketPosition == 0 and entry == 1 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then
buy("b2");
if MarketPosition== 1 and entry == 2 Then
exitlong("bx3",AtStop,EntryPrice-PriceScale*13);
2024-09-02
257
글번호 108382
답변완료
문의드립니다
if date != date[1] Then {
var1 = V;
var2 = C;
}
if V > var1 Then{
var1 = V;
var2 = C;
}
plot1(var2);
1)
이수식에서 시가 종가 는 제외 한다
부탁드립니다
2)시스템수식 도 부탁디립니다
2017-03-30
205
글번호 108380
답변완료
지표 선에 조건에따라 색넣기 가능할까요?
var : DayV(0),DayV2(0), cnt(0),PredayV(0),predate(0);
if date != date[1] Then{
predate = sdate[1];
}
PredayV = 0;
for cnt = 1 to 499 {
if predate == sdate[cnt] and stime[cnt] <= stime then{
PredayV = DayVolume[cnt];
cnt = 1000;
}
}
DayV = DayVolume(N)-predayv;
plot1(DayV,"당일-전일 누적");
plot2(0,"0선");
위신의 dayV 값이 직전 봉과 비교해서 작으면 파랑 크면 빨강 선색을 표시하고싶은데요 선
2017-03-30
212
글번호 108379
답변완료
문의 드립니다..(편차-변동성)
안녕하세요..아래식을 짰는데 저는 10시 반 이후에 체결되도록
해 놨는데 그냥 장 초반에 거래가 체결되더라구요..
뭐가 문제인지 몰라서 올립니다..
식 검토 부탁드립니다..
참고로 저는 5분봉 띄워서 하는데 10시 반 이후로 체결되기를 원하는데
9시 5분에 걸려요..
-------------------------------------------------------------------
Input: StdDv(1), Length(50), AtrMult(7), W(2), Y(40);
Vars: TopBand(0), BotBand(0), BandRange(0), SellPrice(0), BuyPrice(0), mp(0), HighV(0), LowV(0);
//Setup calculations - calculating bands & buy and sell prices
TopBand = ma(Close, Length) + Std(C, Length) * StdDv;
BotBand = ma(Close, Length) - Std(C, Length) * StdDv;
BandRange = TopBand - BotBand;
BuyPrice = Close * ( 1 + BandRange / ma(Close, W) );
Sellprice = Close * ( 1 - BandRange / ma(Close, W) ) ;
// Entry orders
if stime >= 103000 then Buy("B",atstop,BuyPrice);
if stime >= 103000 then Sell("S",atstop,SellPrice);
// Chandelier Exit
mp = MarketPosition;
HighV = highest(H, BarsSinceEntry+1);
LowV = Lowest(L,BarsSinceEntry+1);
if mp == 1 then exitlong("EL", atstop, HighV-ATR(Y)*AtrMult);
if mp == -1 then ExitShort("ES", atstop, LowV+ATR(Y)*AtrMult);
//당일청산
SetStopEndofday(1442);
2017-04-03
257
글번호 108378
답변완료
수식 부탁 드립니다
식을 나름 줄여봤고요,plot30,plot31을plot60 아래로 옮기고 TEMA2 = TEMA1;도 추가해보았슴니다 그런데 plot60이 검은색일때plot31이 plot30에 일치했다가 plot60이다시 연두색이되면 plot31이 다시 원래자리로 돌아가는데요 plot60이 다시 연두색이되면 그때 plot31선의 시작이 plot30 에서 출발하게 수정좀부탁드리겠슴니다 감사합니다
Input: 시간보정(0),폭보정(1.5),지수호가테마LENGTH1(10),급변(0.05);
var : AsksMA(0),BidsMA(0), Period(1),idx(0),EP(0),E11(0),E12(0),E13(0),E21(0),E22(0),E23(0);
Var : value(0);
Var : valuec(0);
var : va71(0);
var : va91(0);
var : va93(0);
var : va96(0);
VAR : TEMA1(0);
VAR : TEMA2(0);
VAR : vmin(0);
VAR : vmax(0);
//*************************************************************
BidsMa = ma(bids,Period);
AsksMA = ma(asks,Period);
value = ma(bids,period)-ma(asks,period)+29000;
//*************************************************************
//*************************************************************
va91=((c-c[1])/c[1]*100);
va93=((value-value[1])/value[1]*1.49);
//*************************************************************
if stime == 시간보정*100 or (stime > 시간보정*100 and stime[1] < 시간보정*100) or Bdate != Bdate[1] Then
{
PLOT62(100,"시간보정");
idx = 0;
var1 = 100;
var2 = var1;
}
Else{
idx = idx+1;
var1 = var1+(var1*(va91/100));
var2 = var2+(var2*(va93/95));
}
EP = 2/(지수호가테마LENGTH1+1);
if idx == 0 Then{
E11 = var1;
E21 = var2;
}
Else{
E11 = var1 * EP + E11 * (1-EP);
E21 = var2 * EP + E21 * (1-EP);
}
if idx <= 1 Then{
E12 = E11;
E22 = E21;
}
Else{
E12 = E11 * EP + E12 * (1-EP);
E22 = E21 * EP + E22 * (1-EP);
}
if idx <= 2 Then{
E13 = E12;
E23 = E22;
}
Else{
E13 = E12 * EP + E13 * (1-EP);
E23 = E22 * EP + E23 * (1-EP);
}
TEMA1 = (3 * E11) - (3 * E12) + (E13);
TEMA2 = (3 * E21) - (3 * E22) + (E23);
//******************************
vmin = min(TEMA1 ,TEMA2 );
vmax = max(TEMA1 ,TEMA2 );
//******************************
va71 =( TEMA2 - TEMA1 )+100.3;
#####################################################################################################
PLOT60(va71,"55",iff(va71[1]-폭보정 > va71,GREEN,iff(va71[1]+폭보정 < va71,GREEN,BLACK)));
if abs (va71[1] - va71) < 폭보정 then{
PLOT64(va71-0.1,"커플링");
//var1 = 100;
TEMA2 = TEMA1;
// PlaySound("C:예스트레이더dataSoundBandi.wav");
}
PLOT30(TEMA1 ,"지수테마",iff((TEMA1 )>(TEMA1)[1]+00,BLACK,iff((TEMA1 )<(TEMA1 )[1]-00,BLACK,BLACK)));
PLOT31(TEMA2 ,"호가테마");
//PLOT31(TEMA2 ,"호가테마",iff(va71[3]-폭보정 > va71,RED,iff(va71[3]+폭보정 < va71,RED,GREEN)));
########################################################################################################
if CrossUp(( TEMA2 ),(TEMA1)) Then{
PLOT45((vmin )-0.01,"매수막대");
// PlaySound("C:UsersAdministratorDesktop효과click01.wav");
}
if CrossDown(( TEMA2 ),(TEMA1)) Then{
PLOT46((vmin )-0.01,"매도막대");
// PlaySound("C:UsersAdministratorDesktop효과click02.wav");
}
if va71[1]+급변 < va71 Then {
PLOT18((va71 )+0.01,"매도");
}
if va71[1]-급변 > va71 Then {
PLOT19((va71 )+0.01,"매수");
}
if stime == 시간보정*100 then {
PLOT62(100,"시간보정");
}
2017-04-02
304
글번호 108377
답변완료
간단 수식문의좀...
해선에서
1. 현재가가 (봉완성시) 이동평균선 120 을 크로스업 하고 (and)
이평선 120 이 360 을 크로스업 하고나서, 순방향 ( )틱 상승후에 매수
반대로 현재가가 120 이평을 크로스업 하고
120 이평이 360 이평을 크로스 다운할때
순방향 ( )틱 하락후에 매도
----------------------------------------------------------
2. 현재가가 일 중심선을 상향돌파하면 매수 볼린저밴드 상단에 닿으면 매수청산
중심선 하향 돌파시 매도, 볼린저 하단에 닿으면 매도청산
- 매뉴얼을 보고 해보려고 하는데 잘 안되네요..
2017-03-30
213
글번호 108376
답변완료
문의드립니다.
일일히 수고하심에 감사드립니다.
다음의 식을 부탁드립니다.
오늘 전일보다 거래량이 1.2배이상의 윗꼬리가 양봉 몸통의 50%이상 양봉이면서
P일 전부터 오늘까지 포함한 기간동안에 전일보다 거래량이 1.2배이상이면서
윗꼬리가 양봉 몸통의 50%이상의 양봉이 2개이상 발생한 종목 을 검색하는 식
2017-03-30
220
글번호 108375
답변완료
수식 문의 드립니다
각각 다른 내용 입니다.
하루 한국 시간 기준 오전 9시부터 새벽 3시까지 기준으로
손실 30틱이상일 경우 매매 중지 후, 9시 재시작.
----
매수 조건: 최근 15 봉이내에 틱봉상 5일선이 7일선을 상향 돌파한적있고, 현재 보유포지션 없으며, 최근 1시간이내에 30분봉 스토캐스틱 K가 D를 상향 돌파한적이 없을때,
30분봉 스토캐스틱 K 가 D를 상향돌파시매수
----
스토캐스틱 K 가 직전 3시간동안 계속 낮아졌음을 확인(60분봉 사용).
----
부탁드립니다
감사합니다
2017-03-30
230
글번호 108374
답변완료
문의드립니다
#52654 질의 답변 감사합니다
수정 부탁드릴께요
아래수식을 특정월기간 으로수정부탁드립니다
plot로 해주시면 더욱 감사합니다
예)20160901~20161231 으로
최고가= 빨간색 최저가= 파랑색 절반가액=그린색 수정부탁드립니다
-20%선 빨강-30%파랑 -50% 그린
답변주신 수식지표또한
최고가= 빨간색 최저가= 파랑색 절반가액=그린색 수정부탁드립니다
-20%선 빨강-30%파랑 -50% 그린
var : D1(0),T1(0),HH(0),LL(0),RR(0),f1(0),f2(0);
var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0);
var : TL7(0),TL8(0),TL9(0),TL10(0),TL11(0);
if sdate > sdate[1]+30 Then{
D1 = sdate;
T1 = stime;
HH = H;
LL = L;
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
RR = (HH+LL)/2;
f1 = HH-LL;
f2 = RR-LL;
TL_Delete(TL1);
TL_Delete(TL2);
TL_Delete(TL3);
TL1 = TL_New(D1,T1,HH,sdate,stime,HH);
TL2 = TL_New(D1,T1,LL,sdate,stime,LL);
TL3 = TL_New(D1,T1,RR,sdate,stime,RR);
TL_Delete(TL4);
TL_Delete(TL5);
TL_Delete(TL6);
TL_Delete(TL7);
TL_Delete(TL8);
TL4 = TL_New(D1,T1,RR-F2*(1/6),sdate,stime,RR-F2*(1/6));
TL5 = TL_New(D1,T1,RR-F2*(2/6),sdate,stime,RR-F2*(2/6));
TL6 = TL_New(D1,T1,RR-F2*(3/6),sdate,stime,RR-F2*(3/6));
TL7 = TL_New(D1,T1,RR-F2*(4/6),sdate,stime,RR-F2*(4/6));
TL8 = TL_New(D1,T1,RR-F2*(5/6),sdate,stime,RR-F2*(5/6));
TL_Delete(TL9);
TL_Delete(TL10);
TL_Delete(TL11);
TL9 = TL_New(D1,T1,LL-f1*0.2,sdate,stime,LL-f1*0.2);
TL10 = TL_New(D1,T1,LL-f1*0.3,sdate,stime,LL-f1*0.3);
TL11 = TL_New(D1,T1,LL-f1*0.5,sdate,stime,LL-f1*0.5);
2017-04-02
227
글번호 108373