커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

파워 님에 의해서 삭제되었습니다.

프로필 이미지
파워
2018-03-16
72
글번호 117477
종목검색

자라도 님에 의해서 삭제되었습니다.

프로필 이미지
자라도
2018-03-16
0
글번호 117476
시스템
답변완료

감사합니다 진심 어린 감사드려요

1,st002340 님이 수식 입니다----- 수정부탁드려봅니다 2, period (20) (60) (120) 추가하여 수정 부탁드려요 3, 아래수식에대한 설명도 부탁드립니다 input :Period(120), Type(1); Vars : sHH(0), sLL(0), lHH(0), lLL(0),Price(0),v0(0); Price = C; If Type == 1 Then V0 = ma(Price, Period); Else V0 = ema(Price, Period); If Price > V0 Then Begin sHH = H; sLL = L; End Else Begin sHH = sHH; sLL = sLL; End; If Price < V0 Then Begin lHH = H; lLL = L; End Else Begin lHH = lHH; lLL = lLL; End; If CurrentBar > 1 And lHH[1] > 0 And lLL[1] > 0 And sHH[1] > 0 And sLL[1] > 0 Then Begin Plot1(sHH, "사용X"); Plot2(sLL, "하락추세용"); Plot3(lHH, "상승추세용"); Plot4(lLL, "사용X"); End;
프로필 이미지
매치다는
2018-03-16
182
글번호 117475
지표
답변완료

피라미딩 안됨

수정 수식에서 선언되지 않은 input : pyra(0.8)을 추가하여 시뮬레이션 했음에도 피라미딩이 안됩니다. (별첨1) 질문 57082 건 피라미딩 수식 if MarketPosition == 1 Then buy("bb",AtStop,LatestEntryPrice(0)+Pyra); 에서 buy를 sell로 +pyra를 -pyra로 바꾼 것인데 저도 이렇게 했더니 안되서 문의드렸던 것입니다. 다시 살펴주시면 고맙겠습니다. ********************** 안녕하세요 예스스탁입니다. input : b1(9),b2(9),X1(9),X2(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000); var : T1(0),entry(0),HH(0),LL(0),EH(0),EL(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0); if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then{ T1 = TotalTrades; E1 = 0; HH = H; } if stime >= 시작시간 then{ if H > HH Then HH = H; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 Then{ if E1 == 0 and C <= HH-PriceScale*B1 and C[1] < HH-PriceScale*B1 Then{ E1 = 1; L1 = L; i1 = index; V1 = HH; //시작점 종가 } if E1 == 1 and index > i1 then{ if L < L1 Then L1 = L; #고가가 시작봉종가보다 작을 때만 눌림체크 if H <= V1 and H >= L1+PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = L1; } } //시작점 종가보다 높은 가격이 발생하면 초기화 if E1 >= 1 and H > V1 Then{ E1 = 0; HH = H; } if E1 == 2 and index > i1 and C <= S1-PriceScale*진입돌파 Then{ sell("s1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; HH = H; } if H > HH Then HH = H; if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{ if E1 == 0 and C <= HH-PriceScale*B2 and C[1] < HH-PriceScale*B2 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*진입돌파 Then{ sell("s2"); E1 = 0; } } if MarketPosition == -1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EL = L; E1 = 0; } if L < EL Then{ EL = L; E1 = 0; } if E1 == 0 and C >= EL+PriceScale*X1 Then{ E1 = 1; H1 = H; i1 = index; } if E1 == 1 and index > i1 Then{ if H > H1 Then H1 = H; if L <= H1-PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = H1; } } if E1 == 2 and index > i1 and C >= S1+PriceScale*청산돌파 Then{ ExitShort("sx1"); E1 = 0; } } } if MarketPosition == -1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EL = L; E1 = 0; } if L < EL Then{ EL = L; E1 = 0; } if E1 == 0 and C >= EL+PriceScale*X2 Then{ E1 = 1; H1 = H; i1 = index; } if E1 == 1 and index > i1 Then{ if H > H1 Then H1 = H; if L <= H1-PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = H1; } } if E1 == 2 and index > i1 and C >= S1+PriceScale*청산돌파 Then{ ExitShort("sx2"); E1 = 0; } } } if MarketPosition == 1 and MaxContracts < 5 Then sell("ss",AtStop,LatestEntryPrice(0)-Pyra); } 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 피라미딩 추가 > 아래 sell 수식에 피라미딩을 추가하고 싶습니다. * 0.8포인트씩 하락할 때마다 피라미딩 * input - pyra : 0.80 - 피라미딩누적한도 : 5개 항상 고맙습니다 *********************************** input : b1(9),b2(9),X1(9),X2(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000); var : T1(0),entry(0),HH(0),LL(0),EH(0),EL(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0); if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then{ T1 = TotalTrades; E1 = 0; HH = H; } if stime >= 시작시간 then{ if H > HH Then HH = H; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 Then{ if E1 == 0 and C <= HH-PriceScale*B1 and C[1] < HH-PriceScale*B1 Then{ E1 = 1; L1 = L; i1 = index; V1 = HH; //시작점 종가 } if E1 == 1 and index > i1 then{ if L < L1 Then L1 = L; #고가가 시작봉종가보다 작을 때만 눌림체크 if H <= V1 and H >= L1+PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = L1; } } //시작점 종가보다 높은 가격이 발생하면 초기화 if E1 >= 1 and H > V1 Then{ E1 = 0; HH = H; } if E1 == 2 and index > i1 and C <= S1-PriceScale*진입돌파 Then{ sell("s1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; HH = H; } if H > HH Then HH = H; if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{ if E1 == 0 and C <= HH-PriceScale*B2 and C[1] < HH-PriceScale*B2 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*진입돌파 Then{ sell("s2"); E1 = 0; } } if MarketPosition == -1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EL = L; E1 = 0; } if L < EL Then{ EL = L; E1 = 0; } if E1 == 0 and C >= EL+PriceScale*X1 Then{ E1 = 1; H1 = H; i1 = index; } if E1 == 1 and index > i1 Then{ if H > H1 Then H1 = H; if L <= H1-PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = H1; } } if E1 == 2 and index > i1 and C >= S1+PriceScale*청산돌파 Then{ ExitShort("sx1"); E1 = 0; } } } if MarketPosition == -1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EL = L; E1 = 0; } if L < EL Then{ EL = L; E1 = 0; } if E1 == 0 and C >= EL+PriceScale*X2 Then{ E1 = 1; H1 = H; i1 = index; } if E1 == 1 and index > i1 Then{ if H > H1 Then H1 = H; if L <= H1-PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = H1; } } if E1 == 2 and index > i1 and C >= S1+PriceScale*청산돌파 Then{ ExitShort("sx2"); E1 = 0; } } } }
프로필 이미지
좌오비우오비
2018-03-16
182
글번호 117469
시스템
답변완료

문의드립니다

한국투자증권 언어편집기 신호겁색 rsi Input : RPeriod(14), SignalPeriod(9); var : SValue(0), Signal(0), BuyCond(FALSE); SValue = RSI(RPeriod, Close); Signal = EMA(SValue,SignalPeriod); BuyCond = SValue Cross Above Signal; // 신호검색 IF BuyCond Then Begin Find(1); End; 10봉전 신호 검색은 어떻게 합니까
프로필 이미지
커피한잔
2018-03-16
174
글번호 117468
검색
답변완료

문의드립니다.

아래 검색식은 장중에는 검색이 안되는건가요?? 어제 저녁만해도 검색이 잘 됐는데 장중에는 결과값이 안나옵니다. input : ntime(93000); var1 = ma(C,20); var2 = ma(C,60); var3 = ma(C,120); if sdate != sdate[1] Then Condition1 = false; if ((sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime)) and var1 > var2 and var2 > var3 Then Condition1 = true; if Condition1 == true then find(1);
프로필 이미지
확실한수익
2018-03-16
159
글번호 117457
종목검색
답변완료

문의

국선 차트에 보조지표 스토케스틱 10,3,3 일때 stok 가 stod 를 상향할때 빨간점 하향할때 파란점 처럼 그려지게 부탁합니다 점이 찍히는 자리를 구해야 된다면 5이평선따라 그릴수있게 부탁합니다.
프로필 이미지
자라도
2018-03-16
218
글번호 117454
지표
답변완료

문의드립니다.

도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 코딩 변환 부탁드립니다. inputs: Period( 60 ), OBLevel( 90 ), OSLevel( 10 ), NormalLevel( 50 ) ; variables: Stoch1( 0 ), Stoch2( 0 ), Diff( 0 ), Range1( 0 ), Range2( 0 ), StressValue( 0 ) ; StressValue = 50 ; Stoch1 = 50 ; Stoch2 = 50 ; { raw stochastics for price1 and price2 } Range1 = Highest( High, Period ) - Lowest( Low, Period ) ; Range2 = Highest( High of Data2, Period) - Lowest( Low of Data2, Period ) ; if Range1 <> 0 and Range2 <> 0 then begin Stoch1 = ( Close - Lowest( Low, Period ) ) / Range1 ; Stoch2 = ( Close of Data2 - Lowest( Low of Data2, Period ) ) / Range2 ; { difference in stochastics } Diff = Stoch1 - Stoch2; { stress indicator } Range1 = Highest( Diff, Period ) - Lowest( Diff, Period ) ; if Range1 <> 0 then StressValue = 100 * ( Diff - Lowest( Diff, Period ) ) / Range1 ; end ; Plot1( StressValue, "Stress" ) ; Plot2( Stoch1 * 100, "D1 Stoch" ) ; Plot3( Stoch2 * 100, "D2 Stoch" ) ; Plot4( OBLevel, "OverBought" ) ; Plot5( OSLevel, "OverSold" ) ; Plot6( NormalLevel, "Normal" ) ;
프로필 이미지
잡다백수
2018-03-16
157
글번호 117451
시스템
답변완료

피라미딩 추가

아래 sell 수식에 피라미딩을 추가하고 싶습니다. * 0.8포인트씩 하락할 때마다 피라미딩 * input - pyra : 0.80 - 피라미딩누적한도 : 5개 항상 고맙습니다 *********************************** input : b1(9),b2(9),X1(9),X2(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000); var : T1(0),entry(0),HH(0),LL(0),EH(0),EL(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0); if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then{ T1 = TotalTrades; E1 = 0; HH = H; } if stime >= 시작시간 then{ if H > HH Then HH = H; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 Then{ if E1 == 0 and C <= HH-PriceScale*B1 and C[1] < HH-PriceScale*B1 Then{ E1 = 1; L1 = L; i1 = index; V1 = HH; //시작점 종가 } if E1 == 1 and index > i1 then{ if L < L1 Then L1 = L; #고가가 시작봉종가보다 작을 때만 눌림체크 if H <= V1 and H >= L1+PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = L1; } } //시작점 종가보다 높은 가격이 발생하면 초기화 if E1 >= 1 and H > V1 Then{ E1 = 0; HH = H; } if E1 == 2 and index > i1 and C <= S1-PriceScale*진입돌파 Then{ sell("s1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; HH = H; } if H > HH Then HH = H; if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{ if E1 == 0 and C <= HH-PriceScale*B2 and C[1] < HH-PriceScale*B2 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*진입돌파 Then{ sell("s2"); E1 = 0; } } if MarketPosition == -1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EL = L; E1 = 0; } if L < EL Then{ EL = L; E1 = 0; } if E1 == 0 and C >= EL+PriceScale*X1 Then{ E1 = 1; H1 = H; i1 = index; } if E1 == 1 and index > i1 Then{ if H > H1 Then H1 = H; if L <= H1-PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = H1; } } if E1 == 2 and index > i1 and C >= S1+PriceScale*청산돌파 Then{ ExitShort("sx1"); E1 = 0; } } } if MarketPosition == -1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EL = L; E1 = 0; } if L < EL Then{ EL = L; E1 = 0; } if E1 == 0 and C >= EL+PriceScale*X2 Then{ E1 = 1; H1 = H; i1 = index; } if E1 == 1 and index > i1 Then{ if H > H1 Then H1 = H; if L <= H1-PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = H1; } } if E1 == 2 and index > i1 and C >= S1+PriceScale*청산돌파 Then{ ExitShort("sx2"); E1 = 0; } } } }
프로필 이미지
좌오비우오비
2018-03-16
160
글번호 117450
시스템