커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4423
글번호 230811
답변완료
1시간봉
틱챠트에서 1시간봉 종가 라인과
2시간봉 종가 라인을 그리고 싶은데
부탁드리겠습니다.
2018-08-13
214
글번호 121314
답변완료
아래 질문 그림 재첨부
그림파일 첨부를 해도 보이지 않아서 다시 올려봅니다.
2018-08-13
224
글번호 121313
답변완료
수식 수정 부탁드립니다.
기존 내용들을 검색을 통해 공부를 해가며 수식을 만들어 보고 있는데, 잘 안되네요.
도움 부탁드립니다.
감사합니다.
[질문 2개중 첫번째]
*원하는 내용: 기존 밴드돌파식 + 조건을 추가.
*추가조건 내용: "파라볼릭이 상승추세로 돌아선 후, 추세 표시되는 첫봉은 매수 진입 안하고, 그 다음봉에서부터 진입하는 매수식"을 만들고 싶습니다.
*만들어 본 시스템식:
input: period(20),nsd(2.0),StopPer(5);
Input: AF(0.02),maxAF(0.2);
vars: maV(0), bandup(0), banddn(0);
Vars: ParabolicValue(0), idx(0); // idx ; 파라볼릭 추세변경후 봉의 순서를 매김.
maV = ma(close,period);
bandup = BollBandUp(period,nsd);
banddn = BollBandDown(period,nsd);
ParabolicValue = SAR(AF, maxAF);
if crossup(C,ParabolicValue) Then
idx = 0;
/* if CrossDown(C,ParabolicValue) Then // --> 현물이라 여기는 지웠습니다.
idx = 0;
*/
idx = idx+1;
if CrossuP(close , bandup)
and idx > 0
//-> idx 순서로 파라볼릭 상승 첫봉 제외,두번째 봉부터를 나름 의도했지만 잘 안되네요.
idx >= 2로 해도 마찬가지고요.
then Buy("B");
if marketposition > 0 then
SetStopLoss(StopPer,PercentStop);
[질문 2개중 두번째]
파라볼릭 추세 전환시점부터 봉 번호를 부여하는 지표식을
이곳 수식작성Q&A에서 다음과 같이 봤습니다.
이 지표식을 실제 전략실행차트에서 보니 전환시작점에 해당하는 봉번호가 1로 나오지만,
어떤 것은 전혀 다른 4나 10등 1을 훨씬 넘어서는 것도 나오는데 이유를 알고 싶습니다.
(차트 그림 참조; 원으로 표시한 부분.)
-다음-
Input : af(0.02), maxAF(0.2);
var : idx(0);
var1 = SAR(af,maxAF);
if crossup(C,var1) Then
idx = 0;
if CrossDown(C,var1) Then
idx = 0;
idx = idx+1;
plot1(idx);
2018-08-12
248
글번호 121312
답변완료
식문의드립니다.
안녕하십니까, 항상 감사드립니다.
추가로 설정부탁드리고자 합니다.
기존 여쭤봤던 아래식이고 제가 하고자 하는것 말씀드립니다.
기존은 다음날에만 비율조정이 발생하는데
당일 분봉으로도 비율조정이 발생되도록 부탁드립니다.
18년6월1일에 10시로 일자 설정했을시
고점가격, 저점가격을 제가 설정하여(현재 가격과 상관없이)
비율이 정해지고
당일 10시 이후에 위에 앞에서 설정한 고점가격을 넘어섰을시
그 가격에 맞게 비율이 조정됩니다.
진입 1일 1회는 설정한 시간(10시) 이후에만 발생됩니다.
청산조건가격도 설정한 시간(10시) 이후에만 설정됩니다.
------------------------------------------------------
input : ndate(20180601),ntime(90000),수량(1),고점(100),저점(90);
input : 매매구분(1),rate(0.652),청산1(0.7),청산2(0.6),청산조건가격(0.4),손절(0.3);
var : Tcond(false),HH(0),ll(0),t1(0),entrycount(0),dd(0),gap(0);
if bdate != bdate[1] Then
t1 = TotalTrades;
if MarketPosition == 0 Then
entrycount = TotalTrades-t1;
Else
entrycount = TotalTrades-t1+1;
if sdate == ndate and stime == ntime Then
{
Tcond = true;
hh = 고점;
ll = 저점;
dd = sdate;
}
if Tcond == true then
{
if sdate > dd and H > hh Then
hh = h;
var1 = hh-(hh-LL)*rate;
if 매매구분 == 1 and entrycount < 1 and L > var1 and stime < 144000 Then
buy("b",AtLimit,var1,수량);
}
if MarketPosition == 1 Then
{
gap = (EntryPrice-var1[BarsSinceEntry])/var1[BarsSinceEntry]*100;
if lowest(L,BarsSinceEntry) > (hh-(hh-LL)*청산조건가격)*(1+gap/100) then
ExitLong("bp1",atlimit,(hh-(hh-LL)*청산1)*(1+gap/100));
Else
ExitLong("bp2",atlimit,(hh-(hh-LL)*청산2)*(1+gap/100));
ExitLong("bl",AtStop,(hh-(hh-LL)*손절)*(1+gap/100));
}
SetStopEndofday(151500);
2018-08-12
207
글번호 121311
스누피독 님에 의해서 삭제되었습니다.
2018-08-12
1
글번호 121310
답변완료
피라미딩시 일괄매도
안녕하세요 더운데 고생이 많으십니다.
피라미딩으로 1계약씩 10번 매수해서 10계약이 되었는데
매도를 하면 주문번호가 10번 생기면서 각각 매도하게 되던데
그렇게 말고 한번에 10계약이 한주문번호로 나가게 할 수 있는 수식이 있나요?
atmarket, onclose,atstop, atlimit 모두 10번에 나놔서 주문이 나가서 주문번호가 10개 생성됩니다.
한주문 번호로 한번에 나가는 방법 알려주시면 고맙겠습니다.
감사합니다
2018-08-11
212
글번호 121309
답변완료
함수 추가요청
타주기에 대해서 문의하는 내용이 많은데
weekOpen,weekClose,weekHigh,weekLow,monthO,monthC,monthH,monthL등을 dayHigh,dayLow,dayOpen,dayClose와 같이 제공하면 쉬울텐데...
하는 생각을 많이 합니다. 제공 가능성이 있는지 알고 싶습니다.
2018-08-11
226
글번호 121308
답변완료
오류 문의드립니다.
주봉값을 쓰려고 아래와 같이 _weekClose 를 만들었습니다.
////////////////////////////
Input:n(Numeric);
Var:j(0);
Array:WeekC[1000](0);
If Date[1] < Date and _DayOfWeek[1] >= _DayOfWeek Then
{
For j = 999 DownTo 1
{
WeekC[j] = WeekC[j-1];
}
}
WeekC[0] = C;
_WeekClose = WeekC[n];
//////////////////////////////
위 주봉종가를 써서 아래와 같이 쓰려는데...
Input : Period(NumericSimple);
Var : value1(0), value2(0), value3(0);
value1 = ema(_WeekClose, Period);
value2 = ema(value1, Period);
value3 = ema(value2, Period);
_weekTRIX = (value3 - value3[1]) / value3[1] * 100;
/////////////////////////////////////////////////////
"외부함수의 입력값이 1개 필요합니다."
하고 메세지가 뜨네요....어딜 만져야 할까요...?
2018-08-11
195
글번호 121307
답변완료
수식 문의드립니다.
안녕하세요
수식 문의 2가지만 드립니다.
1.
스토캐스틱(StoK)와 RSI 지표가 둘다 90 이상이 된 시점부터
10분봉의 BAR가 20개 이내에서는 매도 진입을 못하고
21개 이후 시점 부터 RSI 지표가 60 이하인 경우 매도 진입을 하고자 합니다.
수식을 어떻게 작성해야 할까요?
2.
A 진입 후, B, C 진입을 추가적으로 하였습니다.
이때 C 진입에 대해서만...
선물 2포인트 수익이 발생하는 경우 청산하고자 합니다.
A, B는 별도 청산시까지 지속 보유가 필요합니다.
If
isEntryName("C")==True
Then
{
SetStopProfittarget(3,PointStop) ;
}
라고 작성하는 경우에는 A,B,C 모두 3포인트 수익시 청산됩니다.
C만 청산되게 수정 부탁드립니다.
더운 여름에 항상 감사합니다.
2018-08-11
209
글번호 121306