커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7855
글번호 230811
정윤희 님에 의해서 삭제되었습니다.
2004-12-23
2
글번호 6130
답변완료
수식부탁 합니다.
하루에 한번만 매매하는 수식좀 알려주세요.
예를 들면,
"시가대비 0.5p 상승이면 매수, 0.5 하락이면 매도"라는 수식을 사용한다면,
위의 식에서 시가대비 0.5p 상승했다가 시가대비 0.5p 하락반전하게 되면
매수청산하고 매도해야 되는데,,,
청산없이 매수 또는 매도중 먼저 발생한 신호만 적용하는 수식좀 부탁합니다.
2004-12-23
848
글번호 6129
choisk2 님에 의해서 삭제되었습니다.
2004-12-23
0
글번호 6128
박태근 님에 의해서 삭제되었습니다.
2004-12-23
3
글번호 6127
답변완료
setstoptrailing 함수
5이평과 20 이평의 교차를 이용하여 매매하는 식 입니다.
0.2pt 이상 이익난 진입에 대하여 수익에서 30% 수익감소하면 즉시 청산하려고
합니다. setstoptrailing 함수를 사용하려고 하는데요...
if ( intime == entrytime(0) ) then {
setstoptrailing(30, 0.2, percentstop, 0);
}
setstoptrailing 사용법은 맞았죠?
문제는 로직에 있는데요.... 하루에도 여러번 진입을 하게 되는데,
첫번째 진입에 한 해서만 트레일링스톱을 적용하려고 합니다.
첫번째 진입시간을 intime 변수에 할당하여서
intime 시간이 진입시간(entrytime(0))과 일치하는 경우만
setstoptrailing이 실행되도록 짰습니다.
그런데 모든 진입에 대하여 트레일링스톱이 적용되더라구요...
아무리 검토해 봐도 어디가 문제인지 찾을 수가 없군요.
해결해 주세요.....
어떻게 고쳐야 하루에 한 번 첫번째 진입에 대해서만
트레일링 스톱을 할 수 있는지요...
또 왜 제가 짠 식으론 안 되는지요?
input : p3(0.4);
var : value5(0),starthere(0),intime(0);
value5 = ma(c,5)-ma(c,20);
if ( stime > 090000 and stime < 091500 ) then {
starthere = 0;
}
If ( stime > 091500 and stime < 150900) then {
// 첫번째 진입. 전일 종가 넘고 임계치 비교 하여 매수 매도 진입
if (starthere == 0 ) then {
if ( value5 > p3 ) then {
buy("첫매수");
starthere = 5;
intime = entrytime(0);
}
if ( value5 < -1 * p3 ) then {
sell("첫매도");
starthere = 5;
intime = entrytime(0);
}
}
// 두 번째 부터의 재진입
if (starthere == 5 ) then {
if ( value5 > p3 and barssinceexit(1) > 8 ) then { //청산 후 8 동안 쉬는게 좋다.
buy("매수 ");
}
if ( value5 < -1 * p3 and barssinceexit(1) > 8 ) then {
sell("매도 ");
}
}
// 첫 거래는 트레일링 스탑 적용
if ( intime == entrytime(0) ) then {
setstoptrailing(30, 0.2, percentstop, 0);
}
if ( value5 < 0 ) then {
exitlong("0선청산");
}
if ( value5 > 0) then {
exitshort(" 0선청산");
}
} //큰 if 마무리
2004-12-22
1285
글번호 6126
관리자에 의해서 삭제되었습니다.
2004-12-22
30
글번호 6123
답변완료
타종목 참조와 관련하여
타종목참조와 관련하여 문의 드립니다.
연결선물을 참조종목으로 두고 옵션을 거래하려고 할때
연결선물을 참조하여 연결선물의 종가가 피봇포인트 보다 위면
매수하려고 하는데 원하는 신호 결과가 나오질 않습니다.
타종목참조에서 변수가 하나면, 즉, 타종목종가가 전일 종가를 상회하면
이런식으로 수식을 만들면 상관이 없는데,
아래의 식처럼 변수속에 변수를 포함하는 식으로 구사를 하면
신호는 발생하는데 원하는 결과는 얻을 수 없습니다.
아마도 타종목참조에서는 변수속에 변수가 포함되면 인식을 못하는 것인지 답변 부탁드립니다.(반드시 확인해 보시고 답변바랍니다.)
아래식은 5분봉 기준입니다.
var : ph(0),pl(0),pc(0),piv(0);
if date !=date[1] then {ph=data1("h")[1];}
if date !=date[1] then {pl=data1("l")[1];}
if date !=date[1] then {pc=data1("c")[1];}
piv = (ph+pl+pc)/3;
if crossup(data1("c"),piv) && stime<145000 Then Buy();
if stime==145000 Then Exitlong();
2004-12-22
1177
글번호 6122
박태근 님에 의해서 삭제되었습니다.
2004-12-21
0
글번호 6116
답변완료
조건이 만족하면 웨이브파일 실행 시키는
일정 조건을 만족하면 pc의 웨이브파일을 실행시켜서 소리를 내는
수식 부탁드립니다.
예를 들어서,
거래량이 1분봉의 10000 이 넘어가면 pc의 "내문서" 디렉토리에 있는
'빰빠라.wav' 파일을 실행시켜 소리를 내게 하는 겁니다.
2004-12-21
1053
글번호 6114