커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7255
글번호 230811
답변완료
수식
안녕하세요.
주간장 기준으로 피봇,지지5개,저항5개을 복합장챠트에 넣고 싶습니다.
감사합니다.
2018-03-12
257
글번호 117307
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2018-03-12
5
글번호 117302
답변완료
진입시간 제어
아래수식에 대해
진입과 진입제한 시간을 조절하는 input 수식을 추가바랍니다.
-진입시간은 입력시간부터 장시작으로 인식
-진입제한은 일정시간 이후 진입을 제한
항상 고맙습니다.
*************************
Input : Period(15), ADXRange(40),N(3);
Var : PDI(0), MDI(0), ADXV(0), HADX(0), FixADX(0);
var : T1(0), entry(0);
PDI = Diplus(Period);
MDI = DIMinus(Period);
ADXV = ADX(Period);
HADX = Highest(ADXV, DayIndex+1);
# AøAO
If bDate <> bDate[1] Then{
FixADX = HADX[1];
T1 = TotalTrades;
}
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
If FixADX < ADXRange and ADXV > ADXV[2] and entry < N Then {
If PDI > MDI and C > DayOpen +0.20 and Bids > asks Then Buy();
If PDI < MDI and C < DayOpen -0.35 and Bids < Asks Then Sell();
}
# A≫≫e
If PDI < MDI Then ExitLong();
If PDI > MDI Then ExitShort();
2018-03-12
275
글번호 117300
답변완료
질문드립니다.
당일 첫캔들부터 지금까지 a조건이었다면
매수
2018-03-12
240
글번호 117299
답변완료
문의 드립니다
아래의 수식에
매수 진입시 -100틱이 떨어지면 전체 손절이 나가고 무포지션으로
매도 진입시 +100틱이 오르면 전체 손절이 나가고 무포지션으로 되는 수식을
추가로 부탁 드립니다
var1 = ma(C,5);
var2 = ma(C,10);javascript:OnWrite();
var3 = ma(C,20);
Condition1 = var1 > var2 and var2 > var3;
Condition2 = var1 < var2 and var2 < var3;
if Condition1 == true and Condition1[1] == false then
buy("b",OnClose,def,4);
if Condition2 == true and Condition2[1] == false then
sell("s",OnClose,def,4);
if MarketPosition == 1 then{
ExitLong("bp1",atlimit,EntryPrice+PriceScale*100,"",1,1);
ExitLong("bp2",atlimit,EntryPrice+PriceScale*200,"",1,1);
ExitLong("bp3",atlimit,EntryPrice+PriceScale*300,"",1,1);
if highest(H,BarsSinceEntry) >= EntryPrice+4.99 Then
exitlong("btr",AtStop,highest(h,BarsSinceEntry)-0.01,"",1,1);
if CrossDown(var1,var3) Then
exitlong("bx");
}
if MarketPosition == -1 then{
ExitShort("sp1",atlimit,EntryPrice-PriceScale*100,"",1,1);
ExitShort("sp2",atlimit,EntryPrice-PriceScale*200,"",1,1);
ExitShort("sp3",atlimit,EntryPrice-PriceScale*300,"",1,1);
if Lowest(L,BarsSinceEntry) <= EntryPrice-4.99 Then
ExitShort("str",AtStop,Lowest(l,BarsSinceEntry)+0.01,"",1,1);
if CrossUp(var1,var3) Then
ExitShort("sx");
}
2018-03-11
242
글번호 117298
답변완료
극대대대, 극대대, 극소소, 극소소소
var: lmax(0),lmin(0),llmax(0),llmin(0);
plot1(ema(c,8),"8ema");
plot2(ema(c,21),"21ema");
plot3(ema(c,55),"55ema");
plot4(ema(c,144),"144ema");
lmax=localmax(h);
lmin=localmin(l);
llmax=localmax(lmax);
llmin=localmin(lmin);
var1=localmax(llmax);
var2=localmin(llmin);
plot10(var1,"극대대대");
plot11(llmax,"극대대");
plot12(lmax,"극대");
plot13(lmin,"극소");
plot14(llmin,"극소소");
plot15(var2,"극소소소");
--------------
input: argum(numericseries);
var: t(0);
#극대
if argum > argum[1] Then
T = 1;
if argum < argum[1] Then
T = -1;
if T == -1 and T != T[1] Then
localmax = argum[1]; #극대.
--------------------
input: argum(numericseries);
var: t(0);
#극대
if argum > argum[1] Then
T = 1;
if argum < argum[1] Then
T = -1;
if T == 1 and T != T[1] Then
localmin = argum[1]; #극소.
상기 차트는 위 코드를 이용하여 만든 차트입니다. 여기서 한 가지 수정하고 싶은 것은 극대대대, 극대대, 극소소, 그리고 극소소소의 수치를 차트 내에, 파동의 극점들에 나타나게 하고 싶습니다. 도움을 요청합니다. 현재는 차트 밖의 y축에 나타나는데, 그것보다 차트 내에 나타내면 파동의 수치를 보다 직접적으로 볼 수 있을 것 같습니다. 파동도 보다 쉽게 읽을 수 있고요. 부탁드립니다.
2018-03-11
365
글번호 117297
답변완료
수식부탁드립니다.
수식부탁드립니다.
미리 감사드립니다.
10 분봉 당일청산용 입니다.
당일 crossdown ( ma(c,5), ma(c,20) ) 처음 발생하고 ==> (첫봉은 제외)
처음 crossdown 발생시까지 ma(c,5) 값중 최고값 => (첫봉 포함)
ma(c,50)이 위값을 돌파하면 매수
2018-03-11
257
글번호 117296
답변완료
수식 수정 부탁드립니다.
안녕하세요?
Data1에는 120틱챠, Data2에는 30분, Data3에는 120분, Data4에는 일봉을 배치 하였습니다.
Data2의 30분이평선이 하락중일때, 가격이 30분이평선을 위로돌파했다가 아래로떨어지면 검은색 강조봉을, 반대로 30분이평선이 상승중일때 가격이 30분이평선을 아래로 돌파했다가 위로 올라가면 빨간색강조봉을 표시하려고합니다.
그래서 식을 만들어 보았는데 방법을 잘 모르겠습니다.
수정 좀 부탁드립니다.
참고로 첨부파일은 호주달러챠트입니다.
==============================
Var1 = Data2(ma(c,20));
If Var1[0] <= Var1[1] and C > Var1 Then
PlotPaintBar(H,L,"30분이평강조",BLACK);
If Var1[0] >= Var1[1] and C < Var1 Then
PlotPaintBar(H,L,"30분이평강조",RED);
2018-03-11
317
글번호 117295
답변완료
부탁 드립니다.
도움주심에 감사 드립니다.
다음 실행수식의 결과를 그림과 같이 나타 내고 십습니다.
미리 감사 드립니다.
실행수식)
input:시작일자(20180309),시작시간(080000);
input :sig(5);
var:cond15(false);
if bdate != bdate[1] Then
var4 = 0;
var1 = iff(C>O,V,0);
var2 = iff(C<O,V,0);
var3 = var1-var2;
var4 = var4+var3;
var5=ema(var4,sig);
if sdate == 시작일자 and (stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간)) then{
cond15 = TRUE;
}
if sdate == 20200301 and (stime == 070000 or (stime > 070000 and stime[1] < 070000 )) Then
Cond15 = false;
if cond15 == TRUE then{
plot1(Var5,"지표");
PlotBaseLine1(0,"0");}
참고수식)
input : 지정일(20180309),지정시간(080010);
input : sig(5);
var : g1(0),g2(0),x(0),b(0),y(0),b2(0),ep(0);
Ep = 2/(sig+1);
g1=iff(c>o,v,0);
g2=iff(c<o,v,0);
x=g1-g2;
b=b+x;
var91=지정시간;
if Condition1 == false and
bdate == 지정일 and (stime == var91 or (stime > var91 and stime[1] < var91)) then
Condition1 = true;
if Condition1 == true then
{
if Condition1[1] == false then
{
b2 = b[1];
y = b-b2;
var1 = y;
}
else
{
y = b-b2;
var1 = y * EP + var1 * (1-EP);
}
}
plot1(var1);
PlotBaseLine1(0);
2018-03-11
306
글번호 117294