커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4343
글번호 230811
회원 님에 의해서 삭제되었습니다.
2018-01-18
0
글번호 115883
답변완료
질문
인버스식인데 이것도 교정 부탁드립니다. 감사합니다.
input : BarsEntryInterval(20), pMaxContracts(4),pTimeInterval(11);
Var : vA_value(0,data2),TT(0), vB_value(0,data2),vStartMin(0,data2);
var : PreTT(0,data2),cond99(false,data1);
If data2(bdate <> bdate[1]) Then
{
vA_value = data2(H);
vB_value = data2(L);
Cond99 = False;
vStartMin = data2(TimeToMinutes(stime));
PreTT = TotalTrades[1];
}
If Cond99 == False Then
{
if vA_value < data2(H) Then
vA_value = data2(H);
if vB_value > data2(L) Then
vB_value = data2(L);
}
If data2((TimeToMinutes(stime) - vStartMin) == pTimeInterval And Cond99 == False) Then
{
Cond99 = True;
}
if Cond99 Then
{
If data2(CrossUp(C, vA_value)) Then ExitLong("BX");
#If data2(CrossDown(C, vB_value)) Then ExitLong("SX");
If data2(time <= 115900) And TT - PreTT <= 2 Then
{
If data2(CrossUp(C, vA_value)) Then ExitLong("B");
If data2(CrossDown(C, vB_value)) Then buy("S");
}
/* if MarketPosition == 1 And data2(C > vA_value) And CurrentContracts < pMaxContracts Then{
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Buy("reBuy1");
if BarsSinceEntry == ( 2 * BarsEntryInterval) Then
Buy("reBuy2");
if BarsSinceEntry == ( 3 * BarsEntryInterval) Then
Buy("reBuy3");
}*/
if MarketPosition == 1 And data2(C < vB_value) And CurrentContracts < pMaxContracts Then{
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
buy("reSell1");
if BarsSinceEntry == ( 2 * BarsEntryInterval) Then
buy("reSell2");
if BarsSinceEntry == ( 3 * BarsEntryInterval) Then
buy("reSell3");
}
}
SetStopEndofday(150000);
2018-01-18
120
글번호 115880
답변완료
문의드립니다.
전번 문의 답변 감사드립니다.
답변해주신 내용으로 시스템 적용해보니
이평아래에서 매수한번만 이뤄진다음 다음 매도를 기다리게 되어있습니다.
근데 다음 매도 조건에서 조건성립이 안되어 매도신호발생조건이 안되었고
다시 매수 조건에서 매수가 나와야하는데 매수다음 매도신호를 기다리다 보니
매수신호 발생되어야할 자리에서 매수가 안되고 건너뛰는 문제가 발생하네요.
1. 매수 매도 번갈아가며 진행되어도 매수신호 발생후 매도신호 기다리다 조건에 안맞아
매수조건이 다시 돌아오면 매수를 할수 있도록, 즉 매수(발생)-매도(조건불충족 미발생)-매수(발생)....이평이 상승하다 하락하면 매수후 매도기다리는데 매수신호후 매도조건을 만족하지 못해서 매도는 미발생 이평이 다시 상승하면 매수조건이 충족되면 매수신호발생할수 있도록 변경 부탁드립니다.
2. 조건하에서 발생될수 있는 횟수를 조정할수 있도록 부탁드립니다.
////////// 지난번 답변 내용입니다.
안녕하세요
예스스탁입니다.
식을 아래와 같이 구성하시면
매수와 매도가 번갈아 가면서 발생합니다.
var : Bcond(false),Scond(false);
Bcond = MarketPosition == 0 and MarketPosition(1) == 1;
Scond = MarketPosition == 0 and MarketPosition(1) == -1;
var1 = ma(c,5);
if Bcond == false and var1 > var1[1] and 조건 then
buy();
if Scond == false and var1 < var1[1] and 조건 then
sell();
SetStopProfittarget(PriceScale*20,PointStop);
2018-01-18
132
글번호 115878
답변완료
수식 문의 드립니다.
관리자님, 새해 복 많이 받으십시오
1. 아래 식에서 상한가에서는 매도가 되지않게 부탁 드립니다.
input : period1(12), period11(5), period21(5);
var : 스토K(0), 스토D(0);
스토K = StochasticsK(period1,period11);
스토D = StochasticsD(period1,period11,period21);
if crossup(스토k, 스토d) then buy();
if crossdown(스토k, 스토d)&& ( ? ) then exitlong();
2018-01-18
131
글번호 115877
답변완료
문의드립니다.
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
a 시가+ 전일변동폭
b 시가- 전일변동폭
시가가 a 위나 b 아래에서 시작하면 고가 저가 저장
a위에서 시작한 경우에 a를 2봉 지난 봉이 5틱이상 a를 상향돌파하면 매수진입A
5틱이상 하향돌파하면 매도진입B
B아래에서 시작한 경우에 b를 2봉 지난 봉이 5틱이상 하향돌파하면 매도진입A
상향돌파하면 매수진입B
매수진입A시 고가-ATR 트레일링 수식 청산
매도B 진입시 b 하향돌파시 즉시 청산
매도A진입시 저가+ATR 트레일링 수식 청산
매수B진입시 a상향돌파시 즉시 청산
당일청산
기타
-셋업한 봉에서 5봉이상 벌어지면 진입하지 않음.
2. 나머지 내용 1과 동일
'시가가 a 위나 b 아래에서 시작하면 고가 저가 저장'
이 부분을 장시작후 5개봉까지만 a,b위에 있을 때로 셋업 조건을 바꿈.
2018-01-18
140
글번호 115876
knb 님에 의해서 삭제되었습니다.
2018-01-18
24
글번호 115875
답변완료
청산 관련 문의드립니다.
"A"라는 시스템 매수 진입이 자동으로 이루어지면
(진입한 가격 - 진입한 가격으로부터 이전 20개 캔들의 최저점 가격) X 2를 한 가격에서
청산하도록 실현 가능한지 여쭙고 싶습니다.
감사합니다.
(예를 들어,
진입한 가격 = 10, 진입 이전 20개 캔들의 최저점 가격 = 5 인 경우,
가격이 상승하여 15에 도달하면 청산)
2018-01-18
122
글번호 115874
답변완료
시가 아래위로 진폭표시
키움에서 제가 쓰는건데요
예스로 변경하고 싶습니다
k=틱단위*m;
a=c-predayclose();
b=valuewhen(1,time!=stime,dayopen());
if(a>=0,b+k*1,if(a<=0,b-k*1,b));
해선에서 틱단위가 달라서 틱 단위를 변수로 사용했고 m은 진폭단위로 종목마다 50틱,30틱으로 변경사용하려고 변수로 사용하였습니다
stime은 해선 시작 시간입니다
2018-01-17
169
글번호 115873
답변완료
문의드립니다.
기존 잔고와 다른 방향의 신호가 뜨면 기존 잔고를 모두 청산하는 수식을 좀 부탁드립니다.
예를 들어 매수신호가 계속 3번 뜨는 경우 매수잔고가 3개가 되는데 이후 매도신호가 뜨면 매수잔고를 모두 청산하고 매도잔고가 1개가 됩니다. 그리고 이후 매도신호가 3번 뜨면 매도잔고가 4개가 되는데 매수신호가 뜨면 매도잔고를 모두 청산하고 매수잔고가 1 이 됩니다.
2018-01-17
132
글번호 115871