커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8135
글번호 230811
답변완료
시스템식 부탁드려요
input : P(60);
var1 = ma(C,P);
if crossup(C,var1) Then
buy();
if CrossDown(C,var1) Then
sell();
봉이 60이평선을 완전히 상향돌파시 매수,
봉이 60이평선을 완전히 하향돌파시 매도로 시스템식 부탁드려요.
크로스되는 거는 매수, 매도 흽소가 너무 많네요...
2016-01-08
180
글번호 94238
할수있따 님에 의해서 삭제되었습니다.
2016-01-08
2
글번호 94237
답변완료
부탁드립니다
수고하십니다
야간장 시가.고가.저가.종가 선 수식부탁드립니다
2016-01-08
184
글번호 94236
답변완료
45833번 답 주신거에 추가 질문 생겼습니다
만들어주신 수식중에
if crossup(H,var2) or CrossDown(L,var2)
에서 H,L 로 하는게 맞는지요? C로 해야되는거 아닌가 확인부탁드립니다
감사합니다
2016-01-08
165
글번호 94229
답변완료
지표식 하나 부탁드립니다.
항상 고맙고 미안합니다.
이평선을 기준으로 한 이격도 지표가 아닌 일목균형표상 구름층의 선행스팬1 대비 이격도 지표식을 부탁드립니다.즉,현재종가가 선행스팬1과 비교시 이격도가 얼마인지를 보여주는 지표식을 부탁드리는 것입니다.
2016-01-08
217
글번호 94226
답변완료
문의드립니다
var : Hv(0),MM(0);
if date != date[1] Then{
Hv = V;
MM = (H+L+C)/3;
}
if V > HV Then{
Hv = V;
MM = (H+L+C)/3;
}
plot1(MM);
위 식의 만들어주신것입니다
감사드립니다
추가하고십은것이 있습니다
위식은 당일최고거래량 봉의 고저종입니다
최고가 아닌 두번째로 많은거래량의 고+저+종/3 으로 부탁드립니다
2016-01-08
224
글번호 94223
답변완료
문의드립니다.
안녕하세요.
이평선에 글자를 넣을 수 있는지요?
20이평, 60이평 120이평을 넣고, 각 선에 20선, 60선, 120선 이라고 글자가 표시되게 할 수 있을까요?
글자위치는 현재캔들 기준 20봉전 이평선 위치에 표시되고,
글자 색깔도 서로 다르게 표시되게 하는 수식이 궁금합니다.
2016-01-08
189
글번호 94222
답변완료
수식요청드립니다.
안녕하세요.
아래 당일손실제한 무포지션 후 재진입조건에 시간적용만 추가요청 드립니다.
-> 당일손실제한 청산 후 1시간15분30초 부터 ~ 2시간20분50초 까지
재진입 손절 익절 청산 수식 적용으로 수정요청 드립니다.
감사합니다.
input : N(1),PN(2),당일손실(1.0),i증감(0.3),진입수량(1);
var : cnt(0),BCount(0),SCount(0);
var : NP(0),PreNP(0),DayPL(0),loss(0),v1(0);
var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0);
var : Bxcond(false),SxCond(false);
var : Xcond(false);
var : TT(0),KK(0),DD(0);
NP = NetProfit;
if date != date[1] Then{
preNP = NP[1];
Condition1 = false;
v1 = 0;
Xcond = false;
}
dayPL = NP-PreNP;
BCount = 0 ;
SCount = 0 ;
for cnt = 0 to 10 {
if EntryDate(cnt) == sdate and MarketPosition(cnt) == 1 then
BCount = BCount + 1;
if EntryDate(cnt) == sdate and MarketPosition(cnt) == -1 then
SCount = SCount + 1;
}
if Condition1 == false and TotalTrades > TotalTrades[1] Then{
Condition1 = true;
if PositionProfit(1) > 0 Then
v1 = PositionProfit(1);
}
//-------------------------------------------------------------------------
//추가진입인 BB가 아닐때만 발동
if MarketPosition == 1 and IsEntryName("BB") == false Then{
ExitLong("당일손실제한bx3",AtStop,avgEntryPrice-(당일손실+(dayPL-v1))/CurrentContracts);
}
//추가진입인 SS가 아닐때만 발동
if MarketPosition == -1 and IsEntryName("SS") == false Then{
ExitShort("당일손실제한sx3",AtStop,avgEntryPrice+(당일손실+(dayPL-v1))/CurrentContracts);
}
//------------------------------------------------------------------------------------------------------
#피라미딩
if MarketPosition == 1 and Bxcond == false and Xcond == false Then
Buy("PBB",atlimit,LatestEntryPrice(0)+i증감,진입수량);
if MarketPosition == -1 and Sxcond == false and XCond == false Then
sell("PSS",atlimit,LatestEntryPrice(0)-i증감,진입수량);
//-----------------------------------------------------------------------------------------------------
#당일손실제한 청산이 발생하면 Xcond는 true로 변경
if MarketPosition == 0 and
TotalTrades > TotalTrades[1] and
(IsExitName("당일손실제한sx3",1) == true or IsExitName("당일손실제한bx3",1) == true) Then
Xcond = true;
#추가진입
#무포지션이고 Xcond가 true이고
#직전청산이 당일손실제한일때만 발생
if MarketPosition == 0 and Xcond == true and
(IsExitName("당일손실제한sx3",1) == true or IsExitName("당일손실제한bx3",1) == true) Then{
if Crossup(ma(c,10),ma(C,20)) Then
Buy("BB",AtMarket);
if CrossDown(ma(C,10),ma(C,20)) Then
Sell("SS",AtMarket);
}
#BB진입에 대한 청산
if MarketPosition == 1 and IsEntryName("BB") == true Then{
ExitLong("BL1",AtStop,avgEntryPrice-0.5);
ExitLong("BP1",AtLimit,avgEntryPrice+1.0);
}
#SS진입에 대한 청산
if MarketPosition == -1 and IsEntryName("SS") == true Then{
ExitShort("SL1",AtStop,avgEntryPrice+0.5);
ExitShort("SP1",AtLimit,avgEntryPrice-1.0);
}
//------------------------------------------------------------------------------------------------------
2016-01-08
188
글번호 94219
답변완료
수식 검토 부탁드립니다
항상 도움을 주셔서 감사를 드립니다.
얼마전 아래와 같이 수식을 만들어 주셨는데.. 제가 원했던 거하고 수식이 맞지가 않는 것 같습니다
기본적으로 첫번째 매수는 전일 시가와 종가의 평균가격을 산정하고
그 평균가격보다 2% 높은 가격을 1차 매수, 평균가격을 2차매수, 평균가격보다 2% 낮은 가격대가 3차매수인데..
당일 전일 종가보다 겝상으로 시작해서 1차 매수가격 이하로 진입하면 1차 매수가 되게 할려면
buy("b1",AtStop,var1*1.02,Floor(금액/C)); 에서 AtStop이 아니라 atlimit이 사용되야 하지 않나 싶습니다.
그러니까 첫번재 전제조건은 전일 종가보다 겝상승으로 시작해야 하며, 겝상승이후에 밀려서 첫번째 가격조건 이하로 진입하면 즉시 매수하는 것입니다.(봉완성 아님)
부탁드립니다 ^^
========================================================
안녕하세요
예스스탁입니다.
기준일 이후로 신호가 발생하게 작성했습니다.
기준일만 발생하고자 하시면
sdate == 기준일 로 변경하시면 됩니다.
진입을 누적하므로 적용시 시스템 트레이딩 설정창에서
피라미딩을 다른 진입신호만 허용으로 설정하고 적용하시면 됩니다.
input : 금액(5000000),기준일(20151218);
var1 = (DayOpen(1)+DayClose(1))/2;
if sdate >= 기준일 then{
if MarketPosition == 0 and NextBarOpen >= var1*1.02 Then
buy("b1",AtStop,var1*1.02,Floor(금액/C));
if MarketPosition == 1 and MaxEntries < 3 Then{
if NextBarOpen >= var1 Then
buy("b2",AtStop,var1,Floor(금액/C));
if NextBarOpen >= var1*0.98 Then
buy("b3",AtStop,var1*0.98,Floor(금액/C));
if MaxEntries == 1 Then
ExitLong("BP1",atlimit,AvgEntryPrice*1.02);
if MaxEntries == 2 Then
ExitLong("BP2",atlimit,AvgEntryPrice*1.015);
if MaxEntries == 3 Then{
ExitLong("BP3",atlimit,AvgEntryPrice*1.01);
ExitLong("Bx",AtStop,LatestEntryPrice(0)*0.97);
}
}
}
2016-01-08
192
글번호 94218