커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
8028
글번호 230811
지표
답변완료

수식 의뢰합니다

macd 기준선 시스템으로 오전10시 15분부터 오후 5시 까지만 신호나오게 부탁드립니다
프로필 이미지
이공주7
2019-07-23
216
글번호 130553
시스템
답변완료

요청드립니다.

아래식에서 아래 사항에 대해 수정 요청드립니다. 1) 매수 매수가 -1, -2, -3.. 가 표시되면서 아래와 같이 매수 수량이 증가 되지 않습니다. n(15) 15개가 채워지기까지 지속적으로 매수가 발생되게 수정부탁드립니다. 2) 청산 Var2가 -2이상 (var2= -1,-2) 이면 매수 1개. Var2가 -3이하 (var2= -3,-4,-5..)이면 매수 2개 매수 input : n(10),u(3); var : tx(0),ll(0),hh(0); if (sdate != sdate[1] and stime >= 73000) or (sdate == sdate[1] and stime >= 73000 and stime[1] < 73000) Then { var1 = c; var2 = 0; } else { if H >= var1+PriceScale*10 Then { var1 = var1 + PriceScale*10; if var2[1] >= 0 Then var2 = var2+1; Else var2 = 1; tx = Text_New(sdate,stime,H,NumToStr(var2,0)); Text_SetColor(tx,RED); // if MarketPosition >= 0 or MaxContracts < n Then // sell("s",OnClose,def,1); } if L <= var1-PriceScale*10 Then { var1 = var1 - PriceScale*10; if var1 <= 0 Then var2 = var2-1; Else var2 = -1; tx = Text_New(sdate,stime,L,NumToStr(var2,0)); Text_SetColor(tx,BLUE); if MarketPosition <= 0 or MaxContracts < n Then Buy("b",OnClose,def,1); } } if MarketPosition == 1 then { if CurrentContracts > CurrentContracts[1] Then { hh = h; ll = l; } if h > hh Then hh = h; if l < ll Then ll = l; // ExitLong("bp1",AtStop,AvgEntryPrice+(PriceScale*100)/CurrentContracts); if hh >= AvgEntryPrice+(PriceScale*100)/CurrentContracts Then ExitLong("bp2",AtStop,hh-(hh-AvgEntryPrice)*0.2); if CurrentContracts >= 5 and C >= LL+PriceScale*20 and C < AvgEntryPrice and (C-AvgEntryPrice) <= -(CurrentContracts*U)*PriceScale Then ExitLong("bl1");
프로필 이미지
라떼처럼
2019-07-23
212
글번호 130545
시스템
답변완료

기준라인

답변대로 수식 방배열은 20개로 했고 시뮬레이션 최소값을 0.05부터 했으나 똑같은 문제가 발생합니다. 시뮬레이션에서 0과 3사이의 결과가 2개만 나오는데 중간에 0.5와 1.00과 1.5를 실제 대입하면 -2.84, 12.06, 10.18이 나옵니다.(수수료 0.0032, 슬리피지 진입,청산 2틱씩) 시뮬레이션에서 보이는 값과 하나하나 대입한 결과값이 다른 경우는 처음입니다. ************************************************************************************ 안녕하세요 예스스탁입니다. 1 Array : EP[10](0); 배열이 총 10개 방입니다. (0번방~9번방) 10개 이상 지정하시면 해당 배열의 방갯수도 늘려주셔야 합니다. 2 상승은 0보다 큰값을 지정하셔야 합니다. 상승 0은 해당 수식에서 의미가 없는 습니다. 0.05씩 상승하면 최소값을 0.05로 지정하시기 바랍니다. 즐거운 하루되세요 ********************************************************************************* input : 기준(265),상승(1.00); input : 손절1(50),익절1(300),TR1(150); input : 손절2(50),익절2(300),TR2(150); input : 손절3(50),익절3(300),TR3(150); input : 손절4(50),익절4(300),TR4(150); input : 손절5(50),익절5(300),TR5(150); input : 손절6(50),익절6(300),TR6(150); input : 손절7(50),익절7(300),TR7(150); input : 손절8(50),익절8(300),TR8(150); input : 손절9(50),익절9(300),TR9(150); input : 손절10(50),익절10(300),TR10(150); input : 손절11(50),익절11(300),TR11(150); input : 손절12(50),익절12(300),TR12(150); Array : EP[20](0); if MarketPosition == 0 and H < 기준+상승 and ExitDate(1) != sdate Then buy("b1",AtStop,기준+상승); if MarketPosition == 1 Then { var1 = (기준+상승) + 상승*MaxEntries; EP[MaxEntries] = LatestEntryPrice(0); if MaxEntries == 1 and H < var1 Then buy("b2",AtStop,var1); if MaxEntries == 2 and H < var1 Then buy("b3",AtStop,var1); if MaxEntries == 3 and H < var1 Then buy("b4",AtStop,var1); if MaxEntries == 4 and H < var1 Then buy("b5",AtStop,var1); if MaxEntries == 5 and H < var1 Then buy("b6",AtStop,var1); if MaxEntries == 6 and H < var1 Then buy("b7",AtStop,var1); if MaxEntries == 7 and H < var1 Then buy("b8",AtStop,var1); if MaxEntries == 8 and H < var1 Then buy("b9",AtStop,var1); if MaxEntries == 9 and H < var1 Then buy("b10",AtStop,var1); if MaxEntries == 10 and H < var1 Then buy("b11",AtStop,var1); if MaxEntries == 11 and H < var1 Then buy("b12",AtStop,var1); if MaxEntries >= 1 and EP[1] > 0 Then { ExitLong("bl1",AtStop,EP[1]-PriceScale*손절1,"b1"); ExitLong("bp1",Atlimit,EP[1]+PriceScale*익절1,"b1"); ExitLong("btr1",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR1,"b1"); } if MaxEntries >= 2 and EP[2] > 0 Then { ExitLong("bl2",AtStop,EP[2]-PriceScale*손절2,"b2"); ExitLong("bp2",Atlimit,EP[2]+PriceScale*익절2,"b2"); ExitLong("btr2",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR2,"b2"); } if MaxEntries >= 3 and EP[3] > 0 Then { ExitLong("bl3",AtStop,EP[3]-PriceScale*손절3,"b3"); ExitLong("bp3",Atlimit,EP[3]+PriceScale*익절3,"b3"); ExitLong("btr3",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR3,"b3"); } if MaxEntries >= 4 and EP[4] > 0 Then { ExitLong("bl4",AtStop,EP[4]-PriceScale*손절4,"b4"); ExitLong("bp4",Atlimit,EP[4]+PriceScale*익절4,"b4"); ExitLong("btr4",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR4,"b4"); } if MaxEntries >= 5 and EP[5] > 0 Then { ExitLong("bl5",AtStop,EP[5]-PriceScale*손절5,"b5"); ExitLong("bp5",Atlimit,EP[5]+PriceScale*익절5,"b5"); ExitLong("btr5",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR5,"b5"); } if MaxEntries >= 6 and EP[6] > 0 Then { ExitLong("bl6",AtStop,EP[6]-PriceScale*손절6,"b6"); ExitLong("bp6",Atlimit,EP[6]+PriceScale*익절6,"b6"); ExitLong("btr6",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR6,"b6"); } if MaxEntries >= 7 and EP[7] > 0 Then { ExitLong("bl7",AtStop,EP[7]-PriceScale*손절7,"b7"); ExitLong("bp7",Atlimit,EP[7]+PriceScale*익절7,"b7"); ExitLong("btr7",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR7,"b7"); } if MaxEntries >= 8 and EP[8] > 0 Then { ExitLong("bl8",AtStop,EP[8]-PriceScale*손절8,"b8"); ExitLong("bp8",Atlimit,EP[8]+PriceScale*익절8,"b8"); ExitLong("btr8",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR8,"b8"); } if MaxEntries >= 9 and EP[9] > 0 Then { ExitLong("bl9",AtStop,EP[9]-PriceScale*손절9,"b9"); ExitLong("bp9",Atlimit,EP[9]+PriceScale*익절9,"b9"); ExitLong("btr9",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR9,"b9"); } if MaxEntries >= 10 and EP[10] > 0 Then { ExitLong("bl10",AtStop,EP[10]-PriceScale*손절10,"b10"); ExitLong("bp10",Atlimit,EP[10]+PriceScale*익절10,"b10"); ExitLong("btr10",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR10,"b10"); } if MaxEntries >= 11 and EP[11] > 0 Then { ExitLong("bl11",AtStop,EP[11]-PriceScale*손절11,"b11"); ExitLong("bp11",Atlimit,EP[11]+PriceScale*익절11,"b11"); ExitLong("btr11",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR11,"b11"); } if MaxEntries >= 12 and EP[12] > 0 Then { ExitLong("bl12",AtStop,EP[12]-PriceScale*손절12,"b12"); ExitLong("bp12",Atlimit,EP[12]+PriceScale*익절12,"b12"); ExitLong("btr12",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR12,"b12"); } }
프로필 이미지
목마와숙녀
2020-01-20
282
글번호 130544
시스템
답변완료

종목 검색 문의드립니다.

종목검색 문의드립니다. var1 , var2가 설정되어 있으며 C가 var1보다 크고, var2보다 작은 종목을 검색하는 식을 알고 싶습니다.
프로필 이미지
한글나라
2019-07-23
216
글번호 130543
종목검색
답변완료

문의드립니다.

해외선물을 매매하려고 합니다. 아침 7시부터 매매신호에 따라 매수 또는 매도로 진입하고 그 다음날 새벽 5시50분에 보유 종목이 있으면 청산합니다. 매수 : 무포지션이나 매도포지션에서 최근의 30봉 안에 양봉이 5연속 벌생하거나 또는 음봉이 5연속 발생하고 종가가 시가보다 1틱 이상인 양봉이 3연속으로 양봉이고 양봉들은 최초1양봉종가<2번째양봉종가<3번째양봉종가 될 때 매수진입합니다. 매수청산; 진입후에 5 매수이익이 5틱나면 무조건 이익청산합니다. 매도 : 무포지션이나 매수 포지션에서 최근의 30봉 안에 양봉이 5연속 벌생하거나 또는 음봉이 5연속 발생하고 종가가 시가보다 1틱 이하인 음봉이 3연속으로 음봉이고 음봉들은 1음봉종가>2음봉종가>3음봉종가 될 때 매도진입합니다. 매도청산; 진입후에 수익이 5틱나면 무조건 이익청산합니다.
프로필 이미지
종호
2019-07-23
228
글번호 130538
시스템
답변완료

시스템

62713번수정부탁드립니다 수고하세요
프로필 이미지
용각산
2019-07-23
201
글번호 130537
시스템

2wnwn 님에 의해서 삭제되었습니다.

프로필 이미지
2wnwn
2019-07-22
16
글번호 130536
지표
답변완료

안녕하세요?

안녕하세요. 부탁 드립니다. 연결선물 3분 기준 Var : value(0); value = 0; # 매수 / 매도청산 If CCI(9) > 0 Then value = 1; If MACD(12,26) > 0 Then value = value+1; If DIPlus(14) > DIMinus(14) Then value = value+1; If StochasticsK(12,5) > StochasticsD(12,5,5) Then value = value+1; # 매수/매도청산 If value >= 3 Then { Buy("매수"); } value = 0; # 매도/매수청산 If CCI(9) < 0 Then value = 1; If MACD(12,26) < 0 Then value = value+1; If DIPlus(14) < DIMinus(14) Then value = value+1; If StochasticsK(12,5) < StochasticsD(12,5,5) Then value = value+1; If value >= 3 Then { Sell("매도"); } 위 조건에 20 이평 골든 크로스 매수. 데드 크로스 매도. 거래량 3.000 개 이상, 신호발생 후 손절은 10틱. 152900강제청산 수식추가 부탁드립니다. 수고 하세요.
프로필 이미지
시그너스
2019-07-23
247
글번호 130535
시스템
답변완료

안녕하세요 수식문의 드립니다.

안녕하세요 수식문의 드립니다. 1). 아래의 수식을 시간대별로 적용하려 합니다. ㄱ). 아래의 수식을 9시00분 부터 09시 10분까지만 적용되도록한다(1차로 적용), ㄴ). 동일의 수식을 15시 00분부터 15시 20분까지만 적용되도록한다(2차로 적용), 아래 수식에 ㄱ). 과 ㄴ). 의 조건이 동시에 구현되는 수식을 부탁드립니다. Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 감사합니다.
프로필 이미지
금보
2019-07-22
235
글번호 130534
시스템