커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7233
글번호 230811
답변완료
문의드립니다
아래 전략에서 첨부파일처럼 신호 발생되면 신호 나온 봉 포함해서 5봉전까지 고점이나 저점에
고점엔 청색 점선으로 저점에 갈색 점선으로 나오게 수정 부탁드립니다
input : af(0.02),maxaf(0.2),굵기(3);
var : T(0),TL1(0);
var1 = sar(af,maxaf);
if crossup(c,var1) Then
{
buy();
T = 1;
value1 = H;
value11 = sdate;
value12 = stime;
value13 = index;
if value2 > 0 Then
{
T = 2;
TL1 = TL_New(value21,value22,value2,sdate,stime,value2);
TL_SetColor(TL1,pink);
TL_SetStyle(TL1,3);
TL_SetSize(TL1,굵기);
}
}
if CrossDown(c,var1) Then
{
sell();
T = -1;
value2 = L;
value21 = sdate;
value22 = stime;
value23 = index;
if value1 > 0 and index <= value13+5 Then
{
T = -2;
TL1 = TL_New(value11,value12,value1,sdate,stime,value1);
TL_SetColor(TL1,BLUE);
TL_SetStyle(TL1,3);
TL_SetSize(TL1,굵기);
}
}
if T == 1 then
{
if H > value1 Then
{
value1 = H;
value11 = sdate;
value12 = stime;
value13 = index;
}
}
if T == 2 then
TL_SetEnd(TL1,sdate,stime,value2);
if T == -1 Then
{
if L < value2 Then
{
value2 = L;
value21 = sdate;
value22 = stime;
value23 = index;
}
}
if T == -2 then
TL_SetEnd(TL1,sdate,stime,value1);
2018-08-02
204
글번호 121077
대단한콩 님에 의해서 삭제되었습니다.
2018-08-02
0
글번호 121076
답변완료
수식 요청 드립니다.
안녕하세요.
연결선물 당일청산 분봉 틱봉 피라미딩 시스템에서
1. 진입수식 매수 피라미딩 매수진입
-> 참조데이터 data2 당일 프로그램순매수금액이 당일 최고금액보다 30% 감소시 청산
2. 진입수식 매도 피라미딩 매도진입
-> 참조데이터 data2 당일 프로그램순매수금액이 당일 최저금액보다 30% 증가시 청산
청산수식 요청 드립니다.
감사합니다.
2018-08-02
209
글번호 121075
답변완료
지표부탁드립니다.
1.100틱차트에서 500틱 볼밴 나타내는 수식부탁드립니다
2.100틱차트에서 700틱 볼밴 나타내는 수식부탁드립니다
3.100틱차트에서 500틱 일목기준 나타내는 수식부탁드립니다
더운 날씨에도 항상 감사드립니다
2018-08-02
236
글번호 121074
파일럿 님에 의해서 삭제되었습니다.
2018-08-02
0
글번호 121073
답변완료
문의
예수금에는 매도 3개가 있는데 스팟식에서 인식을 못하는데요
왜그런지 알려주세요 ?
추가질문입니다.
미완성 신호와 완성신호는 해당봉에서만 유효한건가요 ? 아니면 다음 신호 발생때까지 유효한건가요 ?
2018-08-02
230
글번호 121072
답변완료
58847
안녕하세요.
문의글 58847번의 연장입니다.
알려주신 지표로는 거래시간(20:00 ~ 익일 05:00)이 제대로 표시가 됩니다.
그런데, 막상 시스템 수식에서는 20시가 아닌 자정 이후부터 거래가 시작이 됩니다.
아래는 테스트를 위해서 만든 간단한 시스템 수식입니다. (컴파일 / 실행 가능)
대부분의 진입로직을 제외하고는 거의 알려주신 그대로 적용했습니다.
//--------- 미국 CME 거래소 매매용 ---------//
Inputs: SSTIME(200000), EETIME(050000);
Vars: ST(0), ET(0), Year(0), TimeCond(False);
Vars: MP(0);
Inputs: Exit_L(40);
MP = MarketPosition;
//--------- 써머타임 체크 로직 ---------//
Year = Floor(sDate / 10000);
Var18 = DayofWeek( (10000 * Year) + (100 * 3) + 1 );
If Var18 == 0 Then Value98 = 8;
Else Value98 = 15 - Var18; // 3월 두번째 일요일 날짜
Var20 = DayofWeek( (10000 * Year) + (100 * 11) + 1 );
If Var20 == 0 Then Value99 = 1;
Else Value99 = 8 - Var20; // 11월 첫번째 일요일 날짜
If sDate > (10000 * Year) + (100 * 3) + Value98 And sDate < ( 10000 * Year) + (100 * 11) + Value99 Then
Begin
ST = 070000; // 써머타임 적용 시, 장 시작 시간
ET = 060000; // 써머타임 적용 시, 장 종료 시간
End
Else
Begin
ST = 080000; // 장 시작 시간
ET = 070000; // 장 종료 시간
End;
//--------- 시간과 봉 계산 ---------//
CONDITION1 = ( IntPortion(Time / 10000) > IntPortion(ET / 10000) And IntPortion(Time[1] / 10000) <= IntPortion(ET / 10000) ) Or ST <> ST[1];
//------- 매매 시간대 -------//
If (sDate != sDate[1] and sTime >= SSTIME) or (sDate == sDate[1] and sTime >= SSTIME and sTime[1] < SSTIME) Then
Begin
//MessageLog("SSTIME @TimeLogic = %.f", SSTIME);
TimeCond = True;
End;
If (sDate != sDate[1] and sTime >= EETIME) or (sDate == sDate[1] and sTime >= EETIME and sTime[1] < EETIME) Then
Begin
//MessageLog("EETIME @TimeLogic = %.f", EETIME);
TimeCond = False;
End;
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
//--------- 진입 로직 ---------//
If TimeCond Then
Begin
If CrossUp(Value1, Value2) Then Buy();
If CrossDown(Value1, Value2) Then Sell();
End;
//--------- 손절 로직 ---------//
//SetStopLoss(Exit_L * TickSize * CurrentContracts, PointStop);
SetStopLoss(Exit_L * PriceScale , PointStop);
// 장 마감 전 모든 포지션 강제청산
If (MP <> 0) then SetStopEndofday(051430);
2018-08-01
286
글번호 121071
답변완료
문의드립니다
1
Var : cnt_total(0);
Var : Entrycnt(0);
Entrycnt = 0;
for cnt_total = 0 to 100
{ if sdate == EntryDate(cnt_total)
Then Entrycnt = Entrycnt+1;}
input : stime11(90000);
input : stime12(95900);
if MarketPosition == 0
and entrycnt <1
and Time >= stime11
and Time <= stime12
and RSI(10) > 60
Then
buy("매수");
if MarketPosition == 0
and entrycnt <1
and Time >= stime11
and Time <= stime12
and RSI(10) < 40
Then
sell("매도");
SetStopLoss(0.21,PointStop);
SetStopProfittarget( 0.50 ,PointStop);
SetStopTrailing(0.30,0.10,PointStop);
위의 기본식에서
매수
매도
시그널이 나오고
N봉 뒤 진입을 하고 싶습니다
2
1번 기본식에서
매수시그널이 나오면
청산 시그널이 나오기 전까지
봉에 +1 +2 +3 +4.... 이런식으로 번호를 매기고 싶습니다
1번 기본식에서
매도시그널이 나오면
청산 시그널이 나오기 전까지
봉에 -1 -2 -3 -4.... 이런식으로 번호를 매기고 싶습니다
2018-08-01
210
글번호 121070
답변완료
지표 수식 문의드립니다
안녕하세요.
var1 = ma(c,5);
var2 = ma(c,10);
var3 = ma(c,15);
var4 = ma(c,20);
var5 = ma(c,25);
var6 = ((var1-lowest(var1,20))/(highest(var1,20)-lowest(var1,20)));
var7 = ((var2-lowest(var2,20))/(highest(var2,20)-lowest(var2,20)));
var8 = ((var3-lowest(var3,20))/(highest(var3,20)-lowest(var3,20)));
var9 = ((var4-lowest(var4,20))/(highest(var4,20)-lowest(var4,20)));
var10 = ((var5-lowest(var5,20))/(highest(var5,20)-lowest(var5,20)));
var11 = (var6+var7+var8+var9+var10)/5;
* 구하는 수식은 위수식을 기본수식으로, 아래함수에 나오는 x값을 지표로 만들고자 합니다.
아래수식은 설명을 위한 별개의 함수로, 아래수식을 참고용으로 대신 하겠습니다.
* 예를들면 var11의 값이 0.5555 이고 종가가 100 이면,
var11+0.0001 인 0.5556 일때의 x값(종가)을 구하고자 합니다.
* var6에서 var11 까지의 값은 모두 최대값 1, 최소값 0 입니다.
var11의 값이 1 보다 작을 때는 var11+0.0001을,
var11의 값이 1 일때만 var11-0.0001을 적용합니다.
var21 = (c에서c[3]+ x값)/5;
var22 = (c에서c[8]+ x값)/10;
var23 = (c에서c[13]+ x값)/15;
var24 = (c에서c[18]+ x값)/20;
var25 = (c에서c[23]+ x값)/25;
var26 = ((var21-lowest(var21,20))/(highest(var21,20)-lowest(var21,20)));
var27 = ((var22-lowest(var22,20))/(highest(var22,20)-lowest(var22,20)));
var28 = ((var23-lowest(var23,20))/(highest(var23,20)-lowest(var23,20)));
var29 = ((var24-lowest(var24,20))/(highest(var24,20)-lowest(var24,20)));
var30 = ((var25-lowest(var25,20))/(highest(var25,20)-lowest(var25,20)));
var31 = (var26+var27+var28+var29+var30)/5;
(예) var11 = 0.5555 이면, var31 = 0.5556의 수식을 만족하는 x값,
var11 = 1.0000 이면, var31 = 0.9999의 수식을 만족하는 x값을
선으로 그리고자 합니다.
* 무더운 여름 잘 보내시고, 항상 좋은 하루가 되었으면 합니다.
2018-08-01
251
글번호 121068