커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7223
글번호 230811
답변완료
수식
안녕하세요 항상 감사드려요
아래식에서 endtime(020000)에 진입된 종목을 청산되게 수식을 넣어주시면 감사하겠습니다
input : starttime(200000),endtime(020000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if Tcond == true then
{
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
Sell();
}
}
2018-10-31
191
글번호 123244
지표 의뢰드려요
1
2018-10-31
177
글번호 123243
답변완료
질문드립니다.
이전 59828질문의 연속인 것 같습니다.
나름대로 구현해보았는데요.
input : P1(5),P2(10),P3(20),P4(50),P5(100);
var : count1(0),sumV1(0), sumV2(0), sumV3(0), sumV4(0), sumV5(0);
array : 이평[5](0),이평_txt[5](0),이평명[5]("");
sumV1 = 0;
sumV2 = 0;
sumV3 = 0;
sumV4 = 0;
sumV5 = 0;
for count1 = 0 to P5{
if count1 < P1 Then
sumV1 = sumV1+DayClose(count1);
if count1 < P2 Then
sumV2 = sumV2+DayClose(count1);
if count1 < P3 Then
sumV3 = sumV3+DayClose(count1);
if count1 < P4 Then
sumV4 = sumV4+DayClose(count1);
if count1 < P5 Then
sumV5 = sumV5+DayClose(count1);
}
이평[1] = sumV1/P1;
이평[2] = sumV2/P2;
이평[3] = sumV3/P3;
이평[4] = sumV4/P4;
이평[5] = sumV5/P5;
이평명[1] = numtostr(P1,0);
이평명[2] = numtostr(P2,0);
이평명[3] = numtostr(P3,0);
이평명[4] = numtostr(P4,0);
이평명[5] = numtostr(P5,0);
Var : af(0.02), maxAF(0.2),추세선두께(5),추세선색1(RED),추세선색2(BLUE),연장선두께(2),연장선색(blue);
Var : 텍스트출력(1);
var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0);
var : TL1(0),TL2(0),cnt(0),count(0);
var : TL3(0),TL4(0),TL5(0),TL6(0),tx1(0),tx2(0),tx11(0),tx22(0);
var : upcross(0),dncross(0),HBD(0),HBD1(0),LBD(0),LBD1(0),tx3(0), spc("");
Var : cross1(0), cross2(0), cross3(0), cross4(0), cross5(0), cross6(0);
var1 = CSar(af,maxAF);
if Bdate != Bdate[1] Then
{
upcross = 0;
dncross = 0;
cross1 = 0;
cross2 = 0;
cross3 = 0;
cross4 = 0;
cross5 = 0;
cross6 = 0;
}
if crossup(c,var1) Then
{
T = 1;
HH = H;
HD = sdate;
HT = stime;
HBD = Bdate;
HH1 = HH[1];
HD1 = HD[1];
HT1 = HT[1];
HBD1 = HBD[1];
if LL > 0 Then
{
Condition3 = False;
if Condition3 == false and
LL < 이평[1] and HH > 이평[1] and HBD == bdate and LL1 < 이평[1] and LBD1 == bdate and countif(CrossUp(H,이평[1]),20) >= 1 Then
{
Condition3 = true;
cross1 = cross1+1;
tx3 = text_new(HD[1],HT[1],HH[1], NumToStr(cross1,0)+NewLine+NewLine);
Text_SetStyle(tx3,2,1);
text_setcolor(tx3,BLUE);
}
Condition4 = False;
if Condition4 == false and
LL < 이평[2] and HH > 이평[2] and HBD == bdate and LL1 < 이평[2] and LBD1 == bdate and countif(CrossUp(H,이평[2]),10) >= 1 Then
{
Condition4 = true;
cross2 = cross2+1;
tx3 = text_new(HD[1],HT[1],HH[1], NumToStr(cross2,0)+NewLine+NewLine);
Text_SetStyle(tx3,2,1);
text_setcolor(tx3,BLUE);
}
Condition5 = False;
if Condition5 == false and
LL < 이평[3] and HH > 이평[3] and HBD == bdate and LL1 < 이평[3] and LBD1 == bdate and countif(CrossUp(H,이평[3]),10) >= 1 Then
{
Condition5 = true;
cross3 = cross3+1;
tx3 = text_new(HD[1],HT[1],HH[1], NumToStr(cross3,0)+NewLine+NewLine);
Text_SetStyle(tx3,2,1);
text_setcolor(tx3,BLUE);
}
Condition6 = False;
if Condition6 == false and
LL < 이평[4] and HH > 이평[4] and HBD == bdate and LL1 < 이평[4] and LBD1 == bdate and countif(CrossUp(H,이평[4]),10) >= 1 Then
{
Condition6 = true;
cross4 = cross4+1;
tx3 = text_new(HD[1],HT[1],HH[1], NumToStr(cross4,0)+NewLine+NewLine);
Text_SetStyle(tx3,2,1);
text_setcolor(tx3,BLUE);
}
if Condition7 == false and
LL < 이평[5] and HH > 이평[5] and HBD == bdate and LL1 < 이평[5] and LBD1 == bdate and countif(CrossUp(H,이평[5]),10) >= 1 Then
{
Condition7 = true;
cross5 = cross5+1;
tx3 = text_new(HD[1],HT[1],HH[1], NumToStr(cross5,0)+NewLine+NewLine);
Text_SetStyle(tx3,2,1);
text_setcolor(tx3,BLUE);
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL = L;
LD = sdate;
LT = stime;
LBD = Bdate;
LL1 = LL[1];
LD1 = LD[1];
LT1 = LT[1];
LBD1 = LBD[1];
if HH > 0 Then
{
}
}
if T == 1 then
{
if H > HH Then
{
HH = H;
HD = sdate;
HT = stime;
HBD = bdate;
}
}
if T == -1 then
{
if L < LL Then
{
LL = L;
LD = sdate;
LT = stime;
LBD = Bdate;
}
}
이렇게 짜보았습니다. 그런데 사진을 보시면, 직접적으로 크로스업하지 않은 구간에서 나오지 않네요. 아마 if crossup(c,var1) then
아마 파라볼릭이 크로스업다운한 것으로 보이는데요.
59828의 추세선신호가 완성되고, 완성된 추세선신호에서 고가가 이평을 뚫었으면, 신호가 나왔으면 하는데, 파라볼릭때문에 그런 것일까요?
사진에 보시면 아시겠지만, 되레 나와야할 구간에서는 나와주지않네요. countif로 크로스업신호를 추가했는데도 안떠서 다소 당황스럽습니다.
로직에 문제가무엇인지.. if crossup(c,이평) 을 넣게되면, 그냥 크로스업한 구간에만 번호가 나오게됩니다.
사진한장 첨부하겠습니다.
신호구간은 나스닥18년10월22일입니다. 노고에 감사드립니다.
2018-10-31
332
글번호 123242
uvo 님에 의해서 삭제되었습니다.
2018-11-01
20
글번호 123241
쪽박부활 님에 의해서 삭제되었습니다.
2018-10-31
1
글번호 123238
답변완료
수식 문의합니다.
안녕하세요. 수식문의드립니다.
270틱차트에서 20일이평 상승중일때 5일선 아래 매수진입
270틱차트에서 20일이평 하락중일때 5일선 위에서 매도진입
위조건으로 수식을 만들어볼려는데 부탁드립니다.
2018-10-31
172
글번호 123235
답변완료
거래횟수 제한
거래횟수를 제한하는 수식을 input에 추가바랍니다.
********************************************************
input : N(1),pt(0.55);
var : T1(0);
#시초가 터치봉 시간
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and H >= dayopen and H[1] < DayOpen) or
(Bdate == Bdate[1] and L <= dayopen and L[1] > DayOpen) Then
T1 = TimeToMinutes(stime);
if TimeToMinutes(stime) <= T1+n Then{
if MarketPosition <= 0 and C >= dayopen+pt Then
buy();
if MarketPosition >= 0 and C <= dayopen-pt Then
sell();
}
2018-10-31
174
글번호 123230
답변완료
문의
해외선물 장중에 일정시간만 거래하고 싶습니다.
저녁 8시에서 시스템 거래을 시작해서 그 다음날 새벽 5시에 거래를
모두 마치고 싶습니다.
새벽 5시 이후에느 신규 거래는 안들어 가고요.
보유하고 있는 포지션은
5시에 전부 청산하는 방법과
신규진입만 안하고 청산은 5시이후에도 그대로 적용하도록 하는 방법 2가지로 부탁드립니다.
매수진입식
모든 양봉은 종가가 시가보다 3틱 이상이고
양봉 3개 연속이고 전전봉보다 전봉이 종가가 크고 전봉보다 현재봉이 종가가 클때 매수
진입합니다.
매수청산식
매수후 음봉이 발생하면 청산합니다.
매도진입식
모든 음봉은 종가가 시가보다 3틱 아래이고
음봉 3개 연속이고 전전봉보다 전봉이 종가가 작고 전봉보다 현재봉이 종가가 작을 때 매도
진입합니다.
매도청산식
매도후 양봉이 발생하면 청산합니다.
위에서처럼 일부시간만 거래할 때도 시뮬레이션을 핳 수 있을까요.
2018-10-31
166
글번호 123217
루루 님에 의해서 삭제되었습니다.
2018-10-31
32
글번호 123216