커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7519
글번호 230811
비엔에프 님에 의해서 삭제되었습니다.
2014-03-06
0
글번호 73266
답변완료
수식 재문의 합니다
if T == 1 Then{
if L >= var1+PriceScale*2 Then
Bcond = true;
if Bcond == true Then
buy("b",atlimit,var1);
var1 에서 2틱 이상 이격후 다시 되돌림하여 var1터치하면 진입인데요..
위수식에서 터치하면 진입한다는 부분이 어디인가요???
buy("b",atlimit,var1); <- 이부분에서 터치한다는 구문이 있나요??
항상 감사합니다
2014-03-06
164
글번호 73265
답변완료
시스템 수식 부탁드립니다.
고마우신 답변에 항상 감사드립니다.시스템 식을 부탁드립니다.
주식종목이고 일봉을 기준으로 합니다.
매수식
1.해당종목의 당일 기관 순매수수량이 10만주 이상일 경우 매수하는 식
2.해당종목의 당일 외국인 순매수수량이 10만주 이상일 경우 매수하는 식
3.해당종목의 당일 기관과 외국인 합계 순매수수량이 20만주 이상일 경우 매수하는 식
위 3가지 모두의 매수식을 부탁드립니다.
여기서 보니 장이 종료되고 난 이후에 기관과 외국인의 매수수량이 집계되므로 장중에는 알 수 없다고 한 점을 잘 알고 있습니다.저는 장중 데이트레이딩은 안하니 그건 상관없습니다.
제가 부탁드린 조건을 충족하는 경우에 다음날 매수해도 되니깐요.
바쁘신데 미안하며 부탁드려 봅니다.
2014-03-06
196
글번호 73257
답변완료
시스템 수정요청
그림 1
감사합니다. 제 생각보다는 훨씬 복잡한 수식이 되었네요. 이유가 뭘까요? 더 간소화 할 수도 있을 것 같은데요.....
하여간 좋은데요... 위의 그림에서 보는 것처럼, 문제점은
하루에 2-3번만 진입해야 하는데...무제한으로 들어간다는 점입니다.
특히 변수를 작게 주었을 경우에 그런 현상이 벌어집니다(위 그림에서는 변수를 1.5/3/0.4/2로 주었음).
따라서 하루 최대 진입횟수를 3회로 제한해주시고,
매수1차 진입이든 매수 2차 진입이든 단 1회로 제한해주십시요. 손절당하믄 더 이상 안들어가게 해주세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템 작성 요청
> 안녕하세요
예스스탁입니다.
피라미딩을 다른진입신호만 허용으로 설정하고 적용하시기 바랍니다.
input : N1(2.5),N2(3.0),X1(1),X2(2);
var : TL1(0),TL2(0),TL3(0);
if date != date[1] Then{
var1 = sdate;
var2 = stime;
}
if dayhigh == H Then{
var3 = sdate;
var4 = stime;
}
if daylow == L Then{
var5 = sdate;
var6 = stime;
}
if MarketPosition == 0 and stime < 150000 Then
buy("매수1차",Atlimit,dayhigh-N1);
if MarketPosition == 1 and MaxEntries == 1 and stime < 150000 Then
buy("매수2차",Atlimit,dayhigh[BarsSinceEntry]-N2);
if MarketPosition == 0 and stime < 150000 Then
Sell("매도1차",Atlimit,daylow+N1);
if MarketPosition == -1 and MaxEntries == 1 and stime < 150000 Then
Sell("매도2차",Atlimit,daylow[BarsSinceEntry]+N2);
if MarketPosition == 1 Then{
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,EntryPrice+X1);
if MaxEntries == 2 Then{
#두번재 진입대비 X1상승하면 청산
ExitLong("bx2",Atlimit,(dayhigh-N2)+X1);
#분할(두번째 진입가대비 X1수익나면 1계약청산,X2수익나면 1계약 청산)
if CurrentEntries == MaxEntries Then
ExitLong("bx3_1",Atlimit,(dayhigh[BarsSinceEntry]-N2)+X1,"",1,1);
if CurrentEntries < MaxEntries Then
ExitLong("bx3_2",Atlimit,(dayhigh[BarsSinceEntry]-N2)+X2,"",1,1);
}
}
if MarketPosition == -1 Then{
if MaxEntries == 1 Then
ExitShort("sx1",Atlimit,EntryPrice-X1);
if MaxEntries == 2 Then{
ExitShort("sx2",Atlimit,(DayLow+N2)-X1);
#분할(두번째 진입가대비 X1수익나면 1계약청산,X2수익나면 1계약 청산)
if CurrentEntries == MaxEntries Then
ExitShort("sx3_1",Atlimit,(DayLow[BarsSinceEntry]+N2)-X1,"",1,1);
if CurrentEntries < MaxEntries Then
ExitShort("sx3_2",Atlimit,(DayLow[BarsSinceEntry]+N2)-X2,"",1,1);
}
}
if MarketPosition == 1 Then{
TL_Delete(TL1);
TL1 = TL_New(var1,var2,dayhigh[BarsSinceEntry],sdate,stime,dayhigh[BarsSinceEntry]);
TL_SetExtRight(tL1,True);
if MaxEntries == 1 and CurrentContracts > CurrentContracts[1] Then{
TL_Delete(TL2);
TL_Delete(TL3);
TL2 = TL_New(var1,var2,EntryPrice,sdate,stime,EntryPrice);
TL3 = TL_New(var3,var4,DayHigh[BarsSinceEntry],sdate,stime,EntryPrice);
TL_SetExtRight(tL2,True);
TL_SetExtRight(tL3,True);
TL_SetColor(TL3,BLUE);
}
if MaxEntries == 2 and CurrentContracts > CurrentContracts[1] Then{
TL_Delete(TL2);
TL_Delete(TL3);
TL2 = TL_New(var1,var2,(dayhigh[BarsSinceEntry]-N2),sdate,stime,(dayhigh[BarsSinceEntry]-N2));
TL3 = TL_New(var3,var4,DayHigh,sdate,stime,(dayhigh-N2));
TL_SetExtRight(tL2,True);
TL_SetExtRight(tL3,True);
TL_SetColor(TL3,GREEN);
}
}
if MarketPosition == -1 Then{
TL_Delete(TL1);
TL_Delete(TL2);
TL_Delete(TL3);
TL1 = TL_New(var1,var2,DayLow[BarsSinceEntry],sdate,stime,DayLow[BarsSinceEntry]);
TL_SetExtRight(tL1,True);
if MaxEntries == 1 and CurrentContracts > CurrentContracts[1] Then{
TL2 = TL_New(var1,var2,EntryPrice,sdate,stime,EntryPrice);
TL3 = TL_New(var3,var4,DayLow[BarsSinceEntry],sdate,stime,EntryPrice);
TL_SetExtRight(tL2,True);
TL_SetExtRight(tL3,True);
TL_SetColor(TL3,RED);
}
if MaxEntries == 2 and CurrentContracts > CurrentContracts[1] Then{
TL2 = TL_New(var1,var2,(DayLow+N2),sdate,stime,(DayLow+N2));
TL3 = TL_New(var3,var4,DayLow[BarsSinceEntry],sdate,stime,(DayLow+N2));
TL_SetExtRight(tL2,True);
TL_SetExtRight(tL3,True);
TL_SetColor(TL3,MAGENTA);
}
}
즐거운 하루되세요
> 황금의성 님이 쓴 글입니다.
> 제목 : 시스템 작성 요청
> 국내선물의 최근 변폭은 2.5포 내외가 되고 있습니다. 따라서 이런 시장상황에 맞게 레인지 매매를 하고자 합니다. 이에 맞는 신호발생기와 시스템을 부탁드립니다.
오전 10시 이후- 오후 2시 사이에 발생되게 하되,
당일 저점으로부터 고점까지의 변폭이 2.5포인트 상승하면 "매도1차" 신호가 발생
당일 저점으로부터 고점까지의 변폭이 3.0포인트 상승하면 "매도2차" 신호가 발생,
단, 1차 변폭과 2차 변폭은 input 변수로 처리하도록 함.
매도신호도 위와 반대로 하면 됩니다.
청산의 변폭은 디폴트 1포로 해주시되, 역시 input 변수로 처리할 수 있도록 해주십시요.
2개가 진입된 경우 동시청산을 원칙으로 하되, 2차로 나눠서 할 수 있는 방법이 있으면 그것도 제시해주십시요.
지표의 경우, 첨부한 그림처럼 매수신호가 발생하는 순간 고점과 신호발생지점에 각각 수평선이 그어지게 하고, 동시에 고점에서 저점까지 청색 대각선이 그어지게끔(반대로 매도신호의 경우는 저점과 신호발생지점까지 적색 대각선, 2차신호들은 각각 녹색, 분홍색) 해주시면 감사하겠습니다.
2014-03-06
222
글번호 73256
털보 님에 의해서 삭제되었습니다.
2014-03-06
0
글번호 73255
답변완료
문의
이격도를 이용한 (SMI) 지표식 부탁드립니다.
(이격도SMI) 지표식
2014-03-06
148
글번호 73254
회원 님에 의해서 삭제되었습니다.
2014-03-06
16
글번호 73253
답변완료
질문입니다
1
틱차트에서
5분의 (1)이동평균선이 아닌
5분의 틱봉갯수(1)이동평균선을 만들고 싶습니다
예)
시간이 1000000 크로스 할때 095501 의 인덱스 번호를 호출하여
지금 인덱스를 번호를 빼는 식입니다
만약
xx시 12분 09초 정도에 9분대의 첫틱이 나왔더라도
최근 7분의 1분을 뺀 11분01초 사이의 틱봉갯수
2
틱차트에서
분이 크로스 될때마다
가장 가까운 30분전 틱과의 틱봉수를 나타내고 싶습니다
2014-03-06
148
글번호 73252
답변완료
색상~~~
시스템 신호 난 봉에서 수직선 자동으로 그어지게는 안되는지요?
매수는 가장 가는 적색수직선 매도는 파랑선으로 자동으로 그어지게요~~~
2014-03-06
175
글번호 73251