커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식문의합니다~~

수고하십니다. 1. 아래1 식에서 - 다시 돌려보아도 Bcnt, MarketPosition 이 메세지로그에서 0 발생, 이유가 무엇인지요? - 매수 연속3회 불가, 매도 연속3회 불가로 수식 수정 부탁드립니다. == 아래1 == Input : 청산P(15),청산L(15); var : SmaA(0),SmaB(0); SmaA = ma(C,5); SmaB = ma(C,20); var : Bcnt(0); if Bdate != Bdate[1] Then Bcnt = 0; if MarketPosition == 1 and MarketPosition != MarketPosition[1] Then Bcnt+1; if MarketPosition == -1 and MarketPosition != MarketPosition[1] Then Bcnt = 0; //진입청산 if stime > 093500 and stime <163000 and Bcnt < 3 then { //매수 If MarketPosition == 0 and c > DayOpen and SmaA>SmaA[1] Then Buy("B"); If (c>(EntryPrice+청산P) or c <(EntryPrice-청산L)) and MarketPosition == 1 Then ExitLong("ELB"); //매도 If MarketPosition == 0 and c < DayOpen and SmaA<SmaA[1] Then Sell("S"); If (c<(EntryPrice-청산P) or c >(EntryPrice+청산L)) and MarketPosition == -1 Then ExitShort("ELS"); } 2. 아래2에서 조건문( if SwingHigh(1,mav,Left,Right,Left+Right+1) != -1 Then) 을 사용하는 이유가 무엇인지요? == 아래2 == 안녕하세요 예스스탁입니다. 1 H1이나 L1은 3봉전에 이평값을 저장하는 것이 맞습니다. H2와 L2는 직전 조건만족시의 가격입니다. L2 = L1[1]이라고 해서 4봉전의 이평가격이 아닙니다. L1[1]은 L1에 기존에(한봉전) 저장되어 있던 가격을 가져와 L2에 저장한다는 의미입니다. 즉 새롭게 저장해야 할 가격이 생기면 이전까지 저장되어 있던 값을 다른 변수로 옮긴다는 내용입니다. #스윙하이가 발생하면 if SwingHigh(1,mav,Left,Right,Left+Right+1) != -1 Then{ #H1에 Right봉전 이평값을 저장 H1 = mav[right]; #H2에는 H1의 한봉전까지 저장되어 있던 가격을 가져와 저장 H2 = H1[1]; if H1 < H2 and H2 > 0 Then sell(); } #스윙하이가 발생하면 if SwingLow(1,mav,Left,Right,Left+Right+1) != -1 Then{ #L1에 Right봉전 이평값을 저장 L1 = mav[right]; #L2에 L1의 한봉전까지 저장되어 있던 가격을 가져와 저장 L2 = L1[1]; if L1 > L2 and L2 > 0 Then Buy(); } 3. 캔들이 10시30분 초과시는 c > 103000으로 작성하는데 이것을 105000으로 작성하거나 109000으로 작성하면 프로그램이 몇시로 인식하나요? 예스 덕분에 2번째 자동매매 실투 도전예정입니다. 항상 감사드립니다~~
프로필 이미지
코퍼
2022-02-26
1158
글번호 156766
시스템
답변완료

예스스탁 관계자 분에게

바쁘신 중에도 성의껏 수식 만들어주셔서 감사합니다 . 많은 도움이 됐습니다 . 감사한 마음 전합니다 .
프로필 이미지
덩케르크
2022-02-25
946
글번호 156764
종목검색
답변완료

수식작성 부탁드립니다

안녕하세요? 항상 도움주셔서 감사드립니다 또 한번 어려운 부탁 드립니다 아래 조건을 만족하는 신호 부탁드립니다(틱차트 사용) 1. 매수신호 MACD(12,26)가 상승하고, 선물호가잔량 5이평선이 상승하고, 5이평선이 상승할 때 1) 캔들의 몸통의 중심이 20이평선 위이 있거나 2) 20이평 위에서 첫 양봉(도찌캔들 포함) 캔들을 만들 때 위 2가지 지정한 조건을 최초로 만족하는 캔들에 매수신호 2. 매도신호 MACD(12,26)가 하락하고, 선물호가잔량 5이평선이 하락하고, 5이평선이 하락할 때 1) 캔들의 몸통의 중심이 20이평선 아래에 있거나 2) 20이평 아래에서 첫 음봉(도찌캔들 포함) 캔들을 만들 때 위 2가지 지정한 조건을 최초로 만족하는 캔들에 매도신호 3. MACD 보조지표에 매수매도신를 나타낼 수 있는 방법이 있는지요? 60선위에서 상승에서 하락으로 전환시 매도신호 60선 아래서 하락에서 상승으로 전환시 매수신호 -0.15<MACD<+0.15 사이에서 방향전환시 신호 발생하지 않음 꼭 부탁 드립니다 감사합니다
프로필 이미지
까꾸리손
2022-02-25
1167
글번호 156759
시스템
답변완료

함수 한번더 부탁드립니다

아래 인풋변수에서 period의 변수를 바꾼다면 어디어디 변수를 77로 바꿔야하는지 궁금합니다 input : ntime(5),Period(77); Vars: HH(0), LL(0) ,center(0), LongCondition(False),ShortCondition(False),ExitLongConditon(False), ExitShortCondition(False); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : tH[100](0),tL[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { tH[0] = H; tL[0] = L; For cnt = 1 to 99 { tH[cnt] = tH[cnt-1][1]; tL[cnt] = tL[cnt-1][1]; } } if tH[0] > 0 and H > tH[0] Then tH[0] = H; if tL[0] > 0 and L < tL[0] Then tL[0] = L; if tH[Period] > 0 and tL[Period] > 0 Then { HH = 0; LL = 0; For cnt = 1 to Period { if HH == 0 or (HH > 0 and tH[cnt] > HH) Then HH = tH[cnt]; if LL == 0 or (LL > 0 and tL[cnt] < LL) Then LL = tL[cnt]; } center= (HH+LL)/2 ; If MarketPosition <= 0 and C < HH Then Begin Buy("매수",AtStop,HH); End; If MarketPosition == 1 and C > center Then Begin ExitLong("매수청산",AtStop,center); End; If MarketPosition >= 0 and C > LL Then Begin Sell("매도",AtStop,LL); End; If MarketPosition == -1 and C < center Then Begin ExitShort("매도청산",AtStop,center); End; } }
프로필 이미지
짜왕
2022-02-25
1233
글번호 156757
사용자 함수

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

프로필 이미지
hakona
2022-02-25
6
글번호 156753
지표
답변완료

수식문의드립니다

아래 조건의 수식을 5분봉 차트에서 사용하고있었다면 1분봉 차트에서 5분봉의 아래와같은 수식의 데이터를 불러오고 싶습니다 예를들어 1분봉 차트에서 5분봉차트 N개의 캔들의 고점을 돌파시 진입 1분봉 차트에서 5분봉차트 N개의 캔들의 저점을 돌파시 진입 과 같은 함수를 만들고싶습니다 input : Period(1); Vars: HH(0), LL(0) ,center(0), LongCondition(False),ShortCondition(False),ExitLongConditon(False), ExitShortCondition(False); HH = Highest(high, Period); LL = Lowest(low, Period); center= (HH+LL)/2 ; If MarketPosition <= 0 and C < HH Then Begin Buy("매수",AtStop,HH); End; If MarketPosition == 1 and C > center Then Begin ExitLong("매수청산",AtStop,center); End; If MarketPosition >= 0 and C > LL Then Begin Sell("매도",AtStop,LL); End; If MarketPosition == -1 and C < center Then Begin ExitShort("매도청산",AtStop,center); End;
프로필 이미지
짜왕
2022-02-25
916
글번호 156752
시스템

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

프로필 이미지
hakona
2022-02-25
232
글번호 156750
지표
답변완료

수식문의합니다~~

안녕하세요? 1. 아래1 수식을 적용하니 하루에 여러번 진입청산이 되는데 메세지로그에는 MarketPositio 과 Bcnt가 0으로 나옵니다 MessageLoG("%.2f",MarketPosition); MessageLoG("%.2f",Bcntup); 2. 아래2 수식에서 "if SwingLow(1,mav,Left,Right,Left+Right+1) != -1 Then" 이 무엇인지요? ------아래1---------- 메세지 안녕하세요 예스스탁입니다. var : Bcnt(0); if Bdate != Bdate[1] Then Bcnt = 0; if MarketPosition == 1 and MarketPosition != MarketPosition[1] Then Bcnt+1; if MarketPosition == -1 and MarketPosition != MarketPosition[1] Then Bcnt = 0; if Bcnt < 3 and 매수조건 Then Buy(); 연속적으로 3번 매수 중지하는 식 부탁드립니다. -아래2----- input : Left(3),right(3); var : mav(0),H1(0),H2(0),L1(0),L2(0); mav = ma(C,4); if SwingLow(1,mav,Left,Right,Left+Right+1) != -1 Then { L1 = mav[right]; L2 = L1[1]; }
프로필 이미지
코퍼
2022-02-25
1014
글번호 156748
시스템
답변완료

종목검색식 부탁드립니다.

수고가 많으십니다. 우선 수치는 제가 변경할수있게 해주시고요 기본수치로 해주시길 부탁드립니다. 지수이평 5이평 20이평 60이평 120이평 볼린져밴드 20. 5 엔벨로프. 6. 5 찾을종목 지수이평 5이평이 엔벨로프 위에있는 종목들을 찾고 그종목중에 음봉이 나오는 종목을 검색하고싶습니다.
프로필 이미지
이카나
2022-02-25
1079
글번호 156745
종목검색
답변완료

수정

76158번 Re:Re:시스템으로전환 잘부탁드립니다
프로필 이미지
용각산
2022-02-25
980
글번호 156744
시스템