커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

사용수식인데요 추가할 사항 부탁드리겠습니다.

아래수식으로 해외선물 사용중에 있는데 청산 관련 수정하고 싶습니다. 1. 1회 매수진입할때와 다수 매수진입했을때도 같은 조건으로 청산하였는데요 if MarketPosition == 1 and var2 > 매도MFI값 Then ExitLong("MFI청산",atlimit,AvgEntryPrice*1.001); 이수식으로요.... 1회만 매수진입한것은 1% 상승 수익시 청산하는 것으로 하고 싶습니다. ExitLong("MFI청산",atlimit,AvgEntryPrice*1.01); 2회이상 매수진입한것은 기존대로 하고요 ExitLong("MFI청산",atlimit,AvgEntryPrice*1.001); 수식 부탁드려요~~~ input : 매수MFI기간(25); input : 매수MFI값(26); input : 최대진입계약수(4),추가매수하락퍼센트(4),급락매수하락퍼센트(8); input : 매도MFI기간(8); input : 매도MFI값(82); input : X(1000),Y(4); var1 = MFi(매수MFI기간); var2 = MFi(매도MFI기간); if MarketPosition == 0 and var1 < 매수MFI값 and C < O and V > V[1] and C <= Highest(H,X)*(1-Y/100)and c<c[매수MFI기간/2] Then Buy("b",OnClose,DEF,1); if MarketPosition == 1 and MaxEntries < 최대진입계약수 Then Buy("-4% 하락추가매수",AtLimit,LatestEntryPrice(0)*(1-추가매수하락퍼센트/100)); if MarketPosition == 1 Then Buy("-8%하락 추가매수",AtLimit,LatestEntryPrice(0)*(1-급락매수하락퍼센트/100)); if MarketPosition == 1 and var2 > 매도MFI값 Then ExitLong("MFI청산",atlimit,AvgEntryPrice*1.001); if DayOfWeek(Bdate) == 5 and ((NextBarSdate != sDate and NextBarStime >= 050000) or (NextBarSdate == sDate and NextBarStime >= 050000 and sTime < 050000)) Then { if C > AvgEntryPrice Then ExitLong("주말 편히 청산",atlimit,AvgEntryPrice*1.01); }
프로필 이미지
이형지
2022-05-23
1335
글번호 159139
시스템
답변완료

문의

해외선물 지수가 예를 들어 112.20에서 112.22로 112.21을 건너뛰고 상승했을 경우, 반대로 112.22에서 112.21을 건너뛰고 112.20으로 하락했을 경우, 이런 경우를 알아내거나 표시할 수 있는 수식이 가능할까요?
프로필 이미지
검은약
2022-05-23
1002
글번호 159138
지표

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2022-05-23
115
글번호 159137
지표
답변완료

여쭤볼게 있습니다.

안녕하세요 여쭤볼것은 다름이 아니라 볼린져밴드 3개 (예를들면 볼밴 20,40,60) 를 각자의 볼밴으로 챠트에 구현하는것이 아닌 3개의 볼밴을 하나의 수식에 의해 표현이 가능한지요? 만약 가능하다면 수식 부탁 드립니다. 고맙습니다.
프로필 이미지
라몬
2022-05-22
818
글번호 159136
지표
답변완료

문의드립니다.

항상 감사드립니다. [ 3202 : 파워종목검색 부분 문의건 ] ① 장기(지수)이평선 60일 + 120일 + 240일 이평선을 주가가 동시에 돌파하거나 혹은 그이상이어야한다 ② Envelope(20,10) 주가가 상한선 돌파 ③ Bollinger band(20,2) 주가가 상한선 돌파 상기 ( ① and ② and ③ ) 조건을 동시에 만족하는 조건으로 종목검색식 문의드립니다.
프로필 이미지
관스
2022-05-22
963
글번호 159135
종목검색

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2022-05-22
142
글번호 159134
시스템
답변완료

수식문의드립니다

안녕하세요~ 수식에서 해결안되는 부분이 있어 질문드립니다 (수식은 하단 첨부) 첨부한 수식과 같이 9개 선에서의 매수, 매도를 감시하도록 셋팅해놓고 가격이 제일위, 제일아래 선을 돌파하면 9개 선을 상/하향 조정해 감시하도록 만들었습니다 수식상 처음에 설정한 LL[5] 값이 11953이었고, 이때의 LL[9] == 11713이었습니다 첨부한 사진상의 세로선으로 표시한 01:08에 가격이 11713을 crossdown해 수식대로 LL[5] == 11713을 바뀌고, 다른 선들도 다시 셋팅되었습니다 그런데 01:09의 봉에서 갑자기 BC1[5], BC1[6], BC2[6]이 TRUE로 바뀌었고 (이전엔 전부 FALSE) LL[6]에서 매수가 체결되었습니다 BC1[5]는 LL[6]을 crossup 할때 BC1[6]은 LL[7]을 crossup 할때 BC2[6]은 BC1[6] == true 이면서 LL[5]를 crossup 할때 발생하는데, 첨부한 사진에도 보이듯 이런 이벤트가 발생한적이 없습니다 정리하면 01:08 => LL[5] = LL[9]로 업데이트 & BC1[5], BC1[6], BC2[6] 모두 false 01:09 => BC1[5], BC1[6], BC2[6] 모두 true로 바뀜 01:10 => b06 체결 이렇게 되었는데 원인을 찾지 못하겠습니다 한번 살펴봐주시면 감사하겠습니다 ----------------------------------------------------------- input : Distance(60), TM(11200), TT(10000); var : i(0); array : LL[9](11953), BC1[9](False), BC2[9](false), SC1[9](False), SC2[9](False); if TM > sTime && sTime > TT Then { MessageLog("L2-1 %.2f, L3-1 %.2f, L4-1 %.2f, L5-1 %.2f, L9-1 %.2f", LL[2] , LL[3], LL[4], LL[5], LL[9]); MessageLog("SC1[1] %s, SC1[2] %s, SC1[3] %s, SC1[4] %s, SC1[5] %s, SC1[6] %s, SC1[7] %s, SC1[8] %S, SC1[9] %s", SC1[1], SC1[2], SC1[3], SC1[4], SC1[5], SC1[6], SC1[7], SC1[8], SC1[9]); MessageLog("SC2[1] %s, SC2[2] %s, SC2[3] %s, SC2[4] %s, SC2[5] %s, SC2[6] %s, SC2[7] %s, SC2[8] %S, SC2[9] %s", SC2[1], SC2[2], SC2[3], SC2[4], SC2[5], SC2[6], SC2[7], SC2[8], SC2[9]); MessageLog("BC1[1] %s, BC1[2] %s, BC1[3] %s, BC1[4] %s, BC1[5] %s, BC1[6] %s, BC1[7] %s, BC1[8] %S, BC1[9] %s", BC1[1], BC1[2], BC1[3], BC1[4], BC1[5], BC1[6], BC1[7], BC1[8], BC1[9]); MessageLog("BC2[1] %s, BC2[2] %s, BC2[3] %s, BC2[4] %s, BC2[5] %s, BC2[6] %s, BC2[7] %s, BC2[8] %S, BC2[9] %s", BC2[1], BC2[2], BC2[3], BC2[4], BC2[5], BC2[6], BC2[7], BC2[8], BC2[9]); MessageLog("SC1 %s, SC2 %s, BC1 %s, BC2 %s, p %.2f", SC1[3], SC2[3], BC1[5], BC2[5], MarketPosition); if H > LL[1] Then { LL[5] = LL[1]; } if L < LL[9] Then { LL[5] = LL[9]; } For i = 0 to 4 {LL[4-i] = LL[5-i] + distance;} For i = 5 to 9 {LL[i+1] = LL[i] - distance;} MessageLog("L2-2 %.2f, L3-2 %.2f, L4-2 %.2f, L5-2 %.2f, L9-2 %.2f", LL[2] , LL[3], LL[4], LL[5], LL[9]); MessageLog("SC1[1] %s, SC1[2] %s, SC1[3] %s, SC1[4] %s, SC1[5] %s, SC1[6] %s, SC1[7] %s, SC1[8] %S, SC1[9] %s", SC1[1], SC1[2], SC1[3], SC1[4], SC1[5], SC1[6], SC1[7], SC1[8], SC1[9]); MessageLog("SC2[1] %s, SC2[2] %s, SC2[3] %s, SC2[4] %s, SC2[5] %s, SC2[6] %s, SC2[7] %s, SC2[8] %S, SC2[9] %s", SC2[1], SC2[2], SC2[3], SC2[4], SC2[5], SC2[6], SC2[7], SC2[8], SC2[9]); MessageLog("BC1[1] %s, BC1[2] %s, BC1[3] %s, BC1[4] %s, BC1[5] %s, BC1[6] %s, BC1[7] %s, BC1[8] %S, BC1[9] %s", BC1[1], BC1[2], BC1[3], BC1[4], BC1[5], BC1[6], BC1[7], BC1[8], BC1[9]); MessageLog("BC2[1] %s, BC2[2] %s, BC2[3] %s, BC2[4] %s, BC2[5] %s, BC2[6] %s, BC2[7] %s, BC2[8] %S, BC2[9] %s", BC2[1], BC2[2], BC2[3], BC2[4], BC2[5], BC2[6], BC2[7], BC2[8], BC2[9]); MessageLog("SC1 %s, SC2 %s, BC1 %s, BC2 %s, p %.2f", SC1[3], SC2[3], BC1[5], BC2[5], MarketPosition); For i = 1 to 1 { if CrossUp(H, LL[i+1]) Then BC1[i] = true; if BC1[i] == true && CrossUp(H, LL[i-1]) Then BC2[i] = true; if (CrossDown(L, LL[i])&& BC1[i] == true && BC2[i] == true) or CrossUp(H, LL[i-2]) Then { BC1[i] = False; BC2[i] = False; } if MarketPosition == 0 && BC1[i] == true && BC2[i] == true Then Buy("b01", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2)Then { ExitLong("exitL01-1", AtLimit, (LL[i]+LL[i-1])/2); ExitLong("exitL01-2", AtStop, LL[i+1]); } if CrossDown(L, LL[i-1]) Then SC1[i] = true; if SC1[i] == true && CrossDown(L, LL[i+1]) Then SC2[i] = true; if (CrossUp(H, LL[i])&& SC1[i] == true && SC2[i] == true) or CrossDown(L, LL[i+2]) Then { SC1[i] = False; SC2[i] = False; } if MarketPosition == 0 && SC1[i] == true && SC2[i] == true Then Sell("s01", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitShort("exitS1-1", AtLimit, (LL[i]+LL[i+1])/2); ExitShort("exitS1-2", AtStop, LL[i-1]); } } For i = 2 to 2 { if CrossUp(H, LL[i+1]) Then BC1[i] = true; if BC1[i] == true && CrossUp(H, LL[i-1]) Then BC2[i] = true; if (CrossDown(L, LL[i])&& BC1[i] == true && BC2[i] == true) or CrossUp(H, LL[i-2]) Then { BC1[i] = False; BC2[i] = False; } if MarketPosition == 0 && BC1[i] == true && BC2[i] == true Then Buy("b02", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitLong("exitL2-1", AtLimit, (LL[i]+LL[i-1])/2); ExitLong("exitL2-2", AtStop, LL[i+1]); } if CrossDown(L, LL[i-1]) Then SC1[i] = true; if SC1[i] == true && CrossDown(L, LL[i+1]) Then SC2[i] = true; if (CrossUp(H, LL[i])&& SC1[i] == true && SC2[i] == true) or CrossDown(L, LL[i+2]) Then { SC1[i] = False; SC2[i] = False; } if MarketPosition == 0 && SC1[i] == true && SC2[i] == true Then Sell("s02", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitShort("exitS2-1", AtLimit, (LL[i]+LL[i+1])/2); ExitShort("exitS2-2", AtStop, LL[i-1]); } } For i = 3 to 3 { if CrossUp(H, LL[i+1]) Then BC1[i] = true; if BC1[i] == true && CrossUp(H, LL[i-1]) Then BC2[i] = true; if (CrossDown(L, LL[i])&& BC1[i] == true && BC2[i] == true) or CrossUp(H, LL[i-2]) Then { BC1[i] = False; BC2[i] = False; } if MarketPosition == 0 && BC1[i] == true && BC2[i] == true Then Buy("b03", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitLong("exitL3-1", AtLimit, (LL[i]+LL[i-1])/2); ExitLong("exitL3-2", AtStop, LL[i+1]); } if CrossDown(L, LL[i-1]) Then SC1[i] = true; if SC1[i] == true && CrossDown(L, LL[i+1]) Then SC2[i] = true; if (CrossUp(H, LL[i])&& SC1[i] == true && SC2[i] == true) or CrossDown(L, LL[i+2]) Then { SC1[i] = False; SC2[i] = False; } if MarketPosition == 0 && SC1[i] == true && SC2[i] == true Then Sell("s03", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitShort("exitS3-1", AtLimit, (LL[i]+LL[i+1])/2); ExitShort("exitS3-2", AtStop, LL[i-1]); } } For i = 4 to 4 { if CrossUp(H, LL[i+1]) Then BC1[i] = true; if BC1[i] == true && CrossUp(H, LL[i-1]) Then BC2[i] = true; if (CrossDown(L, LL[i]) && H[1] > LL[i] && BC1[i] == true && BC2[i] == true) or CrossUp(H, LL[i-2]) Then { BC1[i] = False; BC2[i] = False; } if MarketPosition == 0 && BC1[i] == true && BC2[i] == true Then Buy("b04", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitLong("exitL4-1", AtLimit, (LL[i]+LL[i-1])/2); ExitLong("exitL4-2", AtStop, LL[i+1]); } if CrossDown(L, LL[i-1]) Then SC1[i] = true; if SC1[i] == true && CrossDown(L, LL[i+1]) Then SC2[i] = true; if (CrossUp(H, LL[i])&& SC1[i] == true && SC2[i] == true) or CrossDown(L, LL[i+2]) Then { SC1[i] = False; SC2[i] = False; } if MarketPosition == 0 && SC1[i] == true && SC2[i] == true Then Sell("s04", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitShort("exitS4-1", AtLimit, (LL[i]+LL[i+1])/2); ExitShort("exitS4-2", AtStop, LL[i-1]); } } For i = 5 to 5 { if CrossUp(H, LL[i+1]) Then BC1[i] = true; if BC1[i] == true && CrossUp(H, LL[i-1]) Then BC2[i] = true; if (CrossDown(L, LL[i])&& BC1[i] == true && BC2[i] == true) or CrossUp(H, LL[i-2]) or CrossDown(C, LL[i+2]) Then { BC1[i] = False; BC2[i] = False; } if MarketPosition == 0 && BC1[i] == true && BC2[i] == true Then Buy("b05", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitLong("exitL05-1", AtLimit, (LL[i]+LL[i-1])/2); ExitLong("exitL05-2", AtStop, LL[i+1]); } if CrossDown(L, LL[i-1]) Then SC1[i] = true; if SC1[i] == true && CrossDown(L, LL[i+1]) Then SC2[i] = true; if (CrossUp(H, LL[i])&& SC1[i] == true && SC2[i] == true) or CrossDown(L, LL[i+2]) Then { SC1[i] = False; SC2[i] = False; } if MarketPosition == 0 && SC1[i] == true && SC2[i] == true Then Sell("s05", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitShort("exitS5-1", AtLimit, (LL[i]+LL[i+1])/2); ExitShort("exitS5-2", AtStop, LL[i-1]); } } For i = 6 to 6 { if CrossUp(H, LL[i+1]) Then BC1[i] = true; if BC1[i] == true && CrossUp(H, LL[i-1]) Then BC2[i] = true; if (CrossDown(L, LL[i])&& BC1[i] == true && BC2[i] == true) or CrossUp(H, LL[i-2]) Then { BC1[i] = False; BC2[i] = False; } if MarketPosition == 0 && BC1[i] == true && BC2[i] == true Then Buy("b06", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitLong("exitL06-1", AtLimit, (LL[i]+LL[i-1])/2); ExitLong("exitL06-2", AtStop, LL[i+1]); } if CrossDown(L, LL[i-1]) Then SC1[i] = true; if SC1[i] == true && CrossDown(L, LL[i+1]) Then SC2[i] = true; if (CrossUp(H, LL[i])&& SC1[i] == true && SC2[i] == true) or CrossDown(L, LL[i+2]) Then { SC1[i] = False; SC2[i] = False; } if MarketPosition == 0 && SC1[i] == true && SC2[i] == true Then Sell("s06", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitShort("exitS6-1", AtLimit, (LL[i]+LL[i+1])/2); ExitShort("exitS6-2", AtStop, LL[i-1]); } } For i = 7 to 7 { if CrossUp(H, LL[i+1]) Then BC1[i] = true; if BC1[i] == true && CrossUp(H, LL[i-1]) Then BC2[i] = true; if (CrossDown(L, LL[i])&& BC1[i] == true && BC2[i] == true) or CrossUp(H, LL[i-2]) Then { BC1[i] = False; BC2[i] = False; } if MarketPosition == 0 && BC1[i] == true && BC2[i] == true Then Buy("b07", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitLong("exitL07-1", AtLimit, (LL[i]+LL[i-1])/2); ExitLong("exitL07-2", AtStop, LL[i+1]); } if CrossDown(L, LL[i-1]) Then SC1[i] = true; if SC1[i] == true && CrossDown(L, LL[i+1]) Then SC2[i] = true; if (CrossUp(H, LL[i])&& SC1[i] == true && SC2[i] == true) or CrossDown(L, LL[i+2]) Then { SC1[i] = False; SC2[i] = False; } if MarketPosition == 0 && SC1[i] == true && SC2[i] == true Then Sell("s07", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitShort("exitS7-1", AtLimit, (LL[i]+LL[i+1])/2); ExitShort("exitS7-2", AtStop, LL[i-1]); } } For i = 8 to 8 { if CrossUp(H, LL[i+1]) Then BC1[i] = true; if BC1[i] == true && CrossUp(H, LL[i-1]) Then BC2[i] = true; if (CrossDown(L, LL[i])&& BC1[i] == true && BC2[i] == true) or CrossUp(H, LL[i-2]) Then { BC1[i] = False; BC2[i] = False; } if MarketPosition == 0 && BC1[i] == true && BC2[i] == true Then Buy("b08", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitLong("exitL08-1", AtLimit, (LL[i]+LL[i-1])/2); ExitLong("exitL08-2", AtStop, LL[i+1]); } if CrossDown(L, LL[i-1]) Then SC1[i] = true; if SC1[i] == true && CrossDown(L, LL[i+1]) Then SC2[i] = true; if (CrossUp(H, LL[i])&& SC1[i] == true && SC2[i] == true) or CrossDown(L, LL[i+2]) Then { SC1[i] = False; SC2[i] = False; } if MarketPosition == 0 && SC1[i] == true && SC2[i] == true Then Sell("s08", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitShort("exitS8-1", AtLimit, (LL[i]+LL[i+1])/2); ExitShort("exitS8-2", AtStop, LL[i-1]); } } For i = 9 to 9 { if CrossUp(H, LL[i+1]) Then BC1[i] = true; if BC1[i] == true && CrossUp(H, LL[i-1]) Then BC2[i] = true; if CrossDown(L, LL[i])&& BC1[i] == true && BC2[i] == true Then { BC1[i] = False; BC2[i] = False; } if MarketPosition == 0 && BC1[i] == true && BC2[i] == true Then Buy("b09", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitLong("exitL09-1", AtLimit, (LL[i]+LL[i-1])/2); ExitLong("exitL09-2", AtStop, LL[i+1]); } if CrossDown(L, LL[i-1]) Then SC1[i] = true; if SC1[i] == true && CrossDown(L, LL[i+1]) Then SC2[i] = true; if (CrossUp(H, LL[i])&& SC1[i] == true && SC2[i] == true) Then { SC1[i] = False; SC2[i] = False; } if MarketPosition == 0 && SC1[i] == true && SC2[i] == true Then Sell("s09", AtLimit, LL[i]); if (EntryPrice <= (LL[i]+LL[i-1])/2 && EntryPrice >= (LL[i]+LL[i+1])/2) Then { ExitShort("exitS9-1", AtLimit, (LL[i]+LL[i+1])/2); ExitShort("exitS9-2", AtStop, LL[i-1]); } } }
프로필 이미지
jshwang2
2022-05-22
1115
글번호 159133
시스템
답변완료

문의

20일 이평선 기울기 문의드려요 예전 다른 분 문의와 답변 참고해서 추가로 문의합니다 20일 이평선의 값이 5분전, 10분전, 15분전 보다 연속으로 크다면 매수. 이렇게 변형이 가능한지요? if 20일 이평선값 > 5분전 20일 이평선값 > 10분전 이평선값 > 15분전 이평선값 then buy ------------------------------ 예전 게시판 질문: 20일 지수 이동평균선이 음의 기울기 이면 다음봉에서 매도, 양의 기울기면 다음봉에 매수 . 예스스탁 답변 안녕하세요 예스스탁입니다. input : P(20); var1 = ema(c,P); if var1 > var1[1] Then buy("b",AtMarket); ------------------------------------
프로필 이미지
검은약
2022-05-22
1090
글번호 159132
지표
답변완료

굵게 요청 드립니다.

* 항상 많은 도움 고맙습니다. <질문1> 아래 수식 굵게 표현좀 부탁 드립니다. 즉 상향 이면 RED에 굵기3 하향이면 BLUE에 굵기3 입니다. input : 간격(5); if SwingHigh(1,H,간격,간격,간격*2+1) != -1 Then plot1(H[간격]); if SwingLow(1,L,간격,간격,간격*2+1) != -1 Then plot1(L[간격]); <질문2> 하나의 로직에 두개를 다 표시 할수 있나요? 가격과 점 TX = Text_New(sdate[간격],stime[간격],HH1,NumToStr(HH1,2)); TX = Text_New(sdate[간격],stime[간격],HH1,"●"); 아래 처럼 하니까 안되네요? TX = Text_New(sdate[간격],stime[간격],HH1,NumToStr(HH1,2),"●"); <질문3> #추세선을 차트 마지막봉까지 확장 아니고 #추세선을 10개봉까지 표현좀 부탁 드립니다. TL_SetExtRight(HTL[0],true); * 늘 고맙습니다 수고하십시요.
프로필 이미지
요타
2022-05-23
1242
글번호 159131
지표