커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7391
글번호 230811
답변완료
강제익절처리
매수 5일이평선이 20이평선 골드크로스
매도 5이평선이 20이평선 데드크로스
매매시간 오전10시30 분 부터 오후 1시 까지
강제청산 오후1시
손절 30틱 수익100틱
매수후에 목표가격100틱못미쳐서 50틱수익이낫다가 하락하여 매수가 위10틱으로 내려오면 강제익절청산후 다음신호대기
매도후애 목표가격100틱못미쳐서 50틱수익이낫다가 상승하여 매도가 아래10틱으로 올라오면 강제익절청산후 다음신호대기
시스템식 부탁합니다^^
2016-05-16
125
글번호 98092
답변완료
볼린져 밴드
일봉에서 볼린져 밴드 하단을 1봉전 혹은 2봉전 혹은 3봉전에 하향이탈했다가 0본전에 볼린져 밴드 안에 위치한 종목을 찾는 검색식을 부탁드립니다.
2016-05-15
143
글번호 98091
답변완료
수식 수정 요청드립니다
틱챠트에서 임의의시간에 전략을실행하는데 시작시 5이평이 20일이평보다크면 매수
5이평이 20일이평보다 작으면 매도 이후 5이평이 20일이평 돌파될때 청산후 진입하려 합니다 그후 임의의시간에 잔고를 청산하고 챠트를 종료하려 합니다 보완부탁 드립니다
if DayIndex ==0 && ma(c,5)>ma(c,20)
Then buy ();
Else
if CrossUp(ma(c,5),ma(c,20))
then buy();
if DayIndex==0 && ma(c,5)<ma(c,20)
Then sell();
Else
if crossdown(ma(c,5),ma(c,20))
Then sell();
감사합니다
2016-05-15
126
글번호 98090
답변완료
시스템 질문
Channel Breakout Intra-Bar Long Entry 이 시스템을 자세히 설명해주세요.
2016-05-15
118
글번호 98089
바닥차기 님에 의해서 삭제되었습니다.
2016-05-16
5
글번호 98088
답변완료
수식부탁드립니다
1. 해당종목의 보유수량이 0 이면 1주 종가매수
2. 해당종목의 수익율이 -10% 이면 현재보유수량의 2배를 종가매수
3. 해당종목의 수익율이 +5% 이면 현재보유수량의 50%를 장중매도
4. 해당종목의 수익율이 +10% 이면 현재보유수량의 50%를 장중매도
5. 해당종목의 수익율이 +15% 이면 현재보유수량의 전량을 장중매도
[주의] 거래조건3,4번의 경우 목표수익율에 도달한 최초시점에 딱한번만 매도를 해야함
2016-05-15
121
글번호 98087
답변완료
데이타 확인 요청
* 데이타가 0 부터 시작하는데 이유가 뭐죠?
최초값 부여가 안되서 그런거요?
if TimeToMinutes(stime)%60 == 0 Then
var2 = o;
plot2(var2);
if date > date[1]+30 Then
var3 = o;
plot3(var3);
<매수방법> 상기식을가지고....
Var: frame(0),count(0);
array: hval[10](0);
frame = TimeToMinutes(stime)%60 ;
if dayindex==0 or frame < frame[1] then {
hval[0] = h;
for count =1 to 9 {
hval[count] = hval[count-1] [1];
}
}
if h> hval[0] Then hval[0] = h;
plot1(hval[0]) ;
if crossup (hval,var3) then buy();
했는데 틀린 데이타에서 매수가 됨니다.
수정좀 부탁 드립니다.
2016-05-15
157
글번호 98086
답변완료
문의드립니다.
항상 감사 드립니다.
1.데이 매매용으로 데이터2의 시가를 3회이상 하향 이탈시, 데이터 1에 진입수량2개씩 매수 진입.
2.진입한 수량이 데이터2의 시가(진입기준가) 5틱 손실되면 데이터 1 손절 처리.
3.진입은 7회 까지 반복으로
4.익절은 데이터 2 기준으로 40.50.70 틱으로 순차 이익실현
5.기존의 질문한 수식에 사용할것 입니다.
데이터 2,3의 input값의 변수를 챠트에 선으로 표시(오렌지색)되었으면 합니다.
현재 input에는 AA(100),BB(100) 표시 되어 있습니다.
감사합니다.
2016-05-15
131
글번호 98085
답변완료
수식 수정 요청
안녕하세요.
전에 작성해주신 수식을 가지고 거래를 하고 있는데 수정을 부탁드립니다.
맨 아래는 제가4.28에 남광토건(1분봉)으로 시뮬을 해본 결과인데
손절이 나왔음에도 불구하고 손절 봉에서 재매수가 나왔습니다.
타 종목으로 해보니까 익일 손절 후 재매수가 나오는 경우도 있었습니다.
그리고 분할 매수 식인데 분할 매수는 적용이 안되고 최초 매수 건이 손절 등으로 처리가 된 후에 2차 매수(BB)가 발생합니다.
1. 손절 발생 시 재매수 금지
2. 분할 매수
3. 매수 진입 시 진입 가격 대비 위 아래 호가 선택 해서 진입(예, 신호가 나오면 그 가격 대비 -5 호가로 진입)
4. 시가가 전일 종가 대비 5%로 시작하면 당일 거래 금지
5. 최초 진입 이후 수익률 5% 이상 넘어가면 trailingstop 5%(예를 들어 수익률 2%시 TS가 발동하면 추가 진입 부분하고 문제가 생길 수 있어서, 5% 수익 발생이전 까지는 TS 발동 금지)
5. 최초 거래 후 5% 이상 상승한 후 하락하여 2차 매수 선까지 올 경우 2차 매수 금지.
6. 매수물량이 남아 있을 경우 진입일 익익일에 전체 청산 / entrydate + 1로 하니까 영업일 기준으로는 안맞네요 ㅠ
요청사항이 너무 많아서 죄송합니다.
이렇게 수식 변경 부탁드리겠습니다.
감사합니다.
input: 매수금액1(10000000),매수금액2(10000000),지정일(20160428);
var : Ev(0),Xv(0),Xcond(false);
if bdate != bdate[1] Then
Xcond = false;
if TotalTrades > TotalTrades[1] and (LatestExitName(1) == "BL1" or LatestExitName(1) == "BL2") Then
Xcond = true;
if MarketPosition == 0 and NextBarSdate > sdate and NextBarSdate == 지정일 and Xcond == false Then
buy("b",AtMarket,def,Floor(매수금액1/C));
if MarketPosition == 1 Then{
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BL1" Then{
Condition11 = true;
Xcond = true;
}
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BL2" Then{
Condition12 = true;
Xcond = true;
}
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP1" Then
Condition21 = true;
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP2" Then
Condition22 = true;
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP3" Then
Condition23 = true;
if MaxEntries == 1 and CurrentContracts >= CurrentContracts[1] and Condition12 == false Then
buy("bb",Atlimit,EntryPrice*0.98,Floor(매수금액2/C));
if CurrentContracts > CurrentContracts[1] Then{
Ev = AvgEntryPrice;
Xv = Floor(MaxContracts*(1/3));
}
if MaxEntries >=1 Then{
if Condition11 == false Then
exitlong("BL1",AtStop,AvgEntryPrice*0.97,"",xv,1);
if Condition12 == false Then
exitlong("BL3",AtStop,AvgEntryPrice*0.95);
if Condition21 == false Then
exitlong("BP1",AtLimit,AvgEntryPrice*1.05,"",xv,1);
if Condition22 == false Then
exitlong("BP2",AtLimit,AvgEntryPrice*1.10,"",xv,1);
if Condition23 == false Then
exitlong("BP3",AtLimit,AvgEntryPrice*1.20);
}
if sdate > EntryDate +1 and stime == 144500 Then
exitlong();
}
else{
Condition11 = false;
Condition12 = false;
Condition21 = false;
Condition22 = false;
Condition23 = false;
}
진입일시 진입종류 진입명 진입가격(원) 수량 수익률(%) 최대수익(원) 진입효율 봉 개수
청산일시 청산종류 청산명 청산가격(원) 수익(원) 누적수익(원) 최대손실(원) 청산효율 총효율
2016-04-28 9:01 매수 b 13,750 245 -3.47 0 0 1
2016-04-28 9:02 매수청산 BL1 13,300 -116,877 -116,877 -110,250 0 -100
2016-04-28 9:01 매수 b 13,750 490 -5.29 0 0 10
2016-04-28 9:11 매수청산 BL3 13,050 -356,132 -473,009 -343,000 0 -100
2016-04-28 9:11 매수 bb 13,050 251 5.16 175,700 82.35 215
2016-04-28 12:51 매수청산 BP1 13,750 168,973 -304,036 -37,650 100 82.35
2016-04-28 9:11 매수 bb 13,050 251 10.13 338,850 90 220
2016-04-28 12:56 매수청산 BP2 14,400 331,960 27,924 -37,650 100 90
2016-04-28 9:11 매수 bb 13,050 252 4.39 504,000 93.02 1,006
2016-05-02 14:46 매수청산 _ExitLongNo1 13,650 144,471 172,395 -37,800 34.88 27.91
2016-05-15
266
글번호 98084