커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8052
글번호 230811
답변완료
질문드립니다
다음의 필터를 잘 쓰고 있습니다.
틱 하나가 생성되는 시간을 표시하는 수식인데요.
다시 한번 감사드리고 싶구요.
수식
var : SS(0),TS(0),second(0);
var1 = TimeToMinutes(stime)*60;
var2 = FracPortion(stime/100)*100;
SS = var1+var2;
value1 = TimeToMinutes(time)*60;
value2 = FracPortion(time/100)*100;
TS = value1+value2;
if sdate == date Then
Second = TS-SS;
Else
Second = 86400-SS + TS;
plot1(Second,"틱봉완성시간");
plot2(ma(Second,10),"10개봉평균");
그런데 틱 하나가 생성되는 시간이 60초 이상일 때는
그 위는 더이상 표기가 안됐으면 좋겠습니다. 오래걸릴땐 너무 위까지 올라가더라구요.
그냥 천장에 붙듯이, 혹은 그냥 넘어가버리고 화면에만 표기안되게 하면 됩니다.
가능할까요?
항상 감사합니다. 좋은 하루 되세요.
2019-02-22
217
글번호 126445
답변완료
문의드립니다
1.분봉차트에서, 임의 지점에서 4%이상에서 강조바가 표시된후에 8%까지만 나타나게 부탁드립니다.
2. 반대로 -4%이하에서 강조바가 표시된후에 -8%까지만 나타나게 해주세요.
2019-02-22
204
글번호 126444
답변완료
검색식 부탁합니다
고생합니다
기간내 sigma 지표 최저값 검색식부탁합니다, 저 sigma 최저값 신호까지 만드러서
실행 됬어는대 검색식은 시스탬 과부하걸려서 에러 떠버리네요
수고하십시요
2019-02-21
233
글번호 126443
푸른 님에 의해서 삭제되었습니다.
2019-02-21
2
글번호 126442
답변완료
data2 누적평균값 및 전일부터 D-5까지 최고저 값 지표 문의
분봉에서 data2 종목을 기준으로
1. data2 종목의 당일 누적거래량/data2 종목의 당일 누적거래대금
data2 종목의 당일 누적평균가격을 지표로 만들어 주세요.
분봉에서 당일 기준(D)으로
2. 전일(D-1)부터 D-5일까지의 최고가, 최저가 및 중간값을 지표로 만들어 주세요
2019-02-21
203
글번호 126441
답변완료
부탁드립니다
분봉에서 당일최고거래량 캔들이 발생하면 소리가 나도록 부탁드립니다~
2019-02-21
211
글번호 126440
답변완료
수식 부탁합니다.
쿠르드 오일 해외선물 1분봉 기준입니다.
매도진입-청산 수식
1. 당일 매수 당일 청산기준입니다.
2. 1일 1회 진입 청산입니다. ( 1회만 진입후 진입 금지 )
3. 진입조건 " 시가 + 100 tick 도달시 즉시 진입 " 매도 진입 "
4. 청산조건: 30tick 이익 발생시 바로 청산 -30tick 손실발생시 바로 청산
5. 새벽 6시까지 청산이 안될때는 강제 청산 (6시)
매수진입-청산 수식
1. 당일 매수 당일 청산기준입니다.
2. 1일 1회 진입 청산입니다. ( 1회만 진입후 진입 금지 )
3. 진입조건 " 시가 - 100 tick 도달시 즉시 진입 " 매수 진입 "
4. 청산조건: 30tick 이익 발생시 바로 청산 -30tick 손실발생시 바로 청산
5. 새벽 6시까지 청산이 안될때는 강제 청산 (6시)
2019-02-21
199
글번호 126439
답변완료
재문의드립니다.
답변으로 인하여 매수, 청산 파일에 적용하여 61419 문제가 어느정도 해결되었습니다. 그런데
매수, 청산 조건에서 start2의 수식이 적용되지 않는것 같습니다. start1은 적용이 되어 매매가 되는데 start2가 적용이 되지 않습니다.T.T
Input : 당일손실틱수(500);
input : start1(163000),end1(233000);
input : start2(000000),end2(050000);
Var : N1(0),dayPl(0),당일손실(0),Xcond(false);
var : Tcond(false);
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit[1];
}
if (sdate != sdate[1] and stime >= start1) or
(sdate == sdate[1] and stime >= start1 and stime[1] < start1) then
{
Tcond = true;
SetStopEndofday(end1);
}
if (sdate != sdate[1] and stime >= end1) or
(sdate == sdate[1] and stime >= end1 and stime[1] < end1) then
{
Tcond = false;
SetStopEndofday(0);
}
if (sdate != sdate[1] and stime >= start2) or
(sdate == sdate[1] and stime >= start2 and stime[1] < start2) then
{
Tcond = true;
SetStopEndofday(end2);
}
if (sdate != sdate[1] and stime >= end2) or
(sdate == sdate[1] and stime >= end2 and stime[1] < end2) then
{
Tcond = false;
SetStopEndofday(0);
}
당일손실 = PriceScale*당일손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbl",1) == true or
IsExitName("dsl",1) == true or
daypl <= -당일손실) then
Xcond = true;
if MarketPosition == 1 then
{
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then
{
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
If DayIndex == 0 Then
{
K_Value_Pos_Flag = 0;
매매조건_K_Flag = 0;
현재진입이후봉개수 = 0;
}
If Tcond == true and Xcond == false Then
{
//*******************************************************************************************************
//*******************************************************************************************************
If MarketPosition(0) == 1 Then
{
// 청산: LMS_ADX_STK_G If (LMSADXSTKPGP_Color == -1) || (ADX_2015_Flag == -1) Then
{
ExitLong("청산", OnClose, Close, DEF, 매수_수량, 1);
매매조건_K_Flag = 0;
}
// 호가청산
If 호가청산사용 == 1 Then
{
ExitLong(".청산", AtLimit, (EntryPrice + (호가Pt)), DEF, 매수_수량, 1);
호가청산_Flag = 1;
}
}
If (UPDOWN_Flag == 1) && (LMSADXSTKPGP_Flag == 1) Then
{
If (MarketPosition(0) == 0) Then
{
If (호가청산_Flag == 0) Then
{
Buy("매수", OnClose, DEF, 매수_수량);
매매조건_K_Flag = 1;
}
}
}
If (LMSADXSTKPGP_Color == -1) || (ADX_2015_Flag == -1) Then
{
호가청산_Flag = 0;
}
}
=======================================================================================
또 문의 드릴것은
매도, 청산 시스템에 동일하게 적용하였는데 호가pt를 지정하여 호가pt에 청산이 되지 않아 다시 문의를 드립니다.
매수,청산만 있는 수식과 매도,청산만 있는 수식에 차이가 있나요? 매수수식을 그대로 매도수식에 적용하니 호가pt가 적용되지 않고 좀 에러가 있는것 같습니다. 도와주십시오
매도, 청산 기준을 아래 시간대와 당일손실로 다시한번 더 부탁드리겠습니다.
호가PT를 지정하여 청산이 되지 않는 이유는 무엇인가요?
Input : 시작시간(000000), 종료시간(240000);
Var : K_Value_Pos_Flag(0);
Var : 매매조건_K_Flag(0);
Var : 현재진입이후봉개수(0);
If DayIndex == 0 Then
{
K_Value_Pos_Flag = 0;
매매조건_K_Flag = 0;
현재진입이후봉개수 = 0;
}
If (sTime >= 시작시간) And (sTime <= 종료시간) Then
{
If MarketPosition(0) == -1 Then
{
If (LMSADXSTKPGP_Color == 1) || (ADX_2015_Flag == 1) Then
{
ExitShort("청산", OnClose, Close, DEF, 매도_수량, 1);
매매조건_K_Flag = 0;
}
If 호가청산사용 == 1 Then
{
ExitShort(".청산", AtLimit, (EntryPrice - (호가Pt)), DEF, 매도_수량, 1);
호가청산_Flag = 1;
}
}
If (UPDOWN_Flag == -1) && (LMSADXSTKPGP_Flag == -1) Then
{
If (MarketPosition(0) == 0) Then
{
If (호가청산_Flag == 0) Then
{
Sell("매도", OnClose, DEF, 매도_수량);
매매조건_K_Flag = 1;
}
}
}
If (LMSADXSTKPGP_Color == 1) || (ADX_2015_Flag == 1) Then
{
호가청산_Flag = 0;
}
}
SetStopEndofday(StrToNum(LeftStr(NumToStr(종료시간, 0), 4)));
위와 같이 되어있는데 위 조건을 아래와 같이 시간을 나누려고 합니다.
Input : 시작시간1(103000), 종료시간1(133000);
Input : 시작시간2(000000), 종료시간2(020000);
Input : 시작시간3(050000), 종료시간2(060000);
수식부탁드립니다.
2번째 질문은 위 수식기준 당일순손실 50틱 이하면 거래중단 식을 부탁드립니다.
감사합니다.
2019-02-22
221
글번호 126438
2wnwn 님에 의해서 삭제되었습니다.
2019-02-21
30
글번호 126437