커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식 도움 요청

ㄱ. data2의 macd OSC 가 양수인 상태 ㄴ. data1의 rsi > rsi signal 인 상태 ㄷ. data1의 rsi < 50 인 상태 에서 ㄹ. ma가 적용된 하캔아쉬가 양수 전환 하면 매수 하되. ㅁ. 단, 위의 모든 조건은 data1의 (rsi 가 rsi signal 골드크로스 발생) 이후 (n봉 기간 內에서만 유효)함. 부탁드리겠습니다. ㅁ.을 추가하려니 멘붕 오네요 ^^; ========= ma가 적용된 하캔아쉬 ============ input : period1(1); var : haClose(0),haOpen(0),haHigh(0),haLow(0); if CurrentBar > 1 then { haClose = (Open+High+Low+Close)/4; haOpen = (haOpen[1] + haClose[1])/2 ; haHigh = Max(High, haOpen, haClose); haLow = Min(Low, haOpen, haClose) ; } var11 = ma(haClose,period1); Var12 = ma(haOpen,period1);
프로필 이미지
부똘이
2022-11-23
1001
글번호 164062
시스템
답변완료

문의 드립니다

해외선물 매매입니다. 1. 매매시간 08:00~ 익일06:00 익절 200틱 손절 50틱 진입청산 1회 1캔들이 150분봉인 경우의수에서 완성된 캔들 저점이 내려가는 (저점이 동일한건 포함 안됨) 6캔들후 매수 캔들 고점이 올라가는 (고점이 동일한건 포함안됨) 6캔들에 청산 2. 매매시간 08:00~ 익일06:00 익절 200틱 손절 50틱 진입청산 1회 1캔들이 150분봉인 경우의수에서 완성된 캔들 고점이 올라가는 (고점이 동일한건 포함 안됨) 6캔들후 매도 ----------------------- var1 = c-o; Var2 = AccumN(var1,21); input : starttime(180000),endtime(63000),n(0); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { IF Endtime <= starttime Then { SetStopEndofday(0); } } if Var2 < 0 Then Buy(); if var2 > 0 Then Sell(); 위 수식어는 1캔들이 150분봉 인데요. 2캔들 손실에 자동청산후 매매정지및 익절 200틱 손절 100틱를 포함 하고자 합니다.
프로필 이미지
푸른
2022-11-24
992
글번호 164060
시스템
답변완료

전략실행차트 data2 정보

안녕하세요 개발자님 스크린샷 화면은 선물 5분봉 차트와 Data2에 일봉선물차트를 띄운 화면입니다. 본래 시뮬레이션 차트에서는 Data2(C)를 불러오면 전날 일봉 종가를 불러오게 됩니다. 근데 전략실행차트에서 messangelog를 통해 실시간으로 Data2(C)의 정보를 불러와보니 현재 종가가 그림과 같이 불러와집니다. 또 Data2(C[1]) 를 불러와보니 어제와 그제 종가가 번갈아가면서 디버깅창에 뜨던데.. 좀 일관되고 안전하게 data2 정보를 쓸 수 있게 하여 실제 자동매매에 data2를 안전하게 쓸 수 있는 방법이 없을까요?
프로필 이미지
히익
2022-11-23
1038
글번호 164047
지표
답변완료

추세선 위로 이동

input : Period(10),선두께(1); Var:상승색(red), 하락색(blue); input : 바닥상1(2),바닥하1(0),바닥상2(2),바닥하2(0),봉상1(0),봉하1(1),틱1(0),틱2(1); Var:j(0),T(0),txx(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0),TL9(0),idx(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0); Plot1(0); r[0] = 0; r[1] = 2; r[2] = 3.; r[3] = -1; r[4] = -2.; r[5] = 1; r[6] = 0.5; For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(c,highest(H,Period)[1]) Then T = 1; if CrossDown(c,Lowest(L,Period)[1]) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; } LoVal[0] = L; LoBar[0] = 0; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,하락색); date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]); } if hival[0] <= hival[1]+PriceScale* 봉상1 and hival[0] >= hival[1]-PriceScale*봉하1 Then { Txx = Text_New(sDate,sTime,value11+PriceScale*2,"●"); Condition99 = true; Text_SetColor(Txx,Blue); Text_SetStyle(Txx,2,2); Text_SetSize(txx,10); } Txx = Text_New(date11,time11,Value11+PriceScale*1,"●"); Condition99 = true; Text_SetColor(Txx,Cyan); Text_SetStyle(Txx,2,2); Text_SetSize(txx,35); if Condition99 == true and Loval[0] <= loval[1]-PriceScale*틱2 Then { Condition99 = False; Text_Delete(txx); } } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date22 = date[0]; time22 = stime[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); if Condition99 == true and Loval[0] <= loval[1]-PriceScale*틱2 Then { Condition99 = False; Text_Delete(txx); } } } If T == 1 Then { If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; } HiVal[0] = H; HiBar[0] = 0; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,상승색); date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; for j = 0 to 5 { fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]); } Condition1 = False; if Condition1 == False and LoVal[0] <= Loval[1]+PriceScale*바닥상1 and LoVal[0] >= Loval[1]-PriceScale*바닥하1 and LoVal[1] <= Loval[2]+PriceScale*바닥상2 and LoVal[1] >= Loval[2]-PriceScale*바닥하2 Then { Condition1 = true; TL9 = TL_New(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(TL9,Magenta); TL_SetSize(TL9,0.5); Tx =Text_New(sDate,sTime,value11-PriceScale*3,"●"); Condition99 = true; Text_SetColor(Tx,Magenta); Text_SetStyle(Tx,2,2); Text_SetSize(tx,25); } if Condition1 == False and LoVal[0] <= Loval[1]+PriceScale*바닥상1 and LoVal[0] >= Loval[1]-PriceScale*바닥하1 Then { Condition1 = true; TL9 = TL_New(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(TL9,Red); TL_SetSize(TL9,0.5); Tx = Text_New(sDate,sTime,value11-PriceScale*3,"●"); Condition99 = true; Text_SetColor(Tx,Red); Text_SetStyle(Tx,2,2); Text_SetSize(tx,25); } if Condition99 == true and Loval[0] >= Loval[1]-PriceScale*틱1 Then { Condition99 = False; Text_Delete(txx); } } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; } } TL_SetSize(TL1,선두께); 차트와 안 겹치게, 추세선을 위로 5틱 올려주세요. 감사합니다.
프로필 이미지
고성
2022-11-23
1198
글번호 164046
지표
답변완료

수식부탁합니다

가급적이면 외부변수를 써 주시면 감사하겠습니다 1.20일 이평에 걸치는 20일 이평보다 큰 양봉에 매수 20일 이평붕괴시 청산 단,20일 이평에 걸리는 첫봉을 기준으로 5분동안 2번만 반복하라 2.시장가 진입,청산 함수가 있나요? 3.특정상황에서 매수진입금지 시킬수 있는 함수가 있나요? 4."60일선과120일선이 역배열된후 30캔들 이내"라는 수식을 알려주세요 5."5일,20일정배열이 2번째라면"라는 수식 부탁합니다 6."5일,20일정배열 이후 역배열이라면" 수식 부탁합니다 감사합니다.^^ 꾸벅
프로필 이미지
하늘거지
2022-11-23
864
글번호 164045
시스템
답변완료

지표문의에요.

혹시 26일 이후의 날짜에 수직선을 차트에 표시해주는 지표수식이 있을까요? 예를들어 오늘이 11월 1일이면 11월 26일의 날짜에 차트에 수직선을 표시해 주는 거에요. 일목균형표의 선행지표를 쓰기때문에 앞으로 26일 이후가 언제쯤인지 알고싶은데 차트에서 바로바로 확인할수가 없어서 혹시 가능한지 여쭤보고 싶어요. 도구의 수직선은 제가 앞으로 26일 이후가 언제인지 계산해서 수직선을 그어야 하는데 그게 너무 불편해요..ㅜ 이게 안된다면 앞으로 26일 이후를 쉽게 확인가능한 아무지표라도 만들어 주실수 있나요?
프로필 이미지
vhvh
2022-11-23
681
글번호 164044
지표

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

프로필 이미지
hakona
2022-11-23
34
글번호 164043
시스템
답변완료

틱봉갯수

감사합니다. 아래 수식은 전일 5분주기 봉발생갯수 중의 최고갯수를 넘어서는 당일 현재봉갯수에서 종가선을 표시한 것입니다. 이것을 다음과 같이 변환하여 주시기 바랍니다. 1. 전일 동시간대비 봉발생갯수의 최고갯수를 넘어서는 당일 동시간대 현재봉갯수에 종가선 표시 2. 전전일 동시간대비 봉발생갯수의 최고갯수를 넘어서는 당일 동시간대 현재봉갯수에 종가선 표시 input : ntime(5); var : S1(0),D1(0),TM(0),TF(0),B(0); var : idx(0),idx1(0),idx2(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; var1 = 0; value1 = 0; value11 = value1[1]; } 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 { B = B+1; idx = 0; idx1 = idx[1]; idx2 = idx1[1]; } idx = idx+1; if idx > value1 Then value1 = idx; if value11 > 0 and CrossUp(idx,value11) Then var1 = C; if var1 > 0 Then Plot1(var1); Else NoPlot(1); }
프로필 이미지
jdavid
2022-11-23
471
글번호 164042
지표

신들의전쟁 님에 의해서 삭제되었습니다.

프로필 이미지
신들의전쟁
2022-11-23
50
글번호 164041
시스템
답변완료

진입되지 않는날 진입관련문의

안녕하세요 제가 작성한수식에서 진입이안되는 날이있다면 기존수식에서 매수매도 로직이만족못했다는 의미로 생각되는데 이럴경우 새로운 로직추가로 진입하는날을 늘리고 싶습니다 이경우 기존진입로직과 구분하거나 충돌되지 않도록 하는 방법이있을까요? 시스템식이 아니더라도 가능한방법이있으면 알려주세요
프로필 이미지
hi2378
2022-11-23
606
글번호 164040
시스템