커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1361
글번호 230811
로비윌 님에 의해서 삭제되었습니다.
2024-11-10
11
글번호 185116
답변완료
청산 관련 문의 드립니다.
아래 시스템 수식 문의 드립니다.
매수 진입 후 24봉 이후 진입가보다 20포인트 아래로 내려간 경우가 발생하면 (진입가-10)포인트까지 올라오면 청산하라는 수식을 작성하였는데 제대로 작동하지 않습니다.
어떻게 수정해야 할까요?
If MarketPosition==1 and EntryName=="B6" and BarsSinceEntry>=24 and CountIF((C<(EntryPrice-20),BarsSinceEntry)>=1 Then ExitLong("EL9",AtLimit,EntryPrice-10);
2024-11-09
644
글번호 185115
답변완료
수식문의 드립니다
안녕하세요
수고많습니다.
아래 수식을 지표 및 강조 식으로 부탁드리겠습니다.
수고 하십시오.
var1 = BollBandUp(20,2);
var2 = EnvelopeUp(20,6);
if CrossUp(var1,var2) and C >= C[1]*1.20 Then
{
var3 = Index;
}
Else
{
if var3 > 0 and Index < var3+3 and
CrossUp(c,var1) and
C >= C[1]*1.10 and
h == highest(H,20) and
m >= 2000000000 Then
Find(1);
}
항상 감사 드립니다.
2024-11-09
771
글번호 185114
답변완료
pivot order block 지표식 변환
항상 감사드립니다
아래의 pivot order block 종목검색식을 지표식으로 변환부탁드립니다
1.고점 ==> red line, 저점==> blue line 챠트에 지표표기
2.종목검색조건을 매수매도 시스템식으로 변환
# pivot order block #
//오더블록은 대량의 매수 또는 매도주문이 집중되어 있는 가격구간을 의미
//급격한 가격변동이 있기전 마지막하락 캔들,첫번째 약한 상승캔들
//향후 가격변동의 지지,저항수준으로 작용
input: source("wicks");#'Wicks', 'body'
Input: leftlenH(25);
Input: rightlenH(25);
Input: leftlenL(25);
Input: rightlenL(25);
Input: boxlength(25);
var: phoption(0),ploption(0);
var: ph(0),pl(0);
var: lastPH(0),lastPL(0);
var: crossoverH(False),crossoverL(False);
#고점/저점 옵션설정
phoption = IFf(source == "wicks", high,close );
ploption = IFf(source == "wicks", low,close );
#스윙 고점/저점 계산
if SwingHigh(1, phoption, leftlenH, rightlenH, leftlenH+rightlenH+1 ) != -1 Then
{
lastPH = phoption[rightlenH];
}
if SwingLow(1, ploption, leftlenL, rightlenL, leftlenL+rightlenL+1 ) != -1 Then
{
lastPL = pLoption[rightlenL];
}
# 돌파조건 확인
crossoverH = CrossUp(c,lastPH) and lastPH != 0;
crossoverL = CrossUp(c,lastPL) and lastPL != 0;
If crossoverH == True TheN
FinD(1);
If crossoverL ==True TheN
FinD(1);
2024-11-09
999
글번호 185113
동해바다01 님에 의해서 삭제되었습니다.
2024-11-09
2
글번호 185112
답변완료
수식요청드립니다.
input : Periods(10);
input : Multiplier(3.0);
input : changeATR(1);#1:SMA 0:RMA
var : src(0),alpha(0),source(0),ATR1(0),ATR2(0),ATRV(0);
var : up(0),up1(0),dn(0),dn1(0),trend(0),tx(0);
src = (H+L)/2;
alpha = 1 / Periods;
atr1 = IFf(IsNan(atr1[1]) == true , ma(TrueRange, Periods) , alpha * TrueRange + (1 - alpha) * atr1[1]);
atr2 = ATR(Periods);
atrv = IFf(changeATR == 1 , atr1 , atr2);
up=src-(Multiplier*atrv);
up1 = IFf(IsNan(up[1]) == False,up[1],up);
up = iff(close[1] > up1 , max(up,up1) , up);
dn=src+(Multiplier*atrv);
dn1 = IFf(IsNan(dn[1]) == False,dn[1], dn);
dn = iff(close[1] < dn1 , min(dn, dn1) , dn);
trend = 1;
trend = IFf(IsNan(trend[1]) == False,trend[1], trend);
trend = IFf(trend == -1 and close > dn1 , 1 , iff(trend == 1 and close < up1 , -1 , trend));
if trend == 1 Then
plot1(up,"UpTrend",green);
Else
NoPlot(1);
if trend == -1 then
Plot2(dn,"Down Trend",red);
Else
NoPlot(2);
if trend == 1 and trend[1] == -1 Then
{
tx =Text_New(sDate,sTime,up,"●");
Text_SetStyle(tx,2,2);
Text_SetColor(tx,Green);
}
if trend == -1 and trend[1] == 1 Then
{
tx =Text_New(sDate,sTime,dn,"●");
Text_SetStyle(tx,2,2);
Text_SetColor(tx,Red);
}
100봉간 젤 마지막에 슈퍼트랜드 지표가 빨간에서 초록으로 변경 1회 파워종목검색
100봉 사이에 여러번 변경됐을 경우 맨 마지막을 기준
2024-11-09
810
글번호 185111
234fsdae 님에 의해서 삭제되었습니다.
2024-11-09
0
글번호 185110
답변완료
문의 드립니다.
study("Chandelier Stop", overlay=true)
//input variables
Length=input(title="Look Back Period", type=integer, defval=22)
ATRPeriod=input(title="ATR Period", type=integer, defval=22)
Mult=input(title="ATR Multiplier", type=integer, defval=3)
//calculate stop value
short_stop = lowest(Length)+Mult*atr(ATRPeriod)
long_stop = highest(Length)-Mult*atr(ATRPeriod)
shortvs=na(shortvs[1]) ? short_stop : iff(close>shortvs[1], short_stop , min(short_stop,shortvs[1]))
longvs=na(longvs[1]) ? long_stop : iff(close<longvs[1], long_stop, max(long_stop,longvs[1]))
longswitch=iff (close>=shortvs[1] and close[1]<shortvs[1] , 1 , 0)
shortswitch=iff (close<=longvs[1] and close[1]>longvs[1] , 1 , 0)
direction= iff(na(direction[1]), 0,
iff (direction[1]<=0 and longswitch, 1,
iff (direction[1]>=0 and shortswitch, -1, direction[1])))
pc=direction>0?longvs:shortvs
plot(pc, color=direction>0?aqua:fuchsia, style=circles, linewidth=2)
plot(pc, color=direction>0?aqua:fuchsia, style=line, linewidth=2)
트레이딩뷰 수식입니다.
예스로 좀 변화해주세요.
라인으로만 만들어주세요.
2024-11-09
841
글번호 185109
답변완료
수식 문의합니다.
1틱을 어떻게 표현해야하나요?
var : TickSize(0);
TickSize = Ticks * PriceScale;
이렇게 표현하면 ticksize가 1틱값이 맞나요?
2024-11-09
844
글번호 185108