커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3593
글번호 230811
답변완료
진입횟수제한 수식한번 봐주세용
count = 0;
For value1 = 0 to 10
{
if EntryDate( value1 ) == sdate then
Count = Count + 1;
}
현재 이 식으로 진입횟수를 제한하려고 해보았는데요 제가 원하는 방식이 아닌것같아요
진입식을 A 라고 하고 A 로 인한 매수신호가 하루에 총 15회 발생했다고 하면 10개까지만
진입하고 이후 5개는 무시하는것을 만들고싶었는데요
위에 식은 (진입 and 모든포지션청산) 이 되는 시점을 count 하는것같아요 저는 청산은 신경안쓰고 오로지 진입식을 하루 총 10회 하도록 하고싶어요
2020-11-22
661
글번호 144102
답변완료
자동정정 분할주문의 YL화
YL 시스템 식만 사용하다가,
'[2106]자동정정 분할주문' 이라는 주문으로 청산을 했는데, 이 기능이 마음에 들어서
사용해보려고 합니다.
Q1.'자동정정 분할주문' 의 기능중
<청산조건 만족시,100주를 1분간격으로 10주씩 분할청산> 기능과 같은
수식을 작성하고자 합니다. 저는 시스템식을 주로 30분봉을 사용합니다. 아래와 같은 수식을 활용시, 30분간격으로만 청산이 진행될 것 같네요..
(아니면, 혹시 시스템식과 "자동정정 분할주문"과 연계해서 청산 방법은 없을지요?)
if TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+1 Then
exitlong()
Q2. 차트에서 매매 tab에 [2105]예스자동정정 원샷주문과 연계해서 주문이 가능한데,
어떨땐 이설정이 보이다가 안보이가 하는 것 같네요.
자동주문과, 경보후 주문에서만 보이고, 시험적용시에는 사라지는 것 같은데, 맞나요?
2020-11-22
665
글번호 144101
답변완료
분봉에서..
안녕하세요?
지난번 변환된 값들을 너무 잘 쓰고 있습니다.
항상 감사드립니다.
한번 더 요청드립니다.
분봉에서 일봉, 주봉의 파라볼릭 값을 얻고 싶은데 가능할까요?
감사합니다!!
2020-11-22
700
글번호 144100
joey 님에 의해서 삭제되었습니다.
2020-11-22
2
글번호 144099
답변완료
질문드립니다.
안녕하세요. 다음 조건의 수식을 부탁드립니다.
1조건
a라는 변수선이 a[1]보다 작거나 같은 상태를 연속으로 최소 20개봉 이상 유지하는 조건에서 현재가 c가 a보다 높아지는 경우가 발생하면 그때부터 C[1]시점의 a선값을 수평선으로 그려나간다.
2조건
b라는 변수선이 b[1]보다 크거나 같은 상태를 연속으로 최소 20개봉 이상 유지하는 조건에서 현재가 c가 b보다 작아지는 경우가 발생하면 C[1]시점의 b선값을 수평선으로 그려나간다.
두 조건에서 그려지는 수평선은 번갈아가면서 발생한다. 즉 1조건으로 그려지는 수평선이 2조건이 발생하면 사라지고 2조건이 그려지다 다시 1조건이 발생하면 1조건 선이 그려지는... 반복되는 패턴으로요
위 조건에서 수식부탁드립니다.
2020-11-23
708
글번호 144098
답변완료
부탁드려요~
안녕하세요 아래 답변 잘 받았습니다.
주말동안 스터디해서 예스스팟으로 전략을 작성했는데,, 검증이 안되내요.
부탁드리겠습니다
var cnt = 0;
function Main_OnStart()
{
Main.MessageLog("시작");
}
function Main _OnRiseSignal(Chart1,Signal) <- Chart1 완성시 시그널
{
if (var1==5 <- 시초 봉 5개 완료 후 진입
&&countif(GetClose <0 ,5)>=3 <- 시초 봉 5개 중 음봉 3개 이상 일때 진입
&& GetLow < GetLow(1) <- 진전봉의 저가 보다 이번봉의 저가가 낮을떄
&& GetClose <0 <- 음봉으로 종료
&& cnt=0)
{
cnt=1;
Main.OrderSell(Account_001, KQ150.code, 10 ,KQ150.Ask(1), 0);
Main.MessageLog("매도진입");
}
}
function Main_OnRiseSignal(Chart1,Signal)
{
if( GetClose >0 <-종가가 양봉으로 끝나고
&& GetHigh > GetHigh(1) <-직전 고가 보다 이번 고가가 높게 끝났을때
&& cnt=1)
{
cnt=0;
Main.OrderBuy(Account_001, KQ150.code, 10 , KQ150.Bid(1), 0);
Main.MessageLog("매도청산1");
}
}
function Main_OnRiseSignal(Chart1,Signal)
{
if( GetHigh(BarSinceEntry) < GetClose <- 진입 봉의 고가 보다 높은 종가로 끝나면 매도 청산
&& cnt=1)
{
cnt=0;
Main.OrderBuy(Account_001, KQ150.code, 10 , KQ150.Bid(1), 0);
Main.MessageLog("매도청산2");
}
}
AA= Account_001.GetTotalAvgCost(2,1) <- 선물, 매도포지션 계좌 평균 단가
BB= GetBid(KQ150,1) <- KQ150 종목의 매수 1호가
CC= BB/AA <- 스탑트레일링을 매수상대1호가 대비 계좌 평단가로 작성하고 싶습니다.
StopTrailing(0.2, 0.5, CALCMETHOD_PERCENT, 0) < CC를 수익률로 적용
StopEndOfDay (151500) <- 마지막 봉에 청산
2020-11-22
951
글번호 144097
답변완료
진입제한
우선, 감사합니다.
if Condition1== false and STIME>=ST1 and stime <=st2 and c>=p1*in1 AND C< p1*in1+in2 then buy("b2",onclose);
위의 조건으로 진입 후 청산(손절매,목표수익달성)된 다음에는 당일에는 동일 조건이 되어도 진입을 제한하는 수식은 어떻게 되는지요?
감사합니다.
2020-11-22
894
글번호 144096
답변완료
진입제한
우선, 감사합니다.
if Condition1== false and STIME>=ST1 and stime <=st2 and c>=p1*in1 AND C< p1*in1+in2 then buy("b2",onclose);
위의 조건으로 진입 후 청산(손절매,목표수익달성)된 다음에는 당일에는 동일 조건이 되어도 진입을 제한하는 수식은 어떻게 되는지요?
감사합니다.
2020-11-22
836
글번호 144095
답변완료
진입 제한 예제 부탁드립니다.
다음과 같이 여러 개의 시스템이 합쳐져 있는 시스템에서 진입 제한 예제 부탁드립니다.
테스트를 위한 시스템 예제 기본 구성
// 매수식
if MarketPosition==0 && sTime>093000 && sTime<140000
Then
{
if C>DayOpen*1.01 && C>O Then Buy("매수진입1",AtMarket,def,1);
if C>DayOpen*1.01 && C>C[1] && C>C[2] Then Buy("매수진입2",AtMarket,def,1);
}
// 매수청산식
if MarketPosition==1 Then SetStopEndofday(150000);
if MarketPosition==1 && C>EntryPrice*1.01 Then ExitLong("매수익절",AtMarket);
if MarketPosition==1 && C<EntryPrice*0.99 Then ExitLong("매수손절",AtMarket);
// 매도식
if MarketPosition==0 && sTime>093000 && sTime<140000
Then
{
if C<DayOpen*0.99 && C<O Then Sell("매도진입1",AtMarket,def,1);
if C<DayOpen*0.99 && C<C[1] && C<C[2] Then Sell("매도진입2",AtMarket,def,1);
}
// 매도청산식
if MarketPosition==-1 Then SetStopEndofday(150000);
if MarketPosition==-1 && C<EntryPrice*0.99 Then ExitShort("매도익절",AtMarket);
if MarketPosition==-1 && C>EntryPrice*1.01 Then ExitShort("매도손절",AtMarket);
질문1
매수진입, 매도진입 각각 하루에 한번만 진입 허용하는 시스템
질문2
매수진입, 매도진입 각각 따로
매수진입에서 이익 발생시 추가 진입금지하고 손실 발생시 1회 더 추가 진입 허용하고
매도진입에서 이익 발생시 추가 진입금지하고 손실 발생시 1회 더 추가 진입 허용하는 시스템
질문3
매수진입 매도진입 관계없이 전체 시스템이 이익이 발생하면 진입금지하고 손실 발생시에만 1회 더 추가 진입 허용하는 시스템
질문4
매수진입 매도진입 관계없이 전체 시스템이 손실이 발생하면 진입금지하고 이익 발생시에만 1회 더 추가 진입 허용하는 시스템
항상 감사합니다.
2020-11-22
668
글번호 144094