커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7559
글번호 230811
답변완료
부탁드립니다
input : P1(5),P2(20),T(5),ProfitTick(100),DropPercent(50);
var : cnt(0),count(0);
var1 = ma(c,P1);
var2 = ma(c,P2);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count == 0 Then{
if C >= dayopen+PriceScale*T or bids > asks Then
buy();
if C <= dayopen-PriceScale*T or bids < asks Then
Sell();
}
if count == 1 Then{
if MarketPosition == 0 and IsExitName("bx",1) == true and
C >= dayopen+PriceScale*T Then
buy();
if MarketPosition == 0 and IsExitName("sx",1) == true and
C <= dayopen-PriceScale*T Then
Sell();
}
if MarketPosition == 1 Then{
value1 = Highest(H,BarsSinceEntry);
if CrossDown(var1,var2) Then
ExitLong();
if value1 >= EntryPrice+PriceScale*ProfitTick Then
ExitLong("BuyTr",AtStop,value1-(value1-EntryPrice)*(DropPercent/100));
}
if MarketPosition == -1 Then{
value2 = lowest(L,BarsSinceEntry);
if CrossUp(var1,var2) Then
ExitShort();
if value2 <= EntryPrice-PriceScale*ProfitTick Then
ExitShort("SellTr",AtStop,value2+(EntryPrice-value2)*(DropPercent/100));
}
시스템식을 혼자 짜맞추다보니
진입시점이나 진입횟수이나 이상합니다 수정부탁드릴께요
1.
N틱 상승 하락과 상관없이 첫봉에 진입이 되니 수정부탁드립니다
2.
당일 매수한번 매도한번 으로 진입횟수를 제한
3.
당일 매수매도 상관없이 하루진입 2번으로 제한
2013-06-03
250
글번호 63942
답변완료
30696번 재질문여
1,일봉
var1 = ema(c,20);
var2 = TRIX(14);
var3 = ema(var2,9);
if var1 > var1[1] and var2 > var2[1] Then
find(1);
2. 주봉
var1 = ema(c,20);
var2 = TRIX(14);
var3 = ema(var2,9);
if var1 > var1[1] and var2 > var2[1] Then
find(1);
위식은 상승중인 검색식 인가요?? 아님 상승전환된 식인가요??
검색해보면 상승중인 종목만 검색됨니다
상승전환된 식으로 부탁합니다
2013-06-03
233
글번호 63941
답변완료
30699번 수정 부탁드려요
수고 하시네요
스톡 66,8 에서는 매도가 정상적으로 기준선 85 하락시 매도가 이루어지는데
수치값을 달리 스톡 29,10 을 넣고 하면 매도가 85 기준선 하락시 매도가 안됩니다
매수는 정상적으로 매수 잘됩니다
수정 부탁드려요
2013-06-03
245
글번호 63940
답변완료
문의드립니다
input : Period1(13),Period2(25),Period3(2),Length1(26),Length2(50),Length3(2),sp1(20),sp2(20);
var : SMI1(0),SMI2(0);
SMI1 = ema(ema(data1("c")-(highest(data1("H"),Period1) + lowest(data1("L"),Period1))*0.5, Period2),Period3) * 100 /
(0.5 * ema(ema(highest(data1("H"),Period1)-lowest(data1("L"),Period1),Period2),Period3));
SMI2 = ema(ema(data1("c")-(highest(data1("H"),Length1) + lowest(data1("L"),Length1))*0.5, Length2),Length3) * 100 /
(0.5 * ema(ema(highest(data1("H"),Length1)-lowest(data1("L"),Length1),Length2),Length3));
var1 = ema(smi1,Sp1);
var2 = ema(smi2,Sp2);
plot1(SMI1);
plot2(SMI2);
plot3(var1);
plot4(var2);
죄송합니다..
위의식을 rsi시그널선으로 바꿔주시면 고맙겠습니다
2013-06-03
243
글번호 63939
답변완료
30686 수정부탁드립니다
수고하세요..
스톡을 66,8 로 바꾸어서 테스트 해본결과
사진처럼 매도 한상태에서 스톡k선이 기준선이 85를 돌파했는데 손절이 안됩니다
수정 부탁드려요
2013-06-03
247
글번호 63933
답변완료
수정좀 부탁드립니다
var1 = ma(c,10);
if stime >= 170000 or stime < 030000 Then{
If CrossUp(c,var1) Then
Buy();
If CrossDown(c,var1) Then
Sell();
}
if MarketPosition == 1 Then
exitlong("b",AtStop,L[BarsSinceEntry]);
if MarketPosition == -1 Then
ExitShort("s",AtStop,H[BarsSinceEntry]);
if stime == 030000 Then{
exitlong();
ExitShort();
}
이 수식에서 시간 17시(오후5시)부터 03시(새벽3시)만 매매되게 수정좀 부탁드릴께요
예스 글로벌 사용중입니다
그리고 손절부분에서 전봉의 저,고가를 넘으면 손절인대 봉완성후 10이평을 깰때로 수정좀 부탁드립니다
2013-06-03
258
글번호 63930
답변완료
문의드립니다
input : Period1(13),Period2(25),Period3(2),Length1(26),Length2(50),Length3(2),sp1(20),sp2(20);
var : SMI1(0),SMI2(0);
SMI1 = ema(ema(data1("c")-(highest(data1("H"),Period1) + lowest(data1("L"),Period1))*0.5, Period2),Period3) * 100 /
(0.5 * ema(ema(highest(data1("H"),Period1)-lowest(data1("L"),Period1),Period2),Period3));
SMI2 = ema(ema(data1("c")-(highest(data1("H"),Length1) + lowest(data1("L"),Length1))*0.5, Length2),Length3) * 100 /
(0.5 * ema(ema(highest(data1("H"),Length1)-lowest(data1("L"),Length1),Length2),Length3));
var1 = ema(smi1,Sp1);
var2 = ema(smi2,Sp2);
plot1(SMI1);
plot2(SMI2);
plot3(var1);
plot4(var2);
죄송합니다.
위의식을 지표속석창에서 y축표시에서 가격에 표시하니까 위의 지표값은나오는데
기본 창이 없어져서요..
화면창이나..전체화면창에다 표시하면 전부표시가 되지만 가격이동평균하고는 거리가
멀어서요..아무리 변수를 조정해도 안되네요
2013-06-03
227
글번호 63929
답변완료
검색식 부탁해요~~
일봉상의 지수이평(20)이 전일의 지수이평에 비해 상승전환 and 일봉상의 trix(14,9)가 전일에비해 상승 전환 and
주봉상의 지수이평(20)이 전주의 지수이평에비해 상승 전환and 주봉상의 trix(14,9)가 전주에비해 상승 전환된 종목검색식
수고하세요~~
2013-06-03
238
글번호 63928
답변완료
문의드립니다.
안녕하세요.
항상 감사합니다.
작성한 수식의 성능보고서에서 최대손실과 최대손실폭이 커서 줄일수 있는 방안을 생각중입니다.
좋은 방안이 있다면 조언 부탁드립니다.
수식 부탁드려요.
간단한 장기 이평선 크로스 매매를 예로 진입 이후 n%의 손실이 날때마다 한계약씩 추가하여 x번까지 추가하고, 마지막 추가매수 이후 생긴 저점에 대비해서 n/2 % 오를때마다 청산합니다.
즉, 250에 추가매수가 되었고, 그 이후 저점이 249에서 n/2 % 오르면 1차 추가매수분 정리..
그런데 2차 매수까지 되었다면, 2차분은 다시 그 이후 생긴 저점대비 n/2% 오른 자리에서 청산하고, 1차 매수분은 2차매수분 청산자리에서 추가로 n/2% 오르면 거기서 청산하는 것입니다.
예를들어 n=1이고, 3차매수까지 되었다면, 3차매수 이후 생긴 저점대비 0.5% 오르면 3차매수분 청산, 1% 오르면 2차매수분 청산, 1.5% 오르면 1차매수분 청산 이렇게 되는것입니다.
단 마지막 진입 이후 추가로 n%가 더 하락하면 추가매수분은 전량 손절입니다.(최초 진입분은 매도 또는 청산신호에 따릅니다.)
최초 진입신호 후 청산신호나 반대신호가 나온다면, 그 자리에서 최초진입분은 물론 추가진입 분까지 모두 청산합니다.
여기까지 식 하나를 부탁드리고....
또 다른 하나의 식은...
이때(추가매수 이후 최초진입의 청산신호나 반대 진입 신호가 나왔을때) 추가매수까지 청산하는게 아니라 최초진입분은 신규신호와 청산신호에 적용하고, 추가 진입분은 n/2% 반등을 그대로 적용하는 식입니다.( 이것도 역시 n% 하락하고 나면 추가진입분은 모두 손절하는 식입니다.)
잘 부탁드립니다. 감사합니다.^^
2013-06-03
257
글번호 63923