커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7468
글번호 230811
답변완료
NH 투자증권에서 제공하는 OPEN API에 대하여
안녕하세요.
NH투자증권에서 제공하는 OPEN API를 이용하여 프로그램을 작성하고 있는데요.
KOSPI200 선물 시세에서 실시간으로 계속해서 체결건수를 받고 싶은데 어떤 TR의 어떤 Output Field를 이용하여야 선물 체결건수를 알수가 있습니까?
빠른 답변 부탁드립니다.
감사합니다.
2015-06-08
334
글번호 86945
답변완료
부탁드립니다.
input : 익절틱수(100),당일수익(200);#틱수
input : 당일손실(150);#틱수
input : g(25),r(50),s(2);
Input : period1(12);
var : NP(0),PreNP(0),dayPL(0),Econd(false);
var : SMIv(0),T(0);
Var : sonarv(0);
sonarv = SONAR(period1);
SMIv = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5, r),s) * 100 /
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)) ;
NP = NetProfit;
if bdate != bdate[1] Then{
PreNP = NP[1];
Econd = false;
}
dayPL = NP-PreNP;
if BarsSinceExit(1) == 1 and (IsExitName("bx1",1) or IsExitName("sx1",1)) Then
Econd = true;
if Econd == false Then{
if stime >= 090000 or stime < 020000 then{
if SMIv > SMIv[1] Then
T = 1;
if SMIv < SMIv[1] Then
T = -1;
If T == 1 and sonarv > sonarv[1] and C <= O Then
buy();
If T == -1 and sonarv < sonarv[1] and C >= O Then
sell();
}
}
if MarketPosition == 1 Then{
if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*50 Then{
ExitLong("bx",AtStop,EntryPrice+PriceScale*1);
}
ExitLong("bx1",AtLimit,EntryPrice+((당일수익*PriceScale)-daypl));
ExitLong("bx2",AtStop,EntryPrice-((당일손실*PriceScale)+daypl));
}
if MarketPosition == -1 Then{
if Lowest(l,BarsSinceEntry) <= EntryPrice-PriceScale*50 Then{
ExitShort("sx",AtStop,EntryPrice-PriceScale*1);
}
ExitLong("sx1",AtLimit,EntryPrice-((당일수익*PriceScale)+daypl));
ExitLong("sx2",AtStop,EntryPrice+((당일손실*PriceScale)-daypl));
}
SetStopProfittarget(PriceScale*익절틱수, PointStop);
if stime == 050000 or (stime > 050000 and stime[1] < 050000) Then{
ExitLong();
ExitShort();
}
상기식이 제대로 실행이 안되어 다시 질문드립니다.
지금 sx1 에서 진입후 바로 청산이 되어버리면서 매매종료가 되어버리는듯합니다.
당일수익이 200틱 설정인데...몇틱수익이 아닌데도 sx1청산으로 매매종료되는것같네요.
검토후 수정부탁드립니다.
미리 감사드립니다.
2015-06-08
204
글번호 86943
답변완료
부탁드립니다.
input : ,익절틱수(40),당일수익(120);#틱수
input : 당일손실(80);#틱수
Input : Period(12), sigPeriod(9);
input : g(25),r(50),s(2);
Input : period1(12);
var : NP(0),PreNP(0),dayPL(0),Econd(false);
var : SMIv(0),T(0);
Var : sonarv(0);
sonarv = SONAR(period1);
value1 = TRIX(Period);
value2 = ema(value1, sigPeriod);
SMIv = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5, r),s) * 100 /
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)) ;
NP = NetProfit;
if bdate != bdate[1] Then{
PreNP = NP[1];
Econd = false;
}
dayPL = NP-PreNP;
if BarsSinceExit(1) == 1 and (IsExitName("bx1",1) or IsExitName("sx1",1)) Then
Econd = true;
if Econd == false Then{
if stime >= 090000 or stime < 020000 then{
if SMIv > SMIv[1] Then
T = 1;
if SMIv < SMIv[1] Then
T = -1;
If CrossUP(value1, value2) and T == 1 and sonarv > sonarv[1] and C <= O Then
buy();
If CrossDown(value1, value2) and T == -1 and sonarv < sonarv[1] and C >= O Then
sell();
if MarketPosition == 1 Then
ExitLong("bx",AtStop,EntryPrice+PriceScale*1);
}
ExitLong("bx1",AtLimit,EntryPrice+((당일수익*PriceScale)-daypl));
ExitLong("bx2",AtStop,EntryPrice-((당일손실*PriceScale)+daypl));
}
if MarketPosition == -1 Then
ExitShort("sx",AtStop,EntryPrice-PriceScale*1);
ExitLong("sx1",AtLimit,EntryPrice-((당일수익*PriceScale)-daypl));
ExitLong("sx2",AtStop,EntryPrice+((당일손실*PriceScale)+daypl));
SetStopProfittarget(PriceScale*익절틱수, PointStop);
if stime == 050000 or (stime > 050000 and stime[1] < 050000) Then{
ExitLong();
ExitShort();
}
상기식을 작성을 했는데...
신호가 안뜨네요..
어디가 잘못됐는지 검토해서 수정부탁드립니다.
2015-06-08
195
글번호 86936
답변완료
수식부탁드립니다.
틱 차트에서
일목균형표 기준선이
50 캔들 이상 수평으로 가다가
위로 꼬부리거나 아래로 꼬부릴 때
수직추세선을 그리는 수식 부탁드립니다.
2015-06-08
203
글번호 86932
답변완료
분봉기준선 틱봉에서 구현
항상 감사드립니다...
아래조건의 지표식을 구현하고 싶습니다
1.1분봉의 최근 10개 종가의 평균을 A1
1분봉의 최근 10개 고가의 평균을 B1
1분봉의 최근 10개 저가의 평균을 C1
2.A1,B1,C1 을 100틱챠트에 표기
감사합니다.
2015-06-08
197
글번호 86929
해와달 님에 의해서 삭제되었습니다.
2015-06-08
0
글번호 86927
답변완료
부탁드립니다
EVENT = H > HIGHEST(H(1),P4);
BS =BARSSINCE(EVENT);
IF(EVENT AND BS(1)>=P4,1,0)
EVENT = L < LOWEST(L(1),P4);
BS =BARSSINCE(EVENT);
IF(EVENT AND BS(1)>=P4,1,0)
식을 지표식이 아닌 시스템식으로 부탁드립니다.
키움에서 지표변수는 4로 했습니다.
항상 감사드립니다.
2015-06-08
226
글번호 86926
답변완료
볼밴폭
input : Period(20), Dv(2);
var : 볼밴Up(0), 볼밴Down(0), 이평(0);
볼밴Up = BollBandUp(Period,Dv) ;
볼밴Down = BollBandDown(Period,Dv) ;
이평 = ma(C, Period);
if crossup(C, 이평) then
buy();
if crossdown(C, 이평) then
exitlong();
진입시의 볼밴폭보다 20%이상 확장이 않으면
1포인트이상 수익나고 0.5 포인트 되돌림시 청산
진비시의 볼밴폭보다 20%이상 확장시 반대 진입시까지 유지
수식 부탁합니다.
2015-06-08
201
글번호 86923
답변완료
수식 표현 부탁드립니다.
안녕하세요...
질문내용: 분봉차트를 기준으로 보면서 틱봉차트에서 진입신호가 나오게 할 수 있나요?
예를들어 3분봉 차트에서 캔들이 볼린저밴드(20-2) 하단선에 터치한 이후
30틱차트에서 스토캐스틱선이 50을 상향으로 돌파하면 매수사인이 나오게 합니다.
감사합니다.
2015-06-08
190
글번호 86922