커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3746
글번호 230811
새벽에 님에 의해서 삭제되었습니다.
2020-04-16
2
글번호 137980
답변완료
문의드립니다.
1.
b=input(20, title="length")
de=input(2, title="deviation")
alp=2/(lb+1)
src=hlc3
mt=alp*src+(1-alp)*nz(mt[1])
ut=alp*mt+(1-alp)*nz(ut[1])
dt=((2-alp)*mt-ut)/(1-alp)
mt2=alp*abs(src-dt)+(1-alp)*nz(mt2[1])
ut2=alp*mt2+(1-alp)*nz(ut2[1])
dt2=((2-alp)*mt2-ut2)/(1-alp)
but=dt+de*dt2
blt=dt-de*dt2
plot(but, color=red, linewidth=2)
plot(dt, color=gray)
plot(blt, color=green, linewidth=2)
2.
lb=input(20, title="length")
de=input(2, title="deviation")
alp=2/(lb+1)
src=hlc3
mt=alp*src+(1-alp)*nz(mt[1])
ut=alp*mt+(1-alp)*nz(ut[1])
dt=((2-alp)*mt-ut)/(1-alp)
mt2=alp*abs(src-dt)+(1-alp)*nz(mt2[1])
ut2=alp*mt2+(1-alp)*nz(ut2[1])
dt2=((2-alp)*mt2-ut2)/(1-alp)
but=dt+de*dt2
blt=dt-de*dt2
bbw = (but-blt)/dt
plot(bbw, color=blue, linewidth=2)
변환 문의드립니다. 감사합니다.
2020-04-16
901
글번호 137979
답변완료
지표 및 시스템 수식전환
아래 키움수식을 예스 지표수식으로 전환 및 시스템 수식으로 전환부탁드립니다.
수식1
if(ma(c,period,이평종류)>=ma(c(1),period,이평종류),ma(c,period,이평종류),0)//상승
수식2
if(ma(c,period,이평종류)<ma(c(1),period,이평종류),ma(c,period,이평종류),0)//하락
지표조건설정
period 20
이평종류 단순
2020-04-16
914
글번호 137977
답변완료
오늘 몇번째 bar
안영하세요?
프로그램에서 오늘 몇번째 Bar 인지 구하는 함수나 수식이 필요 합니다
감사합니다.
2020-04-16
903
글번호 137976
답변완료
문의
진입시간과 진입제한시간에 대하여
2008년 1월 1일 ~ 2016년 7월 31일 까지
2016년 8월 1일 ~ 현재까지
2개로 구분하여 한 번에 시뮬레이션하고 싶습니다.
input : 진입시간(090000),진입제한시간(132000);
var : tcond(false);
if (sdate != sdate[1] and stime >= 진입시간) or
(sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간) Then
Tcond = true;
if (sdate != sdate[1] and stime >= 진입제한시간) or
(sdate == sdate[1] and stime >= 진입제한시간 and stime[1] < 진입제한시간) Then
Tcond = false;
if 진입수식 and Tcond == true then
2020-04-16
864
글번호 137975
답변완료
부탁드립니다.
감사합니다.
다시 한번 부탁드립니다.
TR3와 R3의 값이 StopTrailing, StopLoss 된 후 다음 바에 한번씩 만
표시될 수 있도록 부탁드립니다.
마지막 StopTrailing, StopLoss 된 값이 R3값이 반영되도록
StopTrailing, StopLoss 된 후 다음 바에 표시될 수 있도록 부탁드립니다.
input : 시작(40), 종료(50);
input : 손절(20),익절(15),익절하락(3);
input : P1(30), P2(120), p3(240);
input : StartTime(090000),EndTime(050000);
var : tt(0),tx(0),X(false),tx1(0),cnt(0),sum(0);
var: Tcond(false),ht(0),lcnt(0),trcnt(0),R(-1);
Array : XX[200](-1);
## 카운트3
var : tx3(0),cnt3(0),sum3(0),lcnt3(0),trcnt3(0),R3(-1), TR3(0), GR3(0);
Array : XX3[200](-1);
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
if TotalTrades >= 300 Then
value1 = 0.03;
else if 200 < TotalTrades and TotalTrades < 300 Then
value1 = 0.04;
else
value1 = 0.05;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
tt = 0;
X = false;
}
if Tcond == true then
{
if marketposition == 0 and crossup(var1,var2) Then {
if Condition3 == true then #### <-- 수정요청
buy("B1■");
Else
buy("B1");
}
if marketposition == 0 and crossdown(var1,var2) Then {
if Condition3 == true then #### <-- 수정요청
sell("S1■");
Else
sell("S1");
}
if marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then {
if Condition3 == true then #### <-- 수정요청
buy("B2■");
Else
buy("B2");
}
if marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then {
if Condition3 == true then #### <-- 수정요청
sell("S2■");
Else
sell("S2");
}
## 청산
if MarketPosition == 1 then
{
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then
{
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
}
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true then
{
lcnt3 = lcnt3+1;
XX3[0] = 0;
for cnt3 = 1 to 199
{
XX3[cnt3] = XX3[cnt3-1][1];
}
if Floor((trcnt3+lcnt3)*(value1)) > 1 then
{
sum3 = 0;
for cnt3 = 0 to Floor((trcnt3+lcnt3)*(value1))-1
{
if XX3[cnt3] == 1 Then
sum3 = sum3 + 1;
}
R3 = sum3/Floor((trcnt3+lcnt3)*(value1))*100;
}
}
if IsExitName("StopTrailing",1) == true then
{
trcnt3 = trcnt3+1;
XX3[0] = 1;
for cnt3 = 1 to 199
{
XX3[cnt3] = XX3[cnt3-1][1];
}
if Floor((trcnt3+lcnt3)*(value1)) > 1 then
{
sum3 = 0;
for cnt3 = 0 to Floor((trcnt3+lcnt3)*(value1))-1
{
if XX3[cnt3] == 1 Then
sum3 = sum3+1;
}
R3 = sum3/Floor((trcnt3+lcnt3)*(value1))*100;
}
}
TR3 = trcnt3/(trcnt3+lcnt3)*100 ;
}
if R3 <= 시작 and R3[1] > 시작 Then
Condition3 = true;
if Condition3 == true
and R3 >= 종료 and R3[1] < 종료 Then
Condition3 = false;
Text_Delete(tx3);
tx3 = Text_New(NextBarSdate,NextBarStime,H,NumToStr(TR3,1)+NewLine+NumToStr(R3,1));
Text_SetSize(tx3,15);
Text_Setstyle(tx3,2,20);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = false;
if MarketPosition == 1 Then
{
ExitLong("BE6");
}
if MarketPosition == -1 Then
{
ExitShort("SE6");
}
}
2020-04-16
880
글번호 137974
답변완료
67031 재질문 부탁 드립니다.(내용무)
.
2020-04-16
804
글번호 137973
답변완료
도와주세요~
중국상품선물거래시
딸러강약세 나 공급수요데이타를 시스템식에추가할수잇는방법은없을가요?
외부변수로해서 장시작전에입력하여세팅하는방법으로해야할같은데
어떻게코딩하면될가요?
Condition 함수로하면될듯한데
예시로 코딩툴 부탁합니다
필요한데이타2-3종류를입력하여
시스템식에추가할수잇게요
꼭 잘좀부탁합니다!
감사합니다
2020-04-16
774
글번호 137972
답변완료
시스템 수식전환 부탁
input:P1(10),P2(30);
var1=ma(C,P1);
var2=ema(C,P1);
var3=ema(ema(ema(C,P2),P2),P2);
Condition1=CrossUP(var1,var3) or CrossUp(var2,var3);
Condition2=CrossDown(var1,var3) or CrossDown(var2,var3);
if Condition1 ==true Then value1=c;
if value1>0 and C>value1 Then
value1=c;
if Condition2==true Then
value2=c;
if value2>0 and C<value2 Then
value2=c;
if value1>0 and value2>0 Then
value3=(value1+value2)/2;
plot1(value1);
plot2(value2);
plot3(value3);
<1>위 지표에서 PLOT3이 나타날 때(수평선이 그어질 때) 캔들이 PLOT3보다 위에있으면서 동시에 PLOT1에 캔들의 위꼬리나 캔들몸통(음봉)이 닿을 때 매도,
<2>PLOT3이 나타날 때(수평선이 그어질 때) 캔들이 PLOT3보다 아래에 있으면서 동시에 PLOT2에 캔들의 아래꼬리나 캔들몸통(양봉)이 닿을때 매수.
<3>일목균형표에서 전환선이 위 PLOT3처럼 나타날 때(수평선이 그어질 때)
캔들이 전환선보다 위에 있으면서 동시에 위 지표상 PLOT1에 캔들의 위꼬리나 캔들몸통(음봉)이 닿을 때 매도,
<4>일목균형표에서 전환선이 위 PLOT3처럼 나타날 때(수평선이 그어질 때)
캔들이 전환선보다 아래에 있으면서 동시에 위 지표상 PLOT1에 캔들의 아래꼬리나 캔들몸통(양봉)이 닿을 때 매수시스템 수식전환 부탁드립니다.
2020-04-16
789
글번호 137971