커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7899
글번호 230811
답변완료
수식작성 문의드립니다.
수고많으십니다.
만약 A종목 매수 B종목을 매도 했다고 가정하여,
두 포지션의 실시간 손익의 합을 확인하려고 하는데요.
차트 시작봉부터 연속적으로 누적손익이 계산되게 표현하는 방법이 있는지요.?
(가능하시다면.. 손익이 0이 되는 부분에 선하나 출력되게 해주시면 감사하겠습니다..:)
2021-03-25
877
글번호 147386
답변완료
수식추가 부탁드립니다.
안녕하세요?
아래수식2가지에 간단한 수식추가 부탁드립니다.
[1]과 [2]모두 이동평균선 2개 추가(외부변수)
현재방식그대로이되, 정배열에서 매도, 역배열에서 매수가 되게끔 하고싶습니다.
감사합니다.
[1]
input : 매수기준선(0.05),매도기준선(0.05),n(5);
input : 익절틱수(50),손절틱수(50),진입횟수(3);
var : BB(0),SS(0),BI(0),BC(0),SI(0),SC(0),entry(0);
if Bdate != Bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
BB = Floor(O)+0.05;
if O >= BB Then
BB = BB+1;
SS = Floor(O)+0.05;
if O <= SS Then
SS = SS-1;
if O < BB and C >= BB and C > O Then
{
BI = Index;
BC = C;
}
if O > SS and C <= SS and C < O Then
{
SI = Index;
SC = C;
}
if MarketPosition == 0 and BI > 0 and Index > BI and Index < BI+n and C > O and C == BC and entry < 진입횟수 Then
Buy();
if MarketPosition == 0 and SI > 0 and Index > SI and Index < SI+n and C < O and C == SC and entry < 진입횟수 Then
Sell();
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
[2]
input : n(5);
input : 익절틱수(50),손절틱수(50),진입횟수(3);
var : BB(0),SS(0),BI(0),BC(0),SI(0),SC(0),entry(0);
if Bdate != Bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if C > O then
{
var1 = C;
Var2 = var1[1];
Var3 = Index;
Var4 = Var3[1];
if MarketPosition == 0 and var1 == Var2 and Var3 <= Var4+n and entry < 진입횟수 Then
Buy();
}
if C < O then
{
var5 = C;
Var6 = var5[1];
Var7 = Index;
Var8 = Var7[1];
if MarketPosition == 0 and var5 == Var6 and Var7 <= Var8+n and entry < 진입횟수 Then
Sell();
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2021-03-24
879
글번호 147384
파워 님에 의해서 삭제되었습니다.
2021-03-24
11
글번호 147383
답변완료
부탁드립니다
ㄴㅇㄹ
2021-03-24
936
글번호 147382
답변완료
종목검색식 부탁할께요~
Input : Value(2.7), P1(36), P2(28), P3(5),StopPer(1);
Var: ChUp(0), ChDn(0), slowK(0), slowD(0), Bap(0);
setstoploss(StopPer);
ChUP = dayOpen()+(DayHigh(1)-DayLow(1))/Value;
ChDn = dayOpen()-(DayHigh(1)-DayLow(1))/Value;
slowK = stochasticsK(p1,p2);
slowD = stochasticsD(p1,p2,p3);
bap = (dayLow()+dayhigh())/2;
if CrossUp(slowK, slowD) then {var1 = C;var5 = 1;}
if CrossDown(slowK, slowD) then {var2 = C;var6 = 1;}
#buy/sell
if dayindex()==0 then {if H >= ChUP then buy(); if L <= ChDn then sell();
var5 = 0; var6 = 0;}
if C > (chUP+ChDn)/2 and accumN(iff(H>=ChUp,1,0),dayindex()+1)==0
and stime<143000 then buy("Buy",atstop,ChUP);
if C < (chUP+ChDn)/2 and accumN(iff(L<=ChDn,1,0),dayindex()+1)==0
&& stime<143000 then sell("Sell",atstop,ChDn);
#exitlong
if slowK < slowD and stime >=100000 and var6 == 1 then exitlong("EL1", atstop, var2-0.01);
if stime <= 100000 and marketposition(0)==1 then exitlong("EL2",atstop,L[dayindex()]);
if stime >=100000 and marketposition(0)==1 then
{exitlong("EL3",atstop,(dayOpen()+(ChUp))/2);exitlong("EL4",atstop,bap);}
if stime == 145000 then exitlong("EL5");
//exitshort
if slowK > slowD and stime >=100000 and var5 == 1 then
exitshort("ES1", atstop, var1+0.01);
if stime <= 100000 and marketposition(0)==-1 then
exitshort("ES2",atstop,H[dayindex()]);
if stime >= 100000 and marketposition(0)==-1 then
{ exitshort("ES3",atstop,(dayOpen()+(ChDn))/2);
exitshort("ES4",atstop,baP);}
if stime == 145000 then Exitshort("ES5");
2021-03-24
1083
글번호 147381
답변완료
수식 문의드립니다.
안녕하세요,수고많으십니다.
1.전월봉의 시가,고가,저가,종가를 나타내는 수식작성 부탁드립니다.
2.전년봉의 시가,고가,저가,종가를 나타내는 수식작성 부탁드립니다.
작성에 도움주심에 감사드립니다.환절기에 건강 유의하시고요,
2021-03-24
1247
글번호 147375
조하트 님에 의해서 삭제되었습니다.
2021-03-24
3
글번호 147374
답변완료
문의드립니다
매번 감사드립니다
아래식을 항셍장시작 한국시간 오전10시15분 기준 바꿔주세요
감사합니다
var : DH(0), DL(500); // DL:일중최고, DL:일중최고
DH=DayHigh(0);
DL=DayLow(0);
// 단기 피보나치 로그선그리기
plot1(DH,"일중 최고선");
plot2( 10^((LOG10(DH)-(LOG10(DH)-LOG10(DL))*0.236)),"단기 23.6선");
plot3( 10^((LOG10(DH)-(LOG10(DH)-LOG10(DL))*0.382)),"단기 38.2선");
plot4( 10^((LOG10(DH)-(LOG10(DH)-LOG10(DL))*0.500)),"단기 50선");
plot5( 10^((LOG10(DH)-(LOG10(DH)-LOG10(DL))*0.618)),"단기 61.8선");
plot6( 10^((LOG10(DH)-(LOG10(DH)-LOG10(DL))*0.764)),"단기 76.4선");
plot7(DL,"일중 최저선");
// MessageLog("요일 date[1] : % DayOfWeek(date[1]) : %",date[1],DayOfWeek(date[1]));
// MessageLog(" weeklyhigh : %,2f weeklylow: %,2f",DH,DL);
2021-03-24
1431
글번호 147369
답변완료
문의드립니다.
1.피보나치되돌림비율선에 대한 것입니다.
250일중 최저가와 최고가 사이의 되돌림비율선 설정에 대한 요청입니다.
가. 상승추세인 경우의 표시문제
- 최저가 발생일이 최고가 발생일보다 빠른 경우의 표시방법은 최저가을 100%, 최고가를
0%로 하고, 100%(최저가), 76.4%, 61.8%, 50%, 38.2%, 23.6%, 0%(최고가),최고가 위로
38.2%, 76.4%의 선이 표시되게 수식 요청드리며 각 선들에 대한 색상표시를 변동시킬
수 있게 해주세요.
나. 하락추세인 경우의 표시문제
- 최저가 발생일이 최고가 발생일보다 늦은 경우의 표시방법은 최저가을 0%, 최고가를
100%로 하고, 100%(최고가), 76.4%, 61.8%, 50%, 38.2%, 23.6%, 0%(최저가),최저가
밑으로 -38.2%, -76.4%의 선이 표시되게 수식 요청드리며 각 선들에 대한 색상표시를
변동시킬 수 있게 해주세요.
2. 20일이평선이 상향추세이고, 주가와의 이격율이 50%이상으로 한번이상 발생된 경우에
20일이평선라인, 최고가라인, 이평선과 최고가라인의 중심라인을 표시할 수 있는
지표수식을 부탁드립니다.
감사합니다.
2021-03-24
1393
글번호 147364