커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3423
글번호 230811
답변완료
문의 드립니다
input :len(10),st_mult(1),st_period(100);;
var : source(0),hilow(0),openclose(0),vol(0),spreadvol(0),VPT(0),window_len(0);
var : v_len(0),price_spread(0),vv(0),smooth(0),v_spread(0),shadow(0),out(0);
var : vpt2(0),up_lev(0),dn_lev(0),up_trend(0),down_trend(0),trend(0),st_line(0);
source = close;
hilow = ((high - low)*100);
openclose = ((close - open)*100);
vol = (volume / hilow);
spreadvol = (openclose * vol);
VPT = spreadvol + Accum(spreadvol);
window_len = 28;
v_len = 14;
price_spread = std(high-low, window_len);
vv = spreadvol + Accum(spreadvol);
smooth = ma(vv, v_len);
v_spread = std(vv - smooth, window_len);
shadow = (vv - smooth) / v_spread * price_spread;
out = iff(shadow > 0, high + shadow, low + shadow);
vpt2 =ema(out,len);
up_lev = vpt2 - (st_mult * atr(st_period));
dn_lev = vpt2 + (st_mult * atr(st_period));
if CurrentBar >= 1 then
{
up_trend = 0.0;
up_trend = iff(close[1] > up_trend[1], max(up_lev, up_trend[1]),up_lev);
down_trend = 0.0;
down_trend = iff(close[1] < down_trend[1], min(dn_lev, down_trend[1]), dn_lev);
trend = 0;
trend = iff(close > down_trend[1], 1 ,iff(close < up_trend[1], -1 , trend[1]));
st_line = iff(trend ==1 , up_trend , down_trend);
// Plotting
plot1(st_line[1],"SuperTrend",iff(trend == 1,MAGENTA,BLACK));
}
...............................................................
상기지표를 데이타2용으로 가공해 주세요
감사합니다
2020-04-10
308
글번호 137781
답변완료
문의드립니다
안녕하세요?
사진처럼 직전봉의고가와 저가를 표시할수있는 수식이있으면 구하고싶습니다 .
유사해도 상관없습니다.
감사합니다
2020-04-10
270
글번호 137780
2wnwn 님에 의해서 삭제되었습니다.
2020-04-09
23
글번호 137779
답변완료
문의드립니다.
안녕하세요.
매수명에 따라 매도를 각각하고 싶습니다.
예를 들면 아래와 같이 "매수1" , "매수2" 에대해서 각각 다른 조건으로 매도를 하고 싶은데
가능한지 문의드리고, 가능하면 식 작성 요청드립니다.
감사합니다.
#매수1
If CrossUP(C, ma(C,60) Then
{
Buy("매수1" , AtMarket);
}
#매수2
If CrossUP(C, ma(C,120) Then
{
Buy("매수2" , AtMarket);
}
# 매수1 청산
진입가대비 5틱 상승하면 매도
# 매수2 청산
진입가대비 10틱 상승하면 매도
2020-04-09
522
글번호 137778
요타 님에 의해서 삭제되었습니다.
2020-04-09
0
글번호 137777
답변완료
수식요청
* 항상 많은 도움에 고맙습니다.
* 아래 로직에서 이평선을 넣었더니 매수 가격이 틀려 집니다.
and var11> var15 이거 하나 추가 했는데 매수 진입 싯점이 틀려 짐니다.
* 요청 사항
아래 로직으로 A봉에서 매수 할수는 없는지요?
즉 A봉 종가에 매수 하고 싶습니다.
### 아래 로직
var11 = ma(c,5) ;
var12 = ma(c,10) ;
var13 = ma(c,20) ;
var14 = ma(c,60) ;
var15 = ma(c,120) ;
if c > o and c[1]>=o[1] and var11> var15 Then Buy("SS1",Onclose) ;
SetStopProfittarget(PriceScale*22,PointStop) ;
SetStopLoss(PriceScale*42,PointStop);
* 고맙습니다. 수고하십시요.
2020-04-09
561
글번호 137776
답변완료
부탁드립니다
$,안녕하세요
ㅡ,일봉차트에서 거래량을 막대그래프로 설정할때 봉 하나에 음봉양봉을 겹치기해서 표시하고
싶은데 가능할지요,봉하나에 거래량에 따라 음양의 비율이 다르게 표현되게 도움 부탁
드립니다.
$,고맙습니다.
2020-04-09
586
글번호 137775
답변완료
지표수식 전환부탁
예스지표로 수식전환 부탁드려요
<1>
src = input(close)
MediaMovel = input(21)
MediaMovelExponencial = input(9)
MediaObv = input(50)
obv = cum(change(close) > 0 ? volume : change(close) < 0 ? -volume : 0*volume)
ma = sma(src,MediaMovel)
ema = ema(src,MediaMovelExponencial)
obvma = sma(obv,MediaObv)
c = crossover(obv, obvma) and ma > ema
v = crossunder(obvma,obv)
plot(ma, color=#00FFFF, transp=0)
plot(ema,"EMA", color=#5e6adb, transp=0)
strategy.entry("COMPRA", strategy.long,when=c)
strategy.entry("VENDA", strategy.short,when=v)
//plot(obv/-10000000000000,title="OBV", color=blue)
//plot(ma,title="Média Móvel", color=blue)
//plotshape(c ? 1 : na, title="COMPRA",color=green, text="*COMPRA*", style=shape.arrowup, location=location.belowbar)
//plotshape(v ? 1 : na, title="VENDE",color=red, text="*VENDE*", style=shape.arrowdown)
<2>
//SETTINGS
lagReduce = input(20.0, title="Lag Reduction", minval=1, maxval=100)
seriesSource = input(close, title="Source", type=input.source)
seriesLength = input(100, title="Example Series Length for EMA")
yes1=input(true, title="Plot Original EMA as well?")
//FILTER
exampleSeries=ema(seriesSource, seriesLength)
lagFilter = exp(lagReduce*log(exampleSeries / exampleSeries[1]))*exampleSeries
//PLOTS
plot(lagFilter, color=color.lime)
plot(yes1? exampleSeries : na, color=color.red)
2020-04-09
720
글번호 137774
답변완료
안녕하세요
A와 B식을 그림과 같은 신호가 나오게 하나의 합성 시스템식으로 부탁 합니다
(시간에 관계없이 A번신호가 매수고 B번신호가 매수면 매수신호. 이미매수신호있으면
신호없음)
(시간에 관계없이 A번신호가 매수고 B번신호가 매도면 신호 없음)
(시간에 관계없이 B번신호가 매수고 A번신호가 매수면 매수신호. 이미매수신호있으면
신호없음)
(시간에 관계없이 B번신호가 매수고 A번신호가 매도면 신호 없음)
(시간에 관계없이 A번신호가 매도고 B번신호가 매도면 매도신호.이미매도신호있으면
신호없음)
(시간에 관계없이 A번신호가 매도고 B번신호가 매수면 신호 없음)
(시간에 관계없이 B번신호가 매도고 A번신호가 매도면 매도신호.이미매도신호있으면
신호없음)
(시간에 관계없이 B번신호가 매도고 A번신호가 매수면 신호 없음)
A식
Input : shortPeriod1(5), longPeriod1(20);
Input : shortPeriod2(10), longPeriod2(90);
value1 = ma(C, shortPeriod1);
value2 = ma(C, longPeriod1);
value3 = ma(C, shortPeriod2);
value4 = ma(C, longPeriod2);
If CrossUP(value1, value2) or crossup(value3,value4) Then
Buy();
If CrossDown(value1, value2) or CrossDown(value3,value4) Then
Sell();
B식
Input : shortPeriod1(10), longPeriod1(30);
Input : shortPeriod2(20), longPeriod2(100);
value1 = ma(C, shortPeriod1);
value2 = ma(C, longPeriod1);
value3 = ma(C, shortPeriod2);
value4 = ma(C, longPeriod2);
If CrossUP(value1, value2) or crossup(value3,value4) Then
Buy();
If CrossDown(value1, value2) or CrossDown(value3,value4) Then
Sell();
2020-04-10
662
글번호 137773