커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6443
글번호 230811
답변완료
시스템식부탁드립니다.
if stime == 100000 Then
buy();
==> 10시 매수식인데 신호가나지않습니다.
각각 따로따로
오전10시25분 매수식부탁드립니다.
오후 1시35분 매도식부탁드립니다.
그리고 매수후10개봉후 음봉 매도식 부탁드립니다.
2016-02-17
133
글번호 95466
답변완료
문의드립니다.
연결선물 15분챠트에서
60이평을 골든크로스하면 매수, 로스컷 2포인트
60이평을 데드크로스하면 매도, 로스컷 2포인트
단 여기서 골든크로스하여 매수 진입했는데 로스컷 되기 전에 데드크로스하여 매도 진입하게
되는 경우 매수는 그대로 둔 상태에서 매도 진입이 가능한지요.
buy문 다음에 청산 주문없이 sell을 사용하면 청산 후 매도주문이 되는 걸로 알고 있는데
그렇게 처리되지 않고 매수는 매수대로 로스컷까지 유지된 상태에서 매도 주문이 신규로
진입되게 처리하고 싶은데 가능한지 궁금하고 처리방법이 있다면 알려주시면 감사하겠습니다.
2016-02-17
116
글번호 95462
매의눈 님에 의해서 삭제되었습니다.
2016-02-17
17
글번호 95453
답변완료
문의드립니다
var1 = wma(c,5);
var2 = wma(c,20);
if crossup(var1,var2) then
value1 = var1;
if CrossDown(var1,var2) Then
value1 = var1;
var3 = var1-value1;
if var3 > 0 Then{
plot1(var1,"선1");
plot2(value1-(var3),"선2");
}
else{
plot1(var1,"선1");
plot2(value1+abs(var3),"선2");
}
.........................................................
상기수식을 데이타2용으로도 만들어 주세요
감사합니다.
2016-02-17
139
글번호 95446
답변완료
수식 문의드립니다
지수이동평균선이 순차적으로 정배열 되었을때 ,
즉 지수이동평균선이 14, 21,50,100 이렇게 순차적으로 되고나서 5개의 캔들 뒤에서 매수
신호가 나오게끔 하는 수식 부탁드립니다
반대로 매도는 100 , 50, 21, 14 지수이동평균선이 역배열 되었을때 5개의 캔들 뒤에서 매
도 신호가 나오게끔 입니다. 감사합니다.
2016-02-17
137
글번호 95435
답변완료
함수수정요청(11-1)
안녕하세요?
아래 함수를 수정요청드립니다.
아래 함수는 진입 봉에서 수익이든 손실이든 청산 신호가 발생됩니다.
포지션 진입 후 수익청산조건이면 진입봉에서도 수익청산이되나
손실청산 조건이 진입봉에서 발생되면 당봉청산 금지, 즉 익봉이후에 청산할 수 있도록 수정 요청드립니다.
---------------------------------------------------------------------------------------
var : entry1(0);
var : ho1(0),OL1(0),HL1(0);
var : maho1(0),maOL1(0),maHL1(0);
var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0);
var : EntryCnt1(0);
var : V1(0),V2(0),V3(0),V4(0),V5(0);
var : V6(0),V7(0),V8(0),V9(0),V10(0);
if bdate != bdate[1] Then
entry1 = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry1 = entry1+1;
ho1 = Dayhigh-Dayopen;
OL1 = DayOpen-DayLow;
HL1 = DayHigh-DayLow;
sumho1 = 0;
sumOL1 = 0;
sumHL1 = 0;
for cnt1 = 1 to 10{
sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1));
sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1));
sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1));
}
maho1 = sumho1/10;
maOL1 = sumOL1/10;
maHL1 = sumHL1/10;
V1 = dayopen(0)+maho1;
V2 = DayOpen(0)-maOL1;
V3 = DayOpen(0)+maHL1;
V4 = DayOpen(0)-maHL1;
V5 = NthMaxList(1,V1,V2,V3,V4);
V6 = NthMaxList(2,V1,V2,V3,V4);
V9 = NthMaxList(3,V1,V2,V3,V4);
V10 = NthMaxList(4,V1,V2,V3,V4);
V7 = (V5+V10)/2;
V8 = (V6+V9)/2;
if MarketPosition == 0 and entry1 == 0 Then{
if V7 > V8 Then
sell("s1",AtStop,v7);
if V7 < V8 Then
sell("s2",Atlimit,v8);
}
if MarketPosition == -1 and IsEntryName("s1") == true Then{
ExitShort("sp1",atlimit,V9);
ExitShort("sl1",AtStop,V6);
}
if MarketPosition == -1 and IsEntryName("s2") == true Then{
ExitShort("sp2",atlimit,V9);
ExitShort("sl2",AtStop,V6);
}
var : TF(0);
var : Xtime(0), Etime(false),cnt(0),mav1(0),mav2(0);
var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0);
Array : HH[50](0),LL[50](0),CC[50](0);
mav1 = ma(c,5);
mav2 = ma(C,20);
TF = TimeToMinutes(stime)%30;
if Bdate != Bdate[1] Then{
Etime = true;
if stime >= 090000 Then
Xtime = 050000;
Else
Xtime = 060000;
}
if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
if HH[25+2] > 0 Then{
HV = HH[0];
LV = LL[0];
HV1 = HH[1];
LV1 = LL[1];
HV2 = HH[2];
LV2 = LL[2];
for cnt = 0 to 25{
if HH[cnt] > HV Then
HV = HH[cnt];
if LL[cnt] < LV Then
LV = LL[cnt];
if HH[cnt+1] > HV Then
HV = HH[cnt+1];
if LL[cnt+1] < LV Then
LV = LL[cnt+1];
if HH[cnt+2] > HV Then
HV = HH[cnt+2];
if LL[cnt+2] < LV Then
LV = LL[cnt+2];
}
var1 = (HV+LV)/2;
var2 = (HV1+LV1)/2;
var3 = (HV2+LV2)/2;
if Etime == true then{
if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 Then
buy("b",AtMarket);
if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then
ExitLong("bx",AtMarket);
}
}
if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{
Etime = false;
ExitLong();
}
2016-02-17
136
글번호 95434
답변완료
지표 문의 드립니다
if high[3]<high[2]
then sa=True;
sd=False;
if high[2]<high[1]
then sb=True;
if high[1]<high
then sc=True;
if sa==true and sb==true and sc==True
then sd=true;
sa=False;
sb=False;
sc=False;
if low[3]>low[2]
then sa1=True;
sd1=False;
if low[2]>low[1]
then sb1=True;
if low[1]>low
then sc1=True;
if sa1==true and sb1==true and sc1==True
then sd1=true;
sa1=False;
sb1=False;
sc1=False;
2번구간은 다음과 같은 식으로 3번연속 저가갱신이 처리가 되는데 1번에 경우 연속 봉으로 저가이 갱신 된게 아니라서 처리가 되지 않습니다. 어떻게 할수 있는지 문의 드립니다.
한가지 더 추가 하고 싶은게 이전 봉에 고가을 넘으로 3번연속에서 제외하고 싶습니다..
도움 주셔서 감사합니다~
2016-02-17
190
글번호 95433
답변완료
수식문의
매수진입---개인옵션하방 외국인옵션상방 기관옵션상방 호가잔량매수우위,
매도진입---개인옵션상방 외국인옵션하방 기관옵션하방 호가잔량매도우위,
손절 ------호가잔량역전시 손절
2016-02-17
141
글번호 95432
답변완료
수식 문의 드립니다.
안녕하세요.
예스랭귀지 함수 중에 MessageLog라는 함수가 있습니다.
이 함수를 이용해서 현재 10분봉의 시가를 로그창에 띄우줄수 있을지요?
즉, 이전 봉이 완성되자마자, 다음 봉 시작할때 시가가 나오면 바로 즉시 로그로 보고 싶습니다.
예시는 다음과 같습니다.
"현재시간, (예를들어 9시10분00초) 현재 봉의 시가는 (얼마) 입니다"
쉽게 해결하실 것 같은데 저로써는 어렵네요..
수식 부탁드립니다. 감사합니다.
2016-02-17
114
글번호 95431