커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7699
글번호 230811
답변완료
재문의
기존 문의 내용인데요.. 새로 작성하는게 빠를거 같아서 다시 문의 드립니다.
일단 수식 감사합니다.
작성해주신 수식에 매수청산 매도 청산 신호가 없어서 제가 넣었는데요..(아래 수식)
이렇게 넣는게 맞는지요.
1. 설정창에서 손절 0.4pt, 최대수익 0.4pt 이상 0.4pt밀리면 청산하도록 하였는데요..
이 설정에 도달하지 못하고 반대신호가 나오면 현재 포지션 청산하고 반대신호 진입
하여야 하는데 현재 포지션 청산이 안되고 반대신호 진입만 되게 표시 되내요..
2. 매수/매도 진입 수식중 시가 < 종가, 또는 시가 > 종가 일때 십자형, T자형 이런
캔들에서는 매수/매도 신호가 발생하면 안되는데 신호 발생하내요..
제가 잘못 알고 있는것인가요? 어떻게 수식을 넣어야 신호가 발생하지 안을까요?
3. 누적 수익금 변경을 할려면 어떤 수식을 변경하면 되나요?
(변경할 숫자가 틱인지 pt 인지요)
if count == 0 or MarketPosition == -1 or (count >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) Then{
if L > ma(c,20) and O < C Then
buy("사자",AtMarket);
if H < ma(C,20) and O > C Then
ExitLong("매수청산",AtMarket);
}
if count == 0 or MarketPosition == 1 or (count >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) Then{
if H < ma(C,20) and O > C Then
Sell("팔자",AtMarket);
if L > ma(c,20) and O < C Then
ExitShort("매도청산",AtMarket);
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식문의
> 안녕하세요
예스스타입니다.
input:하루이익(1),하루손실(1);
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),cnt(0),count(0);
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
count = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) Then
count = count+1;
}
PLR = 0;
count = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) Then
count = count+1;
if sdate == EntryDate(cnt+1) Then
PLR = PLR+PositionProfit(cnt);
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
if count == 0 or MarketPosition == -1 or (count >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) Then{
if L > ma(c,5) and O < C Then
buy("b",AtMarket);
}
if count == 0 or MarketPosition == 1 or (count >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) Then{
if H < ma(C,5) and O > C Then
Sell("S",AtMarket);
}
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(하루손실)-(PLR)));
ExitLong("bx2",AtLimit,EntryPrice+((하루이익)-(PLR)));
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((하루손실)+(PLR)));
ExitShort("sx2",AtLimit,EntryPrice+(-(하루이익)+(PLR)));
}
SetStopEndofday(150400);
경보음은 시스템 적용할 때 나타나는 시스템 트레이딩 설정창의
매매탭 하단의 경보음 설정에서 하시면 됩니다.
즐거운 하루되세요
> 고수날다 님이 쓴 글입니다.
> 제목 : 수식문의
> 아래내용과 같이 시스템식을 만들고 싶습니다. 부탁드립니다.
1. 진입조건
매수 진입(조건만족 다음봉 시가에매수)
저가가 >5 이동평균 이고, 시가<종가인 양봉
매수청산(조건만족 다음봉 시가에매수)
고가가 < 5이동평균 이고, 시가 >종가인 음봉
매도 진입(조건만족 다음봉 시가에매수)
고가가 < 5이동평균 이고, 시가 >종가인 음봉
매도 청산(조건만족 다음봉 시가에매수)
저가가 >5 이동평균 이고, 시가<종가인 양봉
2. 재진입
시스템 설정창에서 손익 청산하도록 할건데요. 각 포지션에서 청산후 반대신호
일때만 재진입
3. 누적 수익청산
상기 신호를 계속 수행하다가 누적 수익이 ± 1pt면 강제청산하고 더 이상 진입을
하지 않음
4. 당일 청산
당일 15:04분에 강제 청산
하루 매매가 1~ 40회정도 됩니다.
상기 식에서 매수/매도 신호발생하면 소리를 낼수 있도록 하고싶은데요 가능할까요
(ex: 매수신호발생,매도신호발생 이런식으로요.. 소리재생 파일은 있습니다)
2011-10-13
503
글번호 43678
답변완료
질문
if 조건 then buy();
이런 매수식에다가 오전 9시부터 14시50분 까지만 매매 신호만 나오게 할려면
어떻게 해야하나요
2011-10-13
490
글번호 43675
답변완료
시스템 모니터
안녕하세요 아래 질문 답변 잘 보았습니다
그런데 시스템 모니터에 예비신호란을 찾을수가 없네요 ㅠㅠ
자세히 아니면 캡쳐라도 해주시면 고맙겠습니다^^
아 글고 시험운영중에는 예비신호가 시스템 모니터에 나타나지 않나요?
<<<아래 질문내용입니다???
안녕하세요
예스스탁입니다.
시스템 모니터의 상단 항목중에 예비신호호란이 있습니다.
차트상 예비신호가 발생하면 해당 내용이 표시가 되고 있습니다.
즐거운 하루되세요
> 초보트레이 님이 쓴 글입니다.
> 제목 : 시스템 신호
> 안녕하세요
1분봉기준으로 시스템 신호가 1분이 지나야 신호가 발생하여 표기가
되는 걸로 알고 있습니다
그런데 1분봉의 시간중에도 기준에 맞으면 꽉차지 않은 예비신호가
표기가 되는 것으로 알고 있습니다
1분봉 진행중에 표기되는 신호를 시스템모니터에 남기게 할순 없는지요?
수고하세요^^
2011-10-13
466
글번호 43670
답변완료
수식 작성 도움 부탁드립니다.
- 풋 매도
진입조건 : 풋이 시가 아래
선물 300틱 차트 시가 위
선물 300틱 차트 20이평 위
선물미결 1000개 이상
개인 콜>풋 (계약수 기준)
진입시기 : 3분후 2개 진입
청산 : 1차 300틱 차트 20이평 하락돌파봉 1개 청산
풋이 시가 상승 돌파봉 전량 청산
오후 3시 전량 청산
- 콜 매도
진입조건 : 콜이 시가 아래
선물 300틱 차트 시가 아래
선물 300틱 차트 20이평 아래
선물미결 1000개 이상
개인 콜<풋 (계약수 기준)
진입시기 : 3분후 2개 진입
청산 : 1차 300틱 차트 20이평 상승돌파봉 1개 청산
콜이 시가 상승 돌파봉 전량 청산
오후 3시 전량 청산
2011-10-13
447
글번호 43668
답변완료
질문드립니다.
1차매수후 매도부분인데요.
식이 4%달성후 반절매도 10%달성후 나머지 전부매도
4%갔다가 2.5%로 떨어지면 전부 매도
6%갔다가 4.5% 로 떨어지면 전부 매도 인데요..
이런식을
계속 올라가기만 하면 매도가 안일어나고 10%에서 전부 매도가 나게 하고 싶습니다.
거기에다가 4% 올랐다가 2.5% 떨어지면 전부매도
6%까지 올랐다가 5%로 떨어지면 전부 매도
이런식으로 만들어 보고 싶은데요..
가능할까요?
정해놓은 매도선에서 매도가 되는게 아니라 정해놓은 매도선에 닿아도 다시떨어지지만
않으면 계속 물량을 가지고 올라가고
정해진 곳까지 올랐다가 정해진 곳까지 떨어졌을때 매도가 일어나게 하고 싶습니다.
if MaxEntries == 1 Then{
ExitLong("1차1반절",atlimit,EntryPrice*1.04,"",value11,1);
ExitLong("1차전부",atlimit,EntryPrice*1.10);
if CurrentContracts < MaxContracts and highest(H,BarsSinceEntry) >= EntryPrice*1.04 Then
exitlong("1차1익절",AtStop,EntryPrice*1.025);
if CurrentContracts < MaxContracts and highest(H,BarsSinceEntry) >= EntryPrice*1.06 Then
exitlong("1차2익절",AtStop,EntryPrice*1.045);
}
2011-10-13
430
글번호 43665
답변완료
문의드립니다
주차트는 옵션차트 참조차트는 선물차트 사용시
주차트에서 시가대비 -1p하락돌파 하면 매도진입하고 매도진입후
선물차트상의 최저가가 선물차트상의 진입가대비 -1p이하로 하락한적이 있고
선물차트상의 최저가가 선물차트의 20 이평을 하락돌파한 적이 있으면
선물차트의 20 이평을 상향돌파시 매도청산하는 수식부탁드립니다
2011-10-13
465
글번호 43659
답변완료
매도 오류 문의입니다.
현물 30분봉으로 조건이 만족하면 아래와 같이 매수하고
If TradingTime And //요런 부분은 위에 조건식을 줍니다.
Diplus(DMIPeriod)>DiMinus(DMIPeriod) And
LTrendRange //요런 부분은 위에 조건식을 줍니다.
And LTriggerSignal //요런 부분은 위에 조건식을 줍니다.
Then
{
Buy("LT_Ent", AtMarket);
}
또 조건 만족시 아래와 같이 매수청산합니다.
If TradingTime And
(CrossDown(EMA5, EMA20)
or C<EMA20)
Then
//ExitLong("MA5_XL",AtMarket,DEF, "LT_Ent"); //처음엔 이렇게 해보고
ExitLong("MA5_XL",OnClose,DEF, "LT_Ent"); //현재는 이렇습니다.
그리고 시스템을 걸고, 매매설정창에서 매수는 현재가 +- 3호가, 매도는 현재가 +-5호가 자동주문을 겁니다. 현재 이 수식으로 15종목정도 30분봉으로 걸려있습니다.
문제는, 매수는 잘 되나, 매도시 시스템창에는 시그날이 나오고, 시스템 모니터에도 수량이 반영되는데,
매도 자체는 될때가 있고, 안 될때가 있습니다. (70%정도 매도가 안됩니다.)
주문은 나가고 체결이 안되는게 아니라 아예 주문이 나가지 않습니다.
처음엔 매도설정을 '시장가' 로 했으나, 그때문인가 해서 현재가 +-5호가로 정정했으나, 결과는 비슷합니다.
아예 안되면 수식을 의심하겠는데, 시그널은 정상발생하고 실제 매도만 되다 안되다 하니까, 매 30분마다 매도가 안된 종목들을 수동으로 수량을 맞춰주고 있습니다.
제가 설정이나 기타 주문수식을 잘못 적은건지 궁금하고요,
혹시 전체 수식이 필요하시면 첨부하겠습니다.
헌데, 수식은 시그널을 발생시키는 부분이므로, 제가 원할때 잘 나오고요,
실제 주문 체결관련해서 주문식이나 제가 더 알아야 할 부분 지적해수시면
감사하겠습니다. ㅜㅜ
그럼 수고하셔요~~ ^^
2011-10-13
509
글번호 43654
답변완료
이차배열문의
이차배열은 못쓰나요?
2011-10-13
506
글번호 43653
답변완료
매수, 매도시각
시스템식에 매수, 매도시각을 적용하려 합니다.
어떤 시각에 내가 매수 또는 매도 했다면 그 시각값을 변수에 저장할 수 없는지요.
매수, 매도 각 최신값만으로 계속 갱신된다면 배열변수등은 필요없을것 같습니다.
2011-10-13
475
글번호 43651