커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8139
글번호 230811
답변완료
식전환부탁드립니다
수고많으십니다
식전환 부탁드립니다
if 3/10 골드크로스면 고가저장
데드크로스면 저가저장
* 고가저장후 추가 3/10 골드크로스 나와도 무시
(데드크로스없이도 추가 골드크로스 나올수있단 전제로 작성부탁드림)
* 3/10 골드에서 고가저장후 3/10 데드크로스 우선성립시
저장된 고가 취소후 다시 카운트 시작
///////////////////////////////////////////
if 저장고가를 30이평이 돌파시 매수진입
if 저장저가를 30이평이 돌파시 매도진입
부탁드립니다 감사합니다
2020-08-16
986
글번호 141543
답변완료
수식 부탁드립니다
최근 30개봉중에 바로 전봉의 저가가 최저점이며(그림의 B) 그때의 RSIsignal값(RSI값 아닙니다)과 MACDsignal값(MACD값 아닙니다)이 두번째 최저점일때(그림에서 A)의 RSIsignal값과 MACDsignal값보다 클때 매수신호 화살표를 나태내려고 합니다
화살표는 그림과 같이 검정색 말고 빨강색으로 부탁드립니다~~
아 그리고 매수진입후 주가가 최저점 즉 B 봉의 저가 예를들자면 그림에서 11138.00 보다 한틱이라도 더 내려오면 손절하는 신호 음... 원이 좋겠네요 파란색 원표시로 나타나게 부탁합니다. 참고로 그림은 나스닥입니다. 한틱은 0.25입니다.
2020-08-16
1009
글번호 141542
답변완료
일봉 시뮬레이션의 시스템성과보고서 문의 건
-상황
. 일반 주식 거래
. 일봉 적용
. 적용시스템식은 아래와 같음.
. 시뮬레이션 차트의 시스템성능보고서로 검토 중.
-질문사항;분봉에 익숙하다가 일봉으로 검토를 하니 분명 개념은 똑같을텐데 헷갈리른 부분이 있어서 질문합니다.
1) 시스템성능보고서의 손익값과 실제 전략 상의 손익값은 다르겠지요?
=>제가 이해하고 있기론 일봉기준으로, 시뮬레이션 차트상으로는 일중의 실시간 데이터가 없기에 시고저종가만 표시되며, 이를 기준으로 시뮬차트의 성능손익이 표현되기 때문에 실제 전략차트의(atstop 주문함수 사용시) 손익과는 다른 것으로 알고 있으니 제대로 이해하고 있는 것인지요?
2) 종가에 매수나 청산 주문이 나가면, 매매리포트상엔 주문이 완료된 것으로 뜨지만, 실제로는 장종료로 인해 매수매도가 안되는 경우가 생기니 필요시 수작업으로 주문을 차트와 맞춰야 하는게 맞는 것이겠지요? onclose 경우엔 다음날 시가에 매매가 되고요~~
3) 매수조건이 if marketposition <>1 then Buy("b", atstop,resistance + 1) 일 경우, 일봉차트에서 당일 매수신호가 나왔다는 것은, 조건만족 "resistance+1" 이 전일(=이전 일봉)에 나오고 당일에는 오르고 내리고 하다가 "resistance+1"가격조건을 맞추는 순간에 매수를 했다고 봐야하는 건가요?
- 첨부는 시뮬레이션차트와 시스템성능보고서, 당일 시고저종가 데이터가 있는 그림파일입니다.
- 적용시스템식은 아래와 같습니다.
Variables: WAvgPrice(0), Resistance(0), Support(0);
//Calculation of Variables
WAvgPrice = (High + Low + (Close * 2)) / 4;
Resistance = (WAvgPrice * 2) - Low;
Support = (WAvgPrice * 2) - High;
//Signal Entries
If MarketPosition <> 1 Then
Buy("",atstop,Resistance + 1);
If MarketPosition <> -1 Then
Sell("",atstop,Support - 1);
### ATR Profit Target
Inputs: ATRs(4), ATRLength(10);
Variable: ATRVal(0), EntryATR(0);
ATRVal = ATR(ATRLength) * ATRs;
If BarsSinceEntry == 0 Then
EntryATR = ATRVal;
If MarketPosition == 1 Then
ExitLong ("2L", atlimit,EntryPrice + EntryATR ) ;
If MarketPosition == -1 Then
ExitShort ("2S", atlimit, EntryPrice - EntryATR);
2020-08-17
1291
글번호 141541
답변완료
부탁드립니다
$,아래식을 타주기분봉으로 수정부탁드립니다
Input : Length1(5),Length2(10),Length3(20),Length4(60),Length5(120),Length6(240),Length7(480);
Var : TLen1(0),TLen2(0),TLen3(0),TLen4(0),TLen5(0),TLen6(0),TLen7(0);
var : Tma1(0),Tma2(0),Tma3(0),Tma4(0),Tma5(0),Tma6(0),Tma7(0),Tma8(0),Tma9(0),Tma10(0);
TLen1 = Ceiling((Length1 + 1) * .5);
TLen2 = Ceiling((Length2 + 1) * .5);
TLen3 = Ceiling((Length3 + 1) * .5);
TLen4 = Ceiling((Length4 + 1) * .5);
TLen5 = Ceiling((Length5 + 1) * .5);
TLen6 = Ceiling((Length6 + 1) * .5);
TLen7 = Ceiling((Length7 + 1) * .5);
Tma1 = ema(ma(c, TLen1), TLen1);
Tma2 = ema(ma(c, TLen2), TLen2);
Tma3 = ema(ma(c, TLen3), TLen3);
Tma4 = ema(ma(c, TLen4), TLen4);
Tma5 = ema(ma(c, TLen5), TLen5);
Tma6 = ema(ma(c, TLen6), TLen6);
Tma7 = ema(ma(c, TLen7), TLen7);
Plot1(Tma1, "삼단순c1");
Plot2(Tma2, "삼단순c2");
Plot3(Tma3, "삼단순c3");
Plot4(Tma4, "삼단순c4");
Plot5(Tma5, "삼단순c5");
Plot6(Tma6, "삼단순c6");
Plot7(Tma7, "삼단순c7");
2020-08-15
1041
글번호 141540
답변완료
늘 감사드립니다
Input:length(10);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),
TL1(0),처리구분(""),T(0),TL2(0),TL3(0);
var : hh(0),ll(0),ii(0),diff(0),TL41(0),TL42(0),TL43(0),TL44(0),TL45(0),TL46(0);
Array:고점[10,5](0),저점[10,5](0);
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
T = 1;
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
TL_Delete(TL2);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
TL_SetExtRight(TL2,False);
TL2 = TL_New(sDate[1],sTime[1],고점[1,1],sdate,sTime,고점[1,1]);
TL_SetColor(TL2,BLUE);
TL_SetSize(TL2,2);
If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then
{
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
}
}
}
If 처리구분 == "저점처리" Then
{
T = -1;
lastLoVal = L;
If 저점[1,2] < 고점[1,2] Then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
TL_Delete(TL3);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
TL_SetExtRight(TL3,False);
TL3 = TL_New(sDate[1],sTime[1],저점[1,1],sdate,sTime,저점[1,1]);
TL_SetColor(TL3,RED);
TL_SetSize(TL3,2);
If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then
{
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
}
}
}
TL_SetSize(TL1,0);
TL_SetColor(TL1,YELLOW);
TL_SetEnd(TL2,sdate,stime,고점[1,1]);
TL_SetEnd(TL3,sdate,stime,저점[1,1]);
TL_SetExtRight(TL2,true);
TL_SetExtRight(TL3,true);
if T != T[1] then
{
if T == 1 Then
{
HH = 고점[2,1];
LL = 저점[1,1];
ii = index-고점[2,2];
diff = abs(HH-LL);
}
Else
{
HH = 고점[1,1];
LL = 저점[2,1];
ii = index-저점[2,2];
diff = abs(HH-LL);
}
TL_Delete(TL41);
TL_Delete(TL42);
TL_Delete(TL43);
TL_Delete(TL44);
TL_Delete(TL45);
TL_Delete(TL46);
TL41 = TL_New(sdate[ii],stime[ii],LL+diff*2.00,sdate,stime,LL+diff*2.00);
TL42 = TL_New(sdate[ii],stime[ii],LL+diff*2.618,sdate,stime,LL+diff*2.618);
TL43 = TL_New(sdate[ii],stime[ii],LL+diff*3.618,sdate,stime,LL+diff*3.618);
TL44 = TL_New(sdate[ii],stime[ii],HH-diff*2.00,sdate,stime,HH-diff*2.00);
TL45 = TL_New(sdate[ii],stime[ii],HH-diff*2.618,sdate,stime,HH-diff*2.618);
TL46 = TL_New(sdate[ii],stime[ii],HH-diff*3.618,sdate,stime,HH-diff*3.618);
TL_SetExtRight(TL41,true);
TL_SetExtRight(TL42,true);
TL_SetExtRight(TL43,true);
TL_SetExtRight(TL44,true);
TL_SetExtRight(TL45,true);
TL_SetExtRight(TL46,true);
TL_SetSize(TL41,2);
TL_SetSize(TL42,2);
TL_SetSize(TL43,2);
TL_SetSize(TL44,2);
TL_SetSize(TL45,2);
TL_SetSize(TL46,2);
}
if T == 1 and T != T[1] and 저점[1,1] > 저점[2,1] Then
Buy();
#### 거래당일 매수바(bar) 발생하는 종목검색식 부탁드립니다
일봉에서 사용하고져 합니다
2020-08-15
1021
글번호 141539
답변완료
지표부탁드립니다..
1. 30분봉에서의 cci 지표를 5분봉차트에소 보고싶습니다..
2. cci 지표 5분봉 20봉개안에서 지표와의 다이버전스를 표시하는 지표를 만들어주세요
감사합니다..
2020-08-15
954
글번호 141538
건태 님에 의해서 삭제되었습니다.
2020-08-15
164
글번호 141537
구조대 님에 의해서 삭제되었습니다.
2020-08-15
38
글번호 141536
답변완료
검토 부탁드립니다
안녕하세요...글번호68775 수식검증에 에라가 나오네요.검토부탁드립니다.
1분차트에 5분이평선라인(20 이평선 60 이평선)을 넣을수있게요 해주세요.
수고하세요...꾸벅
2020-08-15
521
글번호 141535