커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

늘 고맙습니다

늘 고맙습니다 시가 고가 나타내듯이 전일의 최고 거래량을 지표로 나타내고 싶습니다 가능한지요? 늘 고맙습니다
프로필 이미지
안미남
2021-04-16
576
글번호 148093
지표

푸른 님에 의해서 삭제되었습니다.

프로필 이미지
푸른
2021-04-16
32
글번호 148084
시스템
답변완료

부탁드립니다

#,71970질문에 보충설명하였습니다,확인요청드립니다.
프로필 이미지
크라켄
2021-04-16
521
글번호 148083
지표
답변완료

수식 관련 문의드립니다.

안녕하세요. 상세한 설명 감사합니다. 문의 사항이 두가지 있습니다. 1. 그럼 만약에 매수 포인트를 제가 지정입력해서 매번 그 포인트에 도달되면 매수 or 매도가 되고, 자동으로 손절포인트 설정되게 할 순 있나요? 예를 들면 어제 AUD 기준으로 0.77240매수 -> 0.77340 매수 -> 0.77440 매수 -> 0.77540 매수 후에 각 포인트마다 손절라인 0.001 걸어놓고, 장 종료시에 청산되게 할 순 있는지 문의드립니다. 시스템 가동전에 위에 매일 저 포인트들만 수정해서 적용시키면 될 것 같은데... 2. 피라미딩 진입시 모든신호 진입과 다른신호 진입이 있는데 아래 수식을 적용시켜보면 보통 작성자님의 피라미딩 진입시 다른신호 진입 설정해서 하라고 하는데 그러면 진입하는 거래들이 몇 번 안되더라구요. 모든신호 진입으로 설정하면 각각 0.001포인트마다 진입이 되긴 하는데 청산되는 포인트가 생각하는 포인트에서 청산되지 않는것 같습니다. 다른신호 진입과 모든신호 진입의 차이점이 무엇인가요? ============================================================================ 안녕하세요 예스스탁입니다. 1 작성해 드린 수식이 지정한 포인트변동으로 진입청산이 되는 수식입니다. 다만 수식 신호체계상 하나의 신호는 한봉에 한번만 발생하게 되며 최근 진입가격이나 청산가격은 봉완성시에만 저장해 사용할 수 있고(봉미완성시에 발생하는 신호가격을 알수없습니다) 봉미완성시에 신호가 발생하는 타입들은 봉완성시에 가격을 셋팅하고 다음봉에서 해당 가격 이상이나 이하의 시세가 발생하면 신호가 발생하게 되는 구조입니다. 봉미완성시에 발생되는 진입과 청산격격을 추적해서 신호를 발생하게 작성이 불가능합니다. 해당식으로 최대한 짧은 주기의 차트에 적용하시는 방법뿐이 없습니다. 2 수식에 포인트가 0.001로 되어 있어 0.0001로 변경해 드립니다. 외부변수로 변경가능하게 수정해 드립니다. input : 최초진입(1),pt(0.0010); var : LP(0); if sDate != sDate[1] Then SetStopEndofday(55500); if Bdate != Bdate[1] Then { SetStopEndofday(0); LP = 0; if 최초진입 == 1 Then Buy("b1",AtMarket,DEF,1); if 최초진입 == -1 Then Sell("s1",AtMarket,DEF,1); } Else { if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then LP = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then LP = LatestExitPrice(0); Buy("bb",AtStop,LP+pt,1); ExitLong("bx",AtStop,LP-pt,"",1,1); } if MarketPosition == -1 Then { if CurrentContracts > CurrentContracts[1] Then LP = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then LP = LatestExitPrice(0); Sell("ss",AtStop,LP-pt,1); ExitShort("sx",AtStop,LP+pt,"",1,1); } if MarketPosition == 0 and LP > 0 Then { Buy("b",AtStop,ExitPrice(1)+pt,1); Sell("s",AtStop,ExitPrice(1)-pt,1); } } 즐거운 하루되세요 > 바다가좋아 님이 쓴 글입니다. > 제목 : 수식 수정 요청부탁드립니다. > 안녕하세요. 어제 작성해주신 수식으로 시뮬레이션을 해봤는데 약간 제 생각과 다르게 되는것 같아서 수정 좀 부탁드립니다. 제가 원하는 것은 0.77260에 1계약 매수 들어가면 피라미딩식으로 0.77270에 매수가 되고, 또 0.77280에 매수가 되고 그 다음에 흐름이 바뀌어 0.77270이 되었을 때는 직전에 매수했던 1계약이 매수 청산 된 후에 다시 0.77280이 되면 다시 매수가 진행되는 시스템을 원하거든요. 근데 아래 식으로는 거래내역을 보니 좀 다르게 진행이 되는것 같더라구요. 요약하자면 추세를 따라가면서 1계약씩 늘려가다가 되돌림이 되면 1계약씩 줄여나가고, 최초 매수했던 수량까지 다 손절이 되면, 그 다음부터는 매도로 신규진입되면서 1계약씩 피라미딩 진행되는것을 원합니다. 장대양봉이나, 장대음봉이 나왔을 경우 수익을 극대화하고자 하는 방법을 원하거든요. 보시고, 수정 좀 부탁드립니다. =============================================================== input : 최초진입(1); var : LP(0); if sDate != sDate[1] Then SetStopEndofday(55500); if Bdate != Bdate[1] Then { SetStopEndofday(0); LP = 0; if 최초진입 == 1 Then Buy("b1",AtMarket,DEF,1); if 최초진입 == -1 Then Sell("s1",AtMarket,DEF,1); } Else { if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then LP = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then LP = LatestExitPrice(0); Buy("bb",AtStop,LP+0.001,1); ExitLong("bx",AtStop,LP-0.001,"",1,1); } if MarketPosition == -1 Then { if CurrentContracts > CurrentContracts[1] Then LP = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then LP = LatestExitPrice(0); Sell("ss",AtStop,LP-0.001,1); ExitShort("sx",AtStop,LP+0.001,"",1,1); } if MarketPosition == 0 and LP > 0 Then { Buy("b",AtStop,ExitPrice(1)+0.001,1); Sell("s",AtStop,ExitPrice(1)-0.001,1); } } 즐거운 하루되세요 > 바다가좋아 님이 쓴 글입니다. > 제목 : 수식 추가 수정 요청부탁드립니다. > 안녕하세요. 어제 전량 청산 조건으로 수식 작성 부탁드렸는데 하나씩 청산하는 전략으로도 시뮬레이션을 해보고 싶어서요. < 요청 사항 > 1. 피라미딩으로 수량 증가하면서 늘려가다가 그 반대방향으로 진행시에는 그 방향으로 하나씩 청산(손절) 되면서, 다 청산 되면 신규 매수 or 매도 진입이 되는 방식으로 만들었으면 합니다. 흐름을 따라가면서 계약수를 하나씩 증가시키거나, 감소시키고자 합니다. 2. 매매종목 : 해외선물(Australian Dollar) (5분봉 기준) 3. 매매 예시 1) 최초 시장가 1계약 매수 or 매도 2) 매수 or 매도와 동시에 손절(+- 0.001pt)만 설정 3) 최초 매수 or 매도한 가격 기준으로 수익 진행시 +0.001포인트마다 1계약씩 추가 매수 or 매도 ex) AUD 기준 0.76545 1계약 매수 -> 0.76645 추가 1계약 매수 -> 0.76745 추가 1계약 매수 -> 0.76845 추가 1계약 매수 -> 이후 가격이 0.76745로 되돌림 되었을 때는 먼저 0.76845에서 매수했던 1계약만 매수 청산(손절) -> 0.76745 에서 1계약 매수청산(손절) -> 0.76645 1계약 매수 청산(손절) -> 0.76545 1계약 매수청산(손절) -> 이후 가격이 0.76445까지 내려가면 0.76445 1계약 매도 진입 -> 0.76345 1계약 매도 -> 0.76245 추가 1계약 매도 -> (반복) 4) 각 추가매수 or 추가매도한 계약별로 진입할 때마다 손절(-0.001포인트) 설정 5) 청산은 장 종료시에 시장가로 일괄 청산 설정(익일 05:55분) 6) 아~ 그리고 처음에 매수로 진행하지 않고, 시장 상태에 따라 제가 매수 or 매도를 한 후에 위의 방법대로 설정되어 시스템이 움직일 수 있도록 만들었으면 합니다. 항상 감사드립니다. 그럼 수고하세요.
프로필 이미지
바다가좋아
2021-04-16
584
글번호 148082
시스템

요타 님에 의해서 삭제되었습니다.

프로필 이미지
요타
2021-04-16
0
글번호 148081
시스템

신대륙발견 님에 의해서 삭제되었습니다.

프로필 이미지
신대륙발견
2021-04-16
163
글번호 148080
지표
답변완료

문의 드립니다.

많이 감사드립니다. 1분봉 차트에서 30분 단위로 수직선 표시하는 지표가 필요한데요. 그리고 수직선 밑이나 위에 30분 단위로 시간 표시 될까요? 감사합니다. 주말 잘 보내세요~
프로필 이미지
스오어스
2021-04-16
684
글번호 148079
지표
답변완료

시스템 수정 의뢰

수고 하십니다 ! Input : Period1(1), Period2(30), Period3(60), Period4(120), Period5(240),period6(480),period7(960),period8(1920); var : Sma1(0),Sma2(0),Sma3(0),Sma4(0),Sma5(0),sma6(0),sma7(0),sma8(0); Sma1 = ma(C,Period1); Sma2 = ma(C,Period2); Sma3 = ma(C,Period3); Sma4 = ma(C,Period4); Sma5 = ma(C,Period5); sma6 = ma(c,period6); sma7 = ma(c,period7); sma8 = ma(c,period8); if MarketPosition <= 0 and sma1 < sma2 and sma2 < sma3 and sma3 < sma4 and sma4 < sma5 and sma5 < sma6 and CrossDown (sma1,sma2) Then Buy("종수"); if MarketPosition >= 0 and sma1 > sma2 and sma2 > sma3 and sma3 > sma4 and sma4 > sma5 and sma5 > sma6 and CrossUp(sma1,sma2) Then Sell("종도"); if MarketPosition == 1 and Highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*6 Then ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)-PriceScale*3); if MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*6 Then ExitShort("sx",AtStop,lowest(L,BarsSinceEntry)+PriceScale*3); SetStopLoss(PriceScale*30,PointStop); 위 수식에서 매수 는 crossup(sma1,sma2) 을 대입 해야 할것 같은데 신호 가 안나오고 crossdown 을 대입 하면 신호 가 나오네요 ,,, 정배열 된 다음 1 이평선 이 240 이평선 을 crossdown 할때 5 틱 올려서 매도 를 하고 역배열 된 다음 1 이평선 이 240 이평선 을 crossup 할때 5 틱 내려서 매수를 하는 수식 을 부탁 드립니다. ***** 수고 하세요 *****
프로필 이미지
tnsflwls
2021-04-16
686
글번호 148078
시스템
답변완료

수정 부탁드립니다.

안녕하세요....글번호 71737 (데이타2) 에서 30분봉 60분봉 장시작첫봉에서는 전분봉고점 전분봉양봉종가 고가 전분봉저점 전분봉음봉종가 저가 전분봉중심 위 라인 안그려지게 된것을...그려지게수정부탁드립니다. 수고하세요....꾸벅
프로필 이미지
보인다
2021-04-16
515
글번호 148077
지표