커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7525
글번호 230811
답변완료
문의드립니다.
항상 수고 많으십니다.
도움 주신 로직 이것저것 조합해서 시스템을 짜보았는데 오류가 발생해서 제대로 수식을 작성했는지 확인좀 부탁드립니다. 혹시 잘못된 사항 있으면 수정도 해주시면 감사하겠습니다.
--1. 하루 허용 매매횟수 제한 ( 수식처럼 동일 포지션으로 재진입을 하게되면 이 진입횟수에 포함되는것입니까? 만약 포함된다면 하루 8회로 매매횟수를 한정하려면 어떻게 해야되는지요?)
--2. 매매당 손절 0.40 익절 0.60 한정
--3. 진입 후 0.20 P 밀리면 동일 포지션으로 재진입(물타기)
--4. 진입 후 0.20 P 밀리지 않으면 한개 수량만
--4. 재진입 했을 경우 평균단가보다 0.40 밀리면 2개 수량 모두 청산
--5. 재진입 했을 경우 평균단가보다 0.60 먹으면 2개 수량 모두 청산
--6. 익절을 걸지 않으면 다음 신호 발생시까지 쭉 포지션 유지(다음 신호 발생시 청산)
--7. 당일 누적손실 -2.00 P 도달시 바로 청산 후 당일 매매종료
--8. 신호 발생 시 매수면 신호보다 한틱 아래에 진입, 매도면 신호보다 한틱 위에 진입
--9. 15시 매매 종료
-10. 반대 신호 발생시 바로 청산하고 진입
-11. 시장가가 아닌 지정가로 진입을 하도록 할 수 있습니까? 만약 신호 발생한 후 H번째 캔들까지 체결이 안되었을 시, 바로 취소주문 들어가도록이요
제가 시스템 돌려봤을 때, 가장 큰 문제점이 예를들어 진입포인트보다 0.20 P 손실나면 재진입을 하도록 설정해놨을 때, 255.20에 매수를 쳤다면 255.30에 청산을 하고 다음 매도 포지션이 진입을 했다고 하더라도 0.20 P 손실난 255.20 포인트가 오면 매도가 청산되고 매수추가주문이 들어간다는 것입니다.
아 그리고 손익절을 걸고 매매를 시작했을 경우, 재진입을 하면 다음 신호가 발생해도 청산하지않고 손익절이 될 때까지 포지션을 유지하기도 하더라고요..
한번 봐보시고 수정부탁드립니다.
항상 감사합니다.
input : dayentry(8),loss(0.4),Profit(0.6),당일손실(-2),진입수량(1),추가진입수량(1),하락포인트(1),체결후상승(1),체결후하락(1);
var : NP(0),PreNP(0),dayPL(0),S2(0),S3(0);
input : N(2);
var : count(0);
input : Onetick(0.05);
Var : a(0);
a=close;
Count = 0 ;
for Value1 = 0 to 20 {
if EntryDate( Value1 ) == sdate then
Count = Count + 1;
}
var : cnt(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
NP = NetProfit;
if date != date[1] Then{
Condition1 = False;
PreNP = NP[1];
}
dayPL = (NP-PreNP)+PositionProfit;
if crossup(S2,S3) and count < N and dayPL > 당일손실 Then
Buy("매수",atlimit,a-Onetick);
if crossdown(S2,S3) and count < N and dayPL > 당일손실 Then
Sell("매도",atlimit,a+Onetick);
if MarketPosition==1 and MaxEntries==1 Then
buy("매수추가진입",atlimit,Entryprice-하락포인트,추가진입수량);
if MarketPosition==-1 and MaxEntries==1 Then
sell("매도추가진입",atlimit,Entryprice+하락포인트,추가진입수량);
SetStopEndofday(150000);
if MarketPosition == 1 and MaxEntries==2 and crossdown(S2,S3) Then{
ExitLong("매수청산1",Atlimit,AvgEntryPrice+체결후상승);
ExitLong("매수청산2",Atstop,AvgEntryPrice+체결후하락);
}
if crossdown(S2,S3) Then{
ExitLong("매수청산0");
}
if MarketPosition == -1 and MaxEntries==2 and crossup(S2,S3) Then{
ExitShort("매도청산1",Atlimit,AvgEntryPrice+체결후상승);
ExitShort("매도청산2",Atstop,AvgEntryPrice+체결후하락);
}
if crossup(S2,S3) Then{
ExitShort("매도청산0");
}
2014-01-14
171
글번호 71401
답변완료
34284 관련 재문의
작성하여 주신 수식을 적용해보니 제가 원하는 것이 아니라
단순히 일봉의시가를 연결한 지표였습니다
다시한번 검토하여 주십시요
일봉상에 원하는 시가가 점으로 표시될수있도록 부탁드립니다
2014-01-14
129
글번호 71400
forexar 님에 의해서 삭제되었습니다.
2014-01-14
16
글번호 71399
시골소년 님에 의해서 삭제되었습니다.
2014-01-14
0
글번호 71397
답변완료
해석좀 부탁드립니다
if date != date[1] Then{
value1 = NetProfit;
for cnt = 1 to 10{
DayPl2[cnt] = daypl2[cnt-1][1];
}
sum = 0;
for count = 1 to 10{
sum = sum+daypl2[count];
}
}
dayPL2[0] = NetProfit-value1;
공부좀 할려니 이해하기가 어렵네요. 자세하게 부탁드립니다
글구 위 식이 논리적으로 맞는지요?
2014-01-15
135
글번호 71396
답변완료
도와주세요..
수고많으십니다
데이 시스템 5분봉에 적용;
종가가 2차저항선(r2)를 돌파한적 잇거나 고가가 1차자항선(r1) 보다 크거나같은 적 잇으면
2차지지선 s2를 하향터치시 매도진입 ;
countif 함수를 이용하여 식을 만들어 밧는데 당일첫봉에서도 신호가 발생하네요 ..
당일첫봉에서 신호가 나오지 않도록 부탁드립니다
감사합니다
2014-01-14
136
글번호 71395
러블리 님에 의해서 삭제되었습니다.
2014-01-14
7
글번호 71388
답변완료
지표식 문의
안녕하세요. 매번 도움을 받습니다.
두가지 문의드립니다.
1]
미보정에서 이평선을 전일과 연결시키지않고 당일만 해당하게 하고싶습니다.
당일이평이 되겠지요.. 간단할것 같은데 잘안되네요..ㅡ.
2]
옵션등가 교차차트에서 콜이 data1, 풋이 data2 일때
콜의 전일저가, 풋의 전일고가, 그리고 콜풋의 첫 교차가를 수평선으로 나타내고
그 선의 오른쪽 끝에 텍스트로 표현하고 싶습니다.
선은 나오게 하겠는데 텍스트가 조절이 안되네요,
장이 진행되는 동안 선의 우측에서 계속 텍스트가 있어야하는데
계속해서 겹치고 그러네요... 부탁드립니다.
미리 감사드립니다.
2014-01-14
176
글번호 71383
답변완료
문의드립니다
수고가 많으십니다
1. 이 식대로 하면 아무런 신호도 발생하지 않습니다. 어떻게 고쳐야 하나요?
data2에서 willia'R이 일정 수준 돌파시 매수/매도
Input : Period(14),bl1(-80),bl2(-70),bl3(-60),sl1(-20),sl2(-30),sl3(-40);
Var : value(0),t(0);
value = WILLR(Period);
If data2(Crossup(value, bl1) or crossup(value, bl2) or crossup(value, bl3)) Then
T = 1;
If data2(CrossDown(value, sl1) or crossdown(value, sl2) or crossdown(value, sl3)) Then
T = -1;
if stime == 150000 Then{
if T == 1 Then
buy("b",AtMarket);
if T == -1 Then
sell("s",AtMarket);
}
SetStopEndofday(150000);
2. 기울기를 구하는 식이 궁금합니다
n일 동안 stok나 20일 이동평균이 n도 이상일 경우 매수
n일 동안 stok나 20일 이동평균이 -n도 이상일 경우 매도
3. 장 시작후 양봉이 n분 동안 n개 이상일 경우 매수
음봉이 n분 동안 n개 이상일 경우 매도
4. 장 시작 후 n번째 봉이 양봉이면 매수
음봉이면 매도
2014-01-14
143
글번호 71382