커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5503
글번호 230811
답변완료
항상 수고가 많으십니다. 시스템 작성좀 도와주세요
저는 스톡으로 선을 만들어 사용하고있습니다. 기존식은 아래에 있는데 볼린져 벤드를 덧붙여 매매를 하고 싶습니다.
기존 매매 로직
input : Period11(1),Period12(2),Period13(3);
input : Period21(4),Period22(5),Period23(6);
input : Period31(7),Period32(8),Period33(9);
var : SMI1(0),SMI2(0),SMI3(0),Bcond(false),Scond(false);
SMI1 = SMI(Period11,Period12,Period13);
SMI2 = SMI(Period21,Period22,Period23);
SMI3 = SMI(Period31,Period32,Period33);
Bcond = SMI1 > SMI2 and SMI2 > SMI3 and SMI3 ;
Scond = SMI1 < SMI2 and SMI2 < SMI3 and SMI3;
if Bcond == true and Bcond[1] == false Then
buy();
if Scond == true and Scond[1] == false Then
sell();
매수 신호 : 위 식에서 매수신호 조건이 만들어지고 단가가 볼린져 밴드 하단에 왔을때 매수 진입
매수 청산 : 위식 매수진입후 볼린져 밴드 상단에서 청산
매도 신호 : 위 식에서 매도신호 조건이 만들어지고 단가가 볼린져 밴드 상단에 왔을때 매도 진입
매도 청산 : 위식에서 매도 진입후 볼린져 하단에서 청산
환절기니 감기조심하시고 항상 건강하십시요~
2019-10-12
155
글번호 132722
답변완료
피라미딩 설정에 관하여
피라미딩에 모든 진입 신호 허용 가능하게 설정하고서
buycnt = 0;
If (sTime >= t1 and sTime < t2) Then
{
if (MarketPosition == 0) and (조건1) and (buycnt = 0) Then
{
Buy();
buycnt = 1;
}
if buycnt = 1 Then
{
Buy();
buycnt = 2;
}
if buycnt = 2 Then
{
Buy();
buycnt = 3;
}
}
이렇게 해서 5분봉차트에 실행시킨다면
첫번째, 두번째, 세번째 매수가 동시에 실행이 되는지
아니면 5분간격으로 순차적으로 실행이 되는지 궁금합니다.
그리고, 두번째 세번째 buycnt 앞에 모두 C > C[1] 조건을 넣는다면,
조건을 만족하면, 동시에 주문이 가가는 건지,
아니면 5분간격으로 순차적으로 주문이 나가는지 궁금합니다.
필요한 기능은
처음 주문후 5분간격으로 추가 매수 또는 5분간격으로 조건만족(C > C[1])시
추가주문을 마치고
if (marketposition == 1) and (조건2) and (buycnt = 3) then
{
sell ();
}
이렇게 매도 주문을 내고 싶습니다.
부탁드립니다.
2019-10-11
187
글번호 132721
답변완료
지표 질문이 있습니다.
전일시가 ,전일고가 ,전일저가
당일시가, 당일고가, 당일저가 를
yesglobal에서 표시할수잇는 방법이 있을까요?
nh선물 어플에서는 설정에 표시할수잇게 되어있던데 이것이 궁금합니다.
2019-10-11
191
글번호 132720
파일럿 님에 의해서 삭제되었습니다.
2019-10-11
0
글번호 132717
답변완료
질문드립니다.
캔들이 양봉이든 음봉이든 관계없이 몸통보다 아랫꼬리가 긴 캔들에 페인트바 부탁드립니다.
2019-10-11
203
글번호 132716
답변완료
해머형 해석
이 부분 해석부탁드립니다.
UpTail = H-Max(C,O);
DnTail = Min(C,O)-L;
Body = Abs(C-O);
Height = H-L;
#망치
If UpTail < Height*0.1 and DnTail > Body*2 and
Height > Ma(Height,10) and C != O Then
Condition1 = true;
Else
Condition1 = false;
***********************************************************************
안녕하세요
예스스탁입니다.
봉패턴은 생각하시는 조건과 다를수 있으므로
수식 내용을 확인하시기 바랍니다.
input : 망치형(3),역망치형(3);
Var : UpTail(0),DnTail(0),Body(0),Height(0);
UpTail = H-Max(C,O);
DnTail = Min(C,O)-L;
Body = Abs(C-O);
Height = H-L;
#망치
If UpTail < Height*0.1 and DnTail > Body*2 and
Height > Ma(Height,10) and C != O Then
Condition1 = true;
Else
Condition1 = false;
#역망치
if DnTail < Height*0.1 and UpTail > Body*2 and
Height > Ma(Height,10) and C != O Then
Condition2 = true;
Else
Condition2 = false;
if bdate != bdate[1] Then
{
var1 = 0;
var2 = 0;
}
if Condition1 == true then
{
var1 = var1+1;
if var1 == 망치형 Then
buy();
}
if Condition2 == true then
{
var2 = var2+1;
if var2 == 역망치형 Then
sell();
}
2019-11-01
192
글번호 132715
답변완료
수식부탁합니다.
수고에 항상 감사드립니다.
아래의 수식을 일봉에서 주봉의 지표를 적용시켜서 볼수 있게 수식부탁드립니다.
Input : Period(9);
var : Relative(0);
Relative = RSI(Period);
Plot1(Relative, "RSI");
PlotBaseLine1(30, "기준선 30");
PlotBaseLine2(70, "기준선 70");
PlotBaseLine3(50, "기준선 50");
2019-10-11
190
글번호 132707
답변완료
질문 입니다
키움 수식인데 변경좀 부탁 드립니다
Sto = StochasticsK(sto1,sto2);
sh=highestsince(1,crossup(sto,80),ma(c,20));
sl=lowestsince(1,crossdown(sto,20),ma(c,20));
2019-10-11
173
글번호 132696
답변완료
안녕하세요
아래식에서 매매횟수를 5 회로 한정할수있게 인풋으로 부탁합니다
input : starttime(100000),endtime(050000);
input : P1(5),P2(20);
input : 익절틱수(50),손절틱수(50);
Input : 당일수익틱수(80),당일손실틱수(80);
var : Tcond(false);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
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("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
Xcond = false;
N1 = NetProfit;
}
var1 = ma(C,P1);
var2 = ma(C,P2);
if Tcond == true then
{
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
if Xcond == false then
{
if crossup(var1,var2) Then
buy("b");
if CrossDown(var1,var2) Then
sell("s");
}
if MarketPosition == 1 then{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2019-10-11
161
글번호 132695