커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4615
글번호 230811
답변완료
문의 드립니다
안녕하십니까,
아래 식 말씀해주셨는데..
적용하니 작동이 안합니다.
중복진입 체크했는데도 안되서요..
재 확인 부탁드립니다''
종목이 여러개 이면 차트를 여러개 띄우신후
아래식 각각 적용하셔야 합니다.
매수진입이면 position을 1, 매도진입이면 -1로 지정하시면 됩니다.
input : position(1),N(2);
if sdate == CurrentDate and stime ==090300 Then{
if position == 1 Then
buy("b",OnClose,def,N);
Else
sell("s",OnClose,def,N);
}
2016-05-24
99
글번호 98427
답변완료
합성시스탬 에서 시스템간의 상쇄되는 매수 매도 신호시 청산되는 것 방지 방법
한계좌에 2개의 시스템을 걸면 포지션이 같은 신호가 나올때는 계좌 잔고가 있는대로 포지션을 갖게 되겠지만,다른 신호가 나올경우 계좌잔고는 상쇄되어 잔고가0가 됩니다.
매수 /매도만이 존재하기때문에하나의 시스템이 매수한상태에서 다른시스템이 매도시그날로 매도를 진입하면 청산되기때문입니다.
이를 방지하기위해 첫번째방법은
풀다운메뉴에서 합성관리자를 이용하여 2개시스템을 통합한 합성시스템을 만들어하나의 계좌에 2개의 시스템을 자동으로 매매를 하실 수 있습니다.
또다른 방법은
챠트를 여러개 띄워놓고 똑같이 거는 방법이 있습니다.
라고 어느분이 시스템 시장에 토론실에서 써 놓으시 글이 있습니다.
위에글 처럼
합성관리자를 이용하는 첫번째 방법과
차트를 여러개 띄워놓고 똑같이 거는 두번째 방법에 대해서 어떻게 적용해야 하는지 설명해 주시면 대단히 감사드리겠습니다.
예를 들어 더 설명드리면
A 시스템에서 몇계약이 신호에 의해 매수되었는데 B 시스템에의 매도 신호가 나롤때
A 시스템의 매수된 것이 청산되는 것 없이 보호되다가 별도 전체 청산식에 의해서 전체가 청산되는 합성시스템을 의미합니다.
2016-05-24
113
글번호 98426
답변완료
재문의드립니다
input : P(10);
var : MM(0),T(0);
MM = (highest(H,P)+lowest(L,P))/2;
if T == 0 and C > MM Then
T = 1;
if T == 0 and C < MM Then
T = -1;
if T == 1 and CrossDown(C,lowest(L,P)[1]) Then
T = 0;
if T == -1 and CrossUp(C,highest(H,P)[1]) Then
T = 0;
if dayindex == 0 and T == 1 then
buy();
if dayindex == 0 and T == -1 then
sell();
if dayindex > 0 then{
if T == 1 and T[1] != 1 Then
buy();
if T == 0 and T[1] == 1 Then
sell();
}
if T == -1 and T[1] != -1 Then
sell();
if T == 0 and T[1] == -1 Then
buy();
SetStopEndofday(150000)
이부분에서 아침9시 부터 매수.매도 합쳐서 4번 만
신호가뜨게 수식 추가부탁드립니다!
2016-05-24
119
글번호 98425
답변완료
수식문의
안녕하세요
하기와 같은 수식 문의 드립니다. 확인 부탁드립니다.
* 기본적으로 MACD signal 지표로 매매합니다.
* 매수신호가 나오면 매수하고(3개를 계약한다고 가정하고)
1차청산 : 30틱
2차청산 : 50틱
3차청산 : 다음 매도 주문시
* 매도신호가 나오면 매도하고 방법은 매수와 같습니다.
지속적인 매매가 가능한 지 확인 부탁드립니다.
감사합니다.
2016-05-24
111
글번호 98424
답변완료
문의드립니다
안녕하세요.
시가에 매도 진입식을 할려고 합니다.
시가를 3번이탈 하면 매도 진입 하여 손절5틱 총 5회 반복, 수량 3개
이익실현은 30틱에 총진입수량의 1/3 ,50틱 1/3 ,70틱 잔량 모두
30틱이상 수익중 진입에서 40% 밀리면 이익 실현
진입시작횟수.진입끝횟수.손절틱수.진입수량은 input값으로 작성 하여 주셨으면 합니다.
수고하세요.
2016-05-24
102
글번호 98423
답변완료
47882 번 재문의
input : P(10);
var : MM(0),T(0);
MM = (highest(H,P)+lowest(L,P))/2;
if T == 0 and C > MM Then
T = 1;
if T == 0 and C < MM Then
T = -1;
if T == 1 and CrossDown(C,lowest(L,P)[1]) Then
T = 0;
if T == -1 and CrossUp(C,highest(H,P)[1]) Then
T = 0;
if T == 1 and T[1] != 1 Then
buy();
if T == 0 and T[1] == 1 Then
sell();
if T == -1 and T[1] != -1 Then
sell();
if T == 0 and T[1] == -1 Then
buy();
어디에다가 적용하면될지...
잘몰라서 문의드립니다...
전날 3시에 강제청산
다음날 아침9시에 시작가격에 맞는 색깔에 종가에
신호발생 다시 한번부탁드립니다
2016-05-24
119
글번호 98418
답변완료
틱봉
안녕하세요
첨부그림처럼 120틱을 기준으로 4배인 480틱 8배인 960틱을 하나의 막대봉에 겹쳐 표현할수있는지요
가능하다면 수식부탁드리겠습니다
감사합니다
2016-05-24
165
글번호 98413
답변완료
지표식 부탁 드립니다
안녕 하세요
이동평균선 5,20,60,240이평의 우상향,우하향일때 각각의이평별로 상승,하락색을
나타내는 지표식 부탁 드립니다
수고 하세요
2016-05-24
114
글번호 98408
답변완료
문의
안녕하세요
답변감사합니다
설명듣구도 잘안되네요 죄송 수식올리겠읍니다
연결시켜주세요^^
중요한것이빠젔네요 하루손절틱(10틱)넣어주세요 합이손절틱을넘으면 진입금지 꾸뻑~~
수식하나더부탁합니다
트릭스지표에 기준선을 +0.1하나와 -0.1두개로만들구 트릭스가 위0.1을돌파매수 이탈매도
여기서 매도을해서 -0.1을 이탈하였다가돌파시매수 다시-0.1을이탈시매도 다시돌파시매수해서 +0.1을돌파하였다가 이탈시매도 이렇게계속매매하도록부탁합니다
손절10 익절20 감사합니다
var : diff(0,data2);
diff = data2(bids-asks);
if crossup(diff,1000) Then
buy();
if CrossDown(diff,0) Then
exitlong();
if CrossDown(diff,-1000) Then
sell();
if crossup(diff,0) Then
ExitShort();
기존식의 진입식 if 조건에 Xcond == false라는 조건을 추가하시고
아래내용은 하단에 붙여넣기 하시면 됩니다.
input : 하루수익틱(10);
var : NP(0),PreNP(0),DayPL(0),하루수익(0),Xcond(false);
NP = NetProfit;
if bdate != bdate[1] Then{
preNP = NP[1];
Xcond = false;
}
dayPL = NP-PreNP;
하루수익 = PriceScale*하루수익틱;
if TotalTrades > TotalTrades[1] and (IsExitName("BP",1) or IsExitName("SP",1)) Then
Xcond = true;
if MarketPosition == 1 Then{
ExitLong("BP",AtLimit,EntryPrice+하루수익-daypl);
}
if MarketPosition == -1 Then{
ExitShort("SP",AtLimit,EntryPrice-하루수익+daypl);
}
2016-05-24
112
글번호 98403