커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식 부탁드립니다.

안녕하세요? 1)어느 봉의 고점이 볼린저밴드 상단을 돌파하게 되면, 2)그 봉을 제1봉이라 했을 때에 제1봉의 고점을 갱신하면 제2봉, 제2봉의 고점을 갱신하면 제3봉, 제3봉의 고점을 갱신하면 제4봉이라 하는 식으로 고점이 갱신되어 나갈 때 3) 제3봉에서 1계약, 제6봉에서 2계약, 제9봉에서 3계약을 매도하고 4) 10봉 이평선을 하향돌파하면 전량매도하고. 5) 반대로 어느 봉의 저점이 볼린저밴드 하단 밑에 위치하는 경우 반대방식으로 매수하였다가 20봉 이평선을 상향돌파하면 전량청산하는 식 부탁드립니다. 6) 몇째봉에서 몇계약을 사고팔지는 외부변수로 처리하여 변경해 볼 수 있으면 좋겠습니다. 감사합니다.
프로필 이미지
음양조파
2023-02-01
748
글번호 165905
시스템
답변완료

문의드립니다

안녕하세요? 아래수식을 data2 불러오지않코 단독으로 사용할수있도록 부탁드립니다 감사합니다 input:length(6); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL12(0),TL13(0),TL14(0),TL15(0),T(0),고점변곡(""),저점변곡(""); var : clr1(0),clr2(0),BE(0),SE(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(0==1,data2(C),data2(H)); LL = IFF(0==1,data2(C),data2(L)); If data2(Index) == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = data2(Highest(HH,length)) == HH and 최종고가 <> HH; Condition2 = data2(Lowest (LL,length)) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = data2(Index); 고[1,3] = data2(sDate); 고[1,4] = data2(sTime); TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 1 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 0, 1); Text_SetColor(Text1,Red); } TL_SetSize(TL1,1); TL_SetColor(TL1,Gray); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = data2(Index); 고[1,3] = data2(sDate); 고[1,4] = data2(sTime); TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 1 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = data2(Index); 저[1,3] = data2(sDate); 저[1,4] = data2(sTime); TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 0, -1); Text_SetColor(Text1,Blue); } TL_SetSize(TL1,1); TL_SetColor(TL1,Gray); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = data2(Index); 저[1,3] = data2(sDate); 저[1,4] = data2(sTime); TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then { TL12 = TL_New(고[2,3],고[2,4],고[2,1],data2(sdate),data2(stime),고[2,1]); TL_Delete(TL13); TL13 = TL_New(고[1,3],고[1,4],고[1,1],data2(Sdate),data2(Stime),고[1,1]); TL_SetExtRight(TL13,true); TL_SetSize(TL13,2); TL_SetColor(TL12,clr1); TL_SetSize(TL12,2); clr1 = Pink; TL_SetColor(TL13,Pink); } if T == 1 and T[1] != 1 Then { TL14= TL_New(저[2,3],저[2,4],저[2,1],data2(sdate),data2(stime),저[2,1]); TL_Delete(TL15); TL15= TL_New(저[1,3],저[1,4],저[1,1],data2(sdate),data2(stime),저[1,1]); TL_SetExtRight(TL15,true); TL_SetColor(TL14,clr2); TL_SetSize(TL14,2); clr2 = LightBlue; TL_SetColor(TL15,clr2); TL_SetSize(TL15,2); } #================================================================# VAR:mav5(0),mav10(0),mav20(0),mav40(0),mav60(0),mav120(0),aa(0); mav5=ma(c,5); mav10=ma(c,10); mav20=ma(c,20); mav40=ma(c,40); mav60=ma(c,60); mav120=ma(c,120); condition11=CountIf(mav10<mav20,20) >= 10 and t==1 and 저[1,1] <mav20[Index-저[1,2]] and 고[1,1]>mav20[Index-고[1,2]]; var:box1(0); if t == 1 Then { if t != t[1] Then Condition12 = false; if condition11 == true and Condition12 == False Then { Condition12 = true; Box1 = Box_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); Box_Setcolor(box1,MAGENTA); Box_Setfill(box1,true,100,true); } if Condition12 == true Then Box_SetEnd(box1,고[1,3],고[1,4],고[1,1]); }
프로필 이미지
새벽에
2023-02-01
967
글번호 165900
지표
답변완료

안녕하세요. 시스템수식문의드립니다.

안녕하세요. 시스템 수식을 부탁드립니다. 양계좌를 사용하려 합니다. 매수 수식, / 매도 수식 각각 따로 1개씩 만들어 주시면 감사하겠습니다. 설명중에 ( ) 괄호친부분은 , 사용자가 input 에 입력조정할 수 있도록 만들어 주시면 감사하겠습니다. ========= 매수수식 input : P1(15),P2(60),P3(120); var1 = ma(C,P1); var2 = ma(C,P2); var3 = ma(C,P3); if O < var1 and var1 > var1[1] and var2 > var2[1] and var3 > var3[1] and C > O Then [매수수식설명] -해당봉이 완성되지 않은 상태라도- 현재가가 위의 조건이 충족하고 그 충족된 가격의 (+3)틱에 가격이 도달했을시 , 보유포지션이 없을때만 매수 (1)계좌 시장가진입, 진입후 수익 (100) 틱 도달시 진입한 계좌 모두 강제수익청산 진입후 손실 (100) 틱 도달시 진입한 계좌 모두 강제손절청산 (18시)매매시작해서, 새벽(02시55분) 에 보유계좌 모두 강제청산, 매매종료 ============ 매도수식 input : P1(15),P2(60),P3(120); var1 = ma(C,P1); var2 = ma(C,P2); var3 = ma(C,P3); if O > var1 and var1 < var1[1] and var2 < var2[1] and var3 < var3[1] and C < O Then [매도수식설명] -해당봉이 완성되지 않은 상태라도- 현재가 위의 조건이 충족하고 그 충족된 가격의 (-3)틱에 가격이 도달했을시 , 보유포지션이 없을때만 매도 (1)계좌 시장가진입, 진입후 수익 (100) 틱 도달시 진입한 계좌 모두 강제수익청산 진입후 손실 (100) 틱 도달시 진입한 계좌 모두 강제손절청산 (18시)매매시작해서, 새벽(02시55분) 시에 모든보유계좌 모두 강제청산, 매매종료 ================ 늘 감사드리며, 개발자님께 좋은일 가득하길 바랍니다. 감사합니다.~
프로필 이미지
하늘선물
2023-02-01
767
글번호 165899
시스템
답변완료

수식부탁드립니다.

매수 진입신호 발생시 전일 종가대비 150틱 이상 상승했을때에는 진입이 안되게 하고 매도 진입신호 발생시 전일 종가대비 150틱 이상 하락했을때에는 진입이 안되게 하는 수식 부탁드립니다.
프로필 이미지
미완
2023-02-01
785
글번호 165898
시스템
답변완료

시스템 작성의뢰

수고 하십니다 ! obv 지표가 -38.09 로 상승하고 er bear lower 지표가-1,09 로 하락하고 on balance price 지표가 0.25 로 상승하고 pvi 지표가 100.01 이상 상승 하고 3840 이평선이 7680 이평선을 업크로스 하고 간격이 6틱이상 벌어지고 120 이평선과 240 이평선이 다운 크로스 할때 매도를 하고 1920 이평선 이 7680 이평선을 다운크로스 하고 120 이평선이 240 이평선을 업크로스 할때 청산을 한다 obv 지표가 -1064.90 으로 하락을 하고 er bear power지표가 -1.08 로 상승 하고 on balance price 지표가 -70.41 이하로 하락 하고 pvi 지표가 99.37 이하로 하락 하고 3840 이평선이 7680 이평선을 다운크로스 하고 간격이 6틱이상 벌어지고 120 이평선과 240 이평선이 업크로스 할때 매수를 하고 1920 이평선 이 7680 이평선을 업크로스 하고 120 이평선이 240 이평선을 다운크로스 할때 청산을 한다
프로필 이미지
tnsflwls
2023-01-31
1040
글번호 165897
시스템
답변완료

질문입니다.

안녕하세요? 1. 어느 날의 종가에 청산하고자 할 때에, 미국의 지수선물은 동시호가가 없이 끝나지만, 국내 선물은 동시호가가 있는데, 각각 어떻게 하면 종가에 진입이나 청산이 가능한지요? 만일 일봉차트에서는 진입청산이 불가능하다면, 분봉차트에서는 하루의 종가에 진입청산이 가능하지 않을까 싶은데, 각각 그 식 좀 부탁드립니다. 2. 간혹 날짜나 시간을 지정해서 조건화하는 식을 보았는데, 거기에서 지정하는 날짜나 시간은 무엇 기준인지요? 개인의 컴퓨터에서 사용하는 시간인지, 거래소의 시간인지, 해외선물의 경우에는 국내것인지 해외것인지 가르쳐 주십시오. 예스트레이더 차트에 보면 봉마다 그 봉의 일시가 적혀 있던데, 혹시 그것 기준인가요? 감사합니다.
프로필 이미지
음양조파
2023-01-31
883
글번호 165896
시스템
답변완료

문의드립니다

아래 첨부된 수식 감사드립니다... 감사 ^^ 아래 첨부된 수식을 국내선물 기준으로 하여 년봉=>월봉 월봉=>주봉 주봉=>일봉 일봉=>30분봉 타주기분봉 형태로 만들어 주세요... 미리 감사드립니다 ===================== input : week(2000); var : S1(0),D1(0),TM(0),TF(0),box(0); var : oo(0),hh(0),ll(0),TL1(0),TL2(0),clr(0),ii(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%week; if Bdate != Bdate[1] or (Bdate == Bdate[1] and week > 1 and TF < TF[1]) or (Bdate == Bdate[1] and week > 1 and TM >= TM[1]+week) or (Bdate == Bdate[1] and week == 1 and TM > TM[1]) Then { oo = O; hh = H; ll = L; box = Box_New(sDate,sTime,oo,NextBarSdate,NextBarStime,c); TL1 = TL_New(sDate,sTime,max(C,oo),sDate,sTime,hh); TL2 = TL_New(sDate,sTime,min(C,oo),sDate,sTime,ll); ii = 1; } Else { ii = ii +1; if h > hh Then hh = h; if l < ll Then ll = l; var1 = Round(ii/2,1); Box_SetEnd(box,sDate,sTime,C); TL_SetBegin(TL1,sDate[var1],sTime[var1],max(c,oo)); TL_SetEnd(TL1,sDate[var1],sTime[var1],hh); TL_SetBegin(TL2,sDate[var1],sTime[var1],min(c,oo)); TL_SetEnd(TL2,sDate[var1],sTime[var1],ll); } if C > oo Then clr = Red; else if C < oo Then clr = Blue; Else clr = Green; Box_SetColor(box,clr); Box_SetSize(box,1); Box_SetFill(box,true,50,True); #박스채움 투명도 설정 0(투명) ~ 255(불투명), 마지막 True 봉 뒤 배치 TL_SetStyle(TL1,3); # 윗꼬리 아랫꼬리 점선처리 TL_SetStyle(TL2,3); # 윗꼬리 아랫꼬리 점선처리 TL_SetColor(tl1,clr); TL_SetColor(tl2,clr); }
프로필 이미지
삼족오
2023-01-31
827
글번호 165895
지표
답변완료

문의 드립니다

input : starttime(160000),endtime(80000),n(30); var : Tcond(false),hh(0),h1(0),ll(0),l1(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 { Tcond = false; } if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; hh = h; ll = l; h1 = hh[1]; l1 = ll[1]; IF Endtime <= starttime Then { SetStopEndofday(0); } } input : 익절틱수(0),손절틱수(0); if NextBarSdate != sDate Then { if NextBarOpen != C Then { Buy("b",AtStop,NextBarOpen+PriceScale*5); } } ExitLong("bx",AtMarket); if NextBarOpen != C Then { Buy("b1",AtStop,NextBarOpen+PriceScale*5); } ExitLong("bx1",AtMarket); if NextBarOpen != C Then { Buy("b2",AtStop,NextBarOpen+PriceScale*5); } ExitLong("bx2",AtMarket); if NextBarOpen != C Then { Buy("b3",AtStop,NextBarOpen+PriceScale*5); } ExitLong("bx3",AtMarket); if NextBarOpen != C Then { Buy("b4",AtStop,NextBarOpen+PriceScale*5); } ExitLong("bx4",AtMarket); if NextBarOpen != C Then { Buy("b5",AtStop,NextBarOpen+PriceScale*5); } ExitLong("bx5",AtMarket); if NextBarOpen == C Then { Buy("b6",AtStop,NextBarOpen+PriceScale*5); } ExitLong("bx6",AtMarket); if NextBarOpen == C Then { Buy("b7",AtStop,NextBarOpen+PriceScale*5); } ExitLong("bx7",AtMarket); if NextBarOpen == C Then { Buy("b8",AtStop,NextBarOpen+PriceScale*5); } ExitLong("bx8",AtMarket); if NextBarOpen == C Then { Buy("b9",AtStop,NextBarOpen+PriceScale*5); } ExitLong("bx9",AtMarket); if NextBarOpen == C Then { Buy("b10",AtStop,NextBarOpen+PriceScale*5); } ExitLong("bx10",AtMarket); if NextBarOpen == C Then { Buy("b11",AtStop,NextBarOpen+PriceScale*5); } ExitLong("bx11",AtMarket); if NextBarSdate != sDate Then { if NextBarOpen != C Then { Sell("s",AtStop,NextBarOpen-PriceScale*5); } } ExitShort("sx",AtMarket); if NextBarOpen != C Then { Sell("s1",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx1",AtMarket); if NextBarOpen != C Then { Sell("s2",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx2",AtMarket); if NextBarOpen != C Then { Sell("s3",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx3",AtMarket); if NextBarOpen != C Then { Sell("s4",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx4",AtMarket); if NextBarOpen != C Then { Sell("s5",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx5",AtMarket); if NextBarOpen == C Then { Sell("s6",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx6",AtMarket); if NextBarOpen == C Then { Sell("s7",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx7",AtMarket); if NextBarOpen == C Then { Sell("s8",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx8",AtMarket); if NextBarOpen == C Then { Sell("s9",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx9",AtMarket); if NextBarOpen == C Then { Sell("s10",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx10",AtMarket); if NextBarOpen == C Then { Sell("s11",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx11",AtMarket); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); -------------- 위 수식어에 2가지 경우의 수를 각각 부탁 드립니다. 1. 캔들의 시가에 청산신호후 30분이 지난후 신호가 발생시 주문 2. 캔들의 시가에 청산신호후 6번째 진입신호시 주문
프로필 이미지
푸른
2023-02-01
839
글번호 165894
시스템
답변완료

부탁 드립니다

오류가나서 수정부탁드립니다 챠트에 수치 띠울려고하는에 잘안되서 부탁드립니다 수고하세용 input : Per1(33.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(77.6); var : HH(0),LL(0),cnt(0),text(5),p(0),va(5); if date > date[1]+1 Then{ HH = H; LL = L; } if H > HH Then HH = H; if L < LL Then LL = L; var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100)); var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100)); var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100)); var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100)); var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100)); plot1(HH,"H"); plot2(var1,"33.6"); plot3(var2,"38.2"); plot4(var3,"50.0"); plot5(var4,"61.8"); plot6(var5,"77.6"); plot7(LL,"L"); For cnt = 1 to 5 { Text_Delete(Text[cnt]); Text[cnt] = Text_New(sDate,sTime,p[cnt],"("+NumToStr(P[cnt],2)+"%)"+NumToStr(va[cnt],2)); Text_Delete(p[cnt]); }
프로필 이미지
비듬싸순
2023-01-31
996
글번호 165893
지표
답변완료

함수요청

안녕하세요? 아래 전략에 대해 스크립트 및 각 매매신호를 지표수식으로(캔들 차트상 세로 선으로 표기) 작성 요청드립니다. 국내선물 일봉으로 신호 완성 익봉시가 진입입니다. Band%B, 시그널이 0 아래서 교차 : 매수 Band%B, 시그널이 100 위에서 교차 : 매도 Band%B, 시그널이 80~100 사이에서 교차 : 매수청산 Band%B, 시그널이 0~20 위에서 교차 : 매도청산
프로필 이미지
흰둥이아빠
2023-01-31
680
글번호 165892
시스템