커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7719
글번호 230811
답변완료
for 구문
var: j(0);
array: 고가스윙[10](0);
If SwingHigh(1,c,3,3,4) != -1 then
고가스윙[0]= c[5];
for j= 1 to 9 {
고가스윙[j]=고가스윙[j-1]; <------------ 이부분입니다.
}
예를 들어 위에 처럼 스윙 하이를 나타내었습니다. 여기서 for 구문으로 나타내고자 하는것은 10개의 스윙 고점입니다.가장 최근 봉이 0으로 시작해서 9번까지 나타내려고 합니다. 우선 for 구문이 맞는지 설명 부탁드리고요.
또 그림처럼 빨간 동그라미는 스윙하이 지점입니다. 그리고 파란 동그라미는 스윙하이 전봉입니다. 여기서 질문입니다.
고가스윙[0][1] 이렇게 이전값을 참조하게 되면 고가스윙[1] 을 나타내는 것인지 아니면 고가스윙[0] 의 바로 전봉인 파란동그라미봉을 나타내는 것인지 자세한 설명부탁드립니다.
2011-05-26
476
글번호 39120
빌리언 님에 의해서 삭제되었습니다.
2011-05-26
0
글번호 39119
빌리언 님에 의해서 삭제되었습니다.
2011-05-26
228
글번호 39118
답변완료
FX 거래에서 매수/매도 동시주문
FX 시스템을 만들려고 하는데요.
매뉴얼을 보면 Buy 명령이나 Sell 명령을 실행하면 기존 매수/매도 내역이 있을 경우 청산 후 명령을 실행하는 것으로 되어 있는데요.
저는 청산을 하지 않고 동시에 매수/매도를 유지하고 청산은 별도로 하고 싶습니다. 방법이 있을까요?
2011-05-26
667
글번호 39117
답변완료
수식 좀 부탁드릴게요
안녕하세요 코딩좀 물어보려고 합니다.
시뮬레이션을 돌리기 위해서 장 시작시 시장가가 전날종가보다 높을 시에 시장가로 매수한다를
어떻게 코딩해야하는지 모르겠습니다 ㅜ
if stime=090000 and dayclose(1)<시장가함수??? then buy("b",atmarket);
이렇게 코딩을 하면 되는건가요??
그리고 제대로 코딩을 했을 시에 시뮬레이션을 돌렸을 때 장 시작시에 매수를 했다고 신호를
나오게 하려면 어떻게 해야하나요??
if stime=090000 then buy("b",atmarket);
이렇게만 코딩을 하고 시뮬레이션을 돌렷을때도 장시작에 매수를 했는지 표시가안나오더라구요 ㅜㅜ
답변 부탁드릴게요 감사합니다
2011-05-26
632
글번호 39116
답변완료
messagelog가 여러번 반복하여 나타나는 이유는??
참으로 수고많으십니다.
별첨1과 같이 프로그램을 하였습니다.
주문은 한번 나갔는데 디버깅창의 메세지는 여러번 나타나는 이유는 뭔가요? (별첨2)
Position값이 바뀌는 모든곳에서 MessageLog를 걸어놓았으며 다른 메세지가 나타나지 않는것을 보니 Position값이 다른곳에서 변하지 않은것은 확실한데요.
3분봉인데 이렇게 나타나는 것이 진짜로 이상하네요.
2011-05-26
674
글번호 39115
답변완료
시스템식 부탁드립니다.
1. 오늘 일중 진폭이 2피미만일경우
12시이후에 고점을 돌파하게 되면 매수
2. 일봉상 5이평과 10이평을 관통하고 내려가게되면 매도
즉 이평 2개를 뚫고 내려가는 수식입니다.
3. 시초봉으로부터 카운팅을 해서 당일의 가장 진폭이 큰 봉을 기준으로 할수 있나요?
2011-05-26
640
글번호 39114
답변완료
마지막문의
input : 조건(1),TT(93000),진입가(285); //조건1이면 첫봉에서 매수, 조건0이면 첫봉에서 매도
if sdate < CurrentDate Then{
if 조건 == 1 Then
if dayindex == 0 then buy();
if 조건 == 0 Then
if dayindex == 0 then sell();
}
if sdate == CurrentDate and stime >= TT Then{
if CrossUp( C, ma(C,10)) and C > O then
exitshort("매도청산",AtMarket);
if CrossDown(C, ma(C,10)) and C < O then
exitlong("매수청산",AtMarket);
SetStopEndofday(145800);
exitlong("손절",AtStop,진입가-1);
}
Else
{
SetStopEndofday(0);
}
이 수식에서 진입가를 -0.5를 입력하고 적용햇더니 -1에서도 손절이 안되는데요..뭐가
문젠가요? 소수점을 적어서 그런가요?
변수 적을때 진입가는 소수점 한 자리까지 적나요?
2011-05-26
651
글번호 39109
답변완료
수식 수정좀 해주세요 ~!!
Input : RSIP(9),shortPeriod(12), longPeriod(26), Period(9),DIP(12);
#날짜가 바뀌거나 매수진입에 들어가면 value1은 0으로 초기화
if date != date[1] or MarketPosition == 1 Then{
value1 = 0;
}
var1 = RSI(RSIP);
var2 = MACD(shortPeriod, longPeriod);
var3 = ema(var2, Period);
var4 = Diplus(DIP);
var5 = DiMinus(DIP);
#RSI가 70을 하향하면 value1은 1
if crossdown(var1,70) Then
value1 = 1;
#value1이 1이고 MACD가 시그널을 하향하면 value2는 2
if value1 == 1 and crossdown(var2,var3) Then
value1 = 2;
#value2가 2이고 di+가 di-를 하향하면 매수
if value1 == 2 and CrossDown(var4,var5) Then
buy();
#di+가 di-를 상향하면 매수청산
if MarketPosition == 1 and crossup(var4,var5) Then
exitlong();
---------------------------------------------------------------------------------
위에서 매수를 매도로
매수청산을 매도청산으로 바꿔주시고
당일매수한것은 당일청산으로 식 하나더 추가 원합니다 .
시간대는 오후 3시로 했으면 합니다 ,,
감사합니다
2011-05-26
619
글번호 39108