커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6698
글번호 230811
답변완료
로직 문의
연결선물지수 시스템 매매시 거꾸로 매매가 혹시 가능한지요?
예로, 연결지수를 지수이동평균(5분)으로 걸을시에,
원래시스템에서 매도신호가 나올때 반대로 매수하게 하고,
매수신호가 나올시 반대로 매도하게 고치는게 가능한가요?
즉, 원래 시스템과 로직상 모든
것은 똑같고, 매매신호만 반대로 받아서
실제 거래를 하게 할수 있는지가 궁금합니다.
2014-11-19
146
글번호 80522
답변완료
분봉상 일봉 지표문의 입니다.
수고하십니다.
<일봉>
if (Upvol >= DownVol) Then
{
Plot2(Upvol,"매수");
Plot3(Downvol,"매도");
}
else
{
Plot4(Downvol,"매도");
Plot5(Upvol,"매수");
}
plot6(Upticks/Downticks,"Upticks비");
에서 일봉의 값과 분봉상의 마지막 값이 일치 하도록 분봉상의 지표부탁드립니다.
2014-11-19
126
글번호 80521
sjpapa 님에 의해서 삭제되었습니다.
2014-11-19
10
글번호 80520
답변완료
문의 드립니다.
항상 도움 주셔서 감사합니다.
문1) 아래와 같이 청산로직을 코딩하였는데
제대로 되는것 같지 않습니다.
도움 부탁드립니다.
첨부 그림 맨 하단을 보면
청산범위(수익 +10틱, 손실 -10틱)을 여러차례 벗어났지만
청산이 되지 않았습니다.
맨하단 위까지는 제대로 청산이 된것 같은데
마지막 포지션만 제대로 청산이
되지 않고 매매시간에 의해 청산이 되었습니다.
참고로 T_buy나 T_sell에 대한 포지션 진입도
동일 로직입니다.
도움 부탁드립니다.
종목은 유로FX 12월물 1분봉이고요
2014.11.18일 21시13분 포지션 진입건에 대해
문의 드립니다.
if sTime >= 080400 or stime < 065000 Then {
If MarketPosition == 0 Then {
Buy("Buy",OnClose,def,vol);
}
if MarketPosition == 0 and 조건만족시 Then {
Sell("T_sell",OnClose,def,vol);
}
If MarketPosition == 0 Then {
sell("Sell",OnClose,def,vol);
}
if MarketPosition == 0 and 조건만족식 Then {
Buy("T_buy",OnClose,def,vol);
}
if stime == 065000 or (stime > 065000 and stime[1] < 065000) Then{
ExitLong("B_Off");
ExitShort("S_Off");
}
if MarketPosition == 1 and IsEntryname("T_buy") == true Then {
var3 = highest(H,BarsSinceEntry);
if var3 >= EntryPrice-PriceScale*10 and var3 < EntryPrice+PriceScale*10 then
ExitLong("t_bx0",AtStop,EntryPrice-PriceScale*10);
if var3 >= EntryPrice+PriceScale*15 and var3 < EntryPrice+PriceScale*20 then
ExitLong("t_bx1",AtStop,EntryPrice+PriceScale*15);
if var3 >= EntryPrice+PriceScale*20 and var3 < EntryPrice+PriceScale*25 then
ExitLong("t_bx2",AtStop,EntryPrice+PriceScale*20);
if var3 >= EntryPrice+PriceScale*25 and var3 < EntryPrice+PriceScale*30 then
ExitLong("t_bx3",AtStop,EntryPrice+PriceScale*25);
if var3 >= EntryPrice+PriceScale*30 then
ExitLong("t_bx4",AtStop,EntryPrice+PriceScale*30);
}
if MarketPosition == -1 and IsEntryname("T_sell") == true Then {
var4 = lowest(L,BarsSinceEntry);
if var4 <= EntryPrice+PriceScale*10 and var4 > EntryPrice-PriceScale*10 then
ExitShort("t_sx0",AtStop,EntryPrice+PriceScale*10);
if var4 <= EntryPrice-PriceScale*15 and var4 > EntryPrice-PriceScale*20 then
ExitShort("t_sx1",AtStop,EntryPrice-PriceScale*15);
if var4 <= EntryPrice-PriceScale*20 and var4 > EntryPrice-PriceScale*25 then
ExitShort("t_sx2",AtStop,EntryPrice-PriceScale*20);
if var4 <= EntryPrice-PriceScale*25 and var4 > EntryPrice-PriceScale*30 then
ExitShort("t_sx3",AtStop,EntryPrice-PriceScale*25);
if var4 <= EntryPrice-PriceScale*30 then
ExitShort("t_sx4",AtStop,EntryPrice-PriceScale*30);
}
#============================================
if MarketPosition == 1 and IsEntryname("T_buy") != true Then {
var1 = highest(H,BarsSinceEntry);
if var1 < EntryPrice-PriceScale*10 then
ExitLong("bx",AtMarket);
if var1 >= EntryPrice-PriceScale*10 and var1 < EntryPrice+PriceScale*10 then
ExitLong("bx0",AtStop,EntryPrice-PriceScale*10);
if var1 >= EntryPrice+PriceScale*15 and var1 < EntryPrice+PriceScale*20 then
ExitLong("bx1",AtStop,EntryPrice+PriceScale*15);
if var1 >= EntryPrice+PriceScale*20 and var1 < EntryPrice+PriceScale*25 then
ExitLong("bx2",AtStop,EntryPrice+PriceScale*20);
if var1 >= EntryPrice+PriceScale*25 and var1 < EntryPrice+PriceScale*30 then
ExitLong("bx3",AtStop,EntryPrice+PriceScale*25);
if var1 >= EntryPrice+PriceScale*30 then
ExitLong("bx4",AtStop,EntryPrice+PriceScale*30);
}
if MarketPosition == -1 and IsEntryname("T_sell") != true Then {
var2 = lowest(L,BarsSinceEntry);
if var1 > EntryPrice+PriceScale*10 then
ExitLong("sx",AtMarket);
if var2 <= EntryPrice+PriceScale*10 and var2 > EntryPrice-PriceScale*10 then
ExitShort("sx0",AtStop,EntryPrice+PriceScale*10);
if var2 <= EntryPrice-PriceScale*15 and var2 > EntryPrice-PriceScale*20 then
ExitShort("sx1",AtStop,EntryPrice-PriceScale*10);
if var2 <= EntryPrice-PriceScale*20 and var2 > EntryPrice-PriceScale*25 then
ExitShort("sx2",AtStop,EntryPrice-PriceScale*20);
if var2 <= EntryPrice-PriceScale*25 and var2 > EntryPrice-PriceScale*30 then
ExitShort("sx3",AtStop,EntryPrice-PriceScale*25);
if var2 <= EntryPrice-PriceScale*30 then
ExitShort("sx4",AtStop,EntryPrice-PriceScale*30);
}
2014-11-19
160
글번호 80519
답변완료
수식문의드립니다
분봉에서 피붓포인트와 1-2차지지 저항을 기준으로 지지돌파면 매수 저항 이탈이면 매도 단 돌시 양봉이면 매수 하락시 음봉이면 매도 시스템 가능하면 부탁드립니다
2014-11-19
129
글번호 80518
답변완료
문의 합니다.
stochastics 과 한개의 이동평균선 var1에서
1. sochastics의 현재의 골든크로스와 직전의 골든크로스 시점의
이동평균선 var1상의 C 값과
2. stochastics의 현재의 데드크로스와 직전의 데드크로스 시점의
이동평균선 var1상의 C 값을 출력하는 지표식을 부탁드립니다.
2014-11-19
118
글번호 80517
답변완료
고가나 저가일 때 이동평균값을 기억하는 방법 문의합니다
안녕하세요
예스랭귀지 공부를 하고 있는데
수식작성 어려운 부분을 아래와 같이 문의드립니다.
1.고가 혹은 저가 발생시
그때의 20일 이동평균값을
기준선으로 설정하는 방법을 알고 싶습니다.
2.고점과 저점이 여러개인 경우
그때의 20일 이동평균값을 각각 기억하게
하고 싶습니다.
미리 감사드립니다.
2014-11-19
132
글번호 80516
답변완료
질문드립니다.
초보입니다.
참조데이터 2가 양봉일때 주종목 매수하는 식을 알고 싶습니다.
또 참조데이터 2와 참조데이터 3의 봉크기의 합이 3point 이상일때 주종목 매수하는 식도
부탁드립니다.
단 참조데이터가 첫봉이 안 나온 상태에서 전일의 마지막봉이 양봉인 경우
이를 불러와서 주종목이 매수 되는 경우가 있어서 ...
참조데이터에서도 금일의 첫봉이 완성된후 이를 참조할 수 있게 부탁드립니다.
( 아래와 같이 적으면 뭐가 틀리는거지요?
봉크기와 상관없이 거래가 되는걸로 나오는데요..... ^^;
예를 들어 봉크기의 합이 3point 보다 크면 매수하라~~
)
ab2 = Abs(data2(c)-data2(o));
ab3 = Abs(data3(c)-data3(o));
if (ab2 + ab3)> 3
Then
buy();
라고 적으면 문제가 있나요? ^^;
미리 감사의 말씀 전합니다. ^^
2014-11-19
136
글번호 80515
답변완료
부탁드립니다.
안녕하세요.
해외선물에 시스템을 적용해 보려고 합니다.
1) 전일 일봉상의 고가와 저가를 range로 하고
2) 당일 분봉 차트에서 전일 일봉상의 종가에 (range * 일정 비율(n%))을 플러스한 값을 상승목표
3) 당일 분봉 차트에서 전일 일봉상의 종가에 (range * 일정 비율(n%))을 마이너스한 값을 하락목표
4) 매수는 3)하락목표 달성시 분봉 완성전이라도 해당 값에서 매수
5) 매도는 2)상승목표 달성시 분봉 완성전이라도 해당 값에서 매도
6) 4) 매수후 청산은 5)달성시에 실행
7) 5) 매도후 청산은 4)달성시에 실행
8) 4) 매수후 로스컷은 분봉차트 종가가 3)하락목표 아래서 형성될 때
9) 5) 매도후 로스컷은 분봉차트 종가가 4)상승목표 위에서 형성될 때
따라서, 로스컷 되지 않는다면, 매수 청산과 동시에 매도 진입, 매도 청산과 동시에 매수 진입됩니다.
그리고, 해외선물의 경우 일봉상의 시고저종이 분봉으로 보는 시고저종과 차이가 납니다.
해외선물 일봉을 형성하는 시고저종 시간을 그대로 분봉에도 적용하였으면 합니다.
즉, 현재, 분봉으로 보면 우리나라 시간에 맞춰 밤 12시에는 새로운 시가가 형성되는 것으로 나타나는데, 상기의 시스템을 적용할 때에는 일봉을 형성하는 시작시간과 끝나는 시간을 분봉에도 그대로 적용하였으면 합니다. 우리나라 시간으로는 실제 일봉이 2일에 걸쳐 나타나는 것 같아 시간대를 실제 거래되는 시간으로 맞추었으면 합니다.
감사합니다.
2014-11-18
125
글번호 80514