커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의 드립니다.

20이평선 위에서 음봉에서 양봉으로 전환될 때 매수 진입 20이평선을 아래로 돌파 하거나 음봉 발생하면 매도청산 완료 20이평선 아래서 양봉에서 음봉으로 전환될 때 매도 진입 20이평선 위로 돌파 하거나 양봉 발생하면 매수청산 완료 부탁드립니다.
프로필 이미지
선물대장
2024-03-06
622
글번호 177216
시스템
답변완료

시간박스

안녕하세요? 시장시간별고가와 저가의 박스를그리는지표입니다, 그런데 애러가 발생합니다,,,, 수정부탁드립니다,, var : T(0),idx(0),HH(0),LL(0),SD(0),ST(0); var : TL1(0),TL2(0),TL3(0),TL4(0),color(0); if (bdate != bdate[1] and stime >= 070000) or (bdate == bdate[1] and stime >= 070000 and stime[1] < 070000) Then { T = 1; } if (bdate != bdate[1] and stime >= 170000) or (bdate == bdate[1] and stime >= 170000 and stime[1] < 170000) Then { T = 2; } if (bdate != bdate[1] and stime >= 230000) or (bdate == bdate[1] and stime >= 230000 and stime[1] < 230000) Then { T = 3; } if T != T[1] Then { HH = H; LL = L; SD = sdate; ST = stime; idx = 0; } if T == T[1] and T >= 1 then { idx = idx+1; if H > HH Then HH = H; if L < LL Then LL = L; if idx == 1 then { TL1 = TL_New(SD,ST,HH,sdate,stime,HH); TL2 = TL_New(SD,ST,LL,sdate,stime,LL); TL3 = TL_New(SD,ST,HH,SD,ST,LL); TL4 = TL_New(sDate,sTime,HH,sdate,stime,HH); if T == 1 Then color = red; if T == 2 Then color = blue; if T == 3 Then color = GREEN; TL_SetColor(TL1,color); TL_SetColor(TL2,color); TL_SetColor(TL3,color); TL_SetColor(TL4,color); } Else { TL_SetBegin(TL1,SD,ST,HH); TL_SetEnd(TL1,sdate,stime,HH); TL_SetBegin(TL2,SD,ST,LL); TL_SetEnd(TL2,sdate,stime,LL); TL_SetBegin(TL3,SD,ST,HH); TL_SetEnd(TL3,SD,ST,LL); TL_SetBegin(TL4,sDate,sTime,HH); TL_SetEnd(TL4,sDate,sTime,LL); } }
프로필 이미지
추세승리
2024-03-06
785
글번호 177214
지표
답변완료

함수요청

안녕하세요? 국내선물 일봉으로 포지션 거래를 하고자 합니다. 아래 전략에 대해 스크립트 작성 부탁드립니다. 투자심리선 + 신심리도 < -50이되 두 값 모두 음일 때 완성 익봉 시가에 매수 진입 투자심리선 + 신심리도 > 100이되 두 값 모두 양일 때 완성 익봉 시가에 매도 진입 투자심리선 혹은 신심리도가 둘 중 하나가 음수가 되면 익봉 시가에 매도청산 투자심리선 혹은 신심리도가 둘 중 하나가 양수가 되면 익봉 시가에 매수청산
프로필 이미지
흰둥이아빠
2024-03-06
817
글번호 177207
지표
답변완료

피보나치 중간선 박스

Input : 전환(0.7); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""); Array:고[10,4](0),저[10,4](0); var : box(0),TX(0),TL(0),T(0),TL1(0),TL2(0),TL3(0); HH = H; LL = L; If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1]+전환 <= HH and hiBar == 0; Condition2 = 고[1,1]-전환 >= LL and loBar == 0; 처리구분 = ""; 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 { If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL = TL_New_Self(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL,1); TL_SetColor(TL,Red); TX = Text_New_Self(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1]-저[1,1],2)+" "); Text_SetSize(tx,25); Text_SetColor(tx,Red); Text_SetStyle(tx,1,1); Text_SetBold(tx,1); Condition4 = false; } If 고[1,1] < HH[hiBar] Then { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL,고[1,3],고[1,4],고[1,1]); Text_SetString(TX,NumToStr(고[1,1]-저[1,1],2)+" "); Text_SetLocation(TX,고[1,3],고[1,4],고[1,1]); } if Condition4 == False and abs(저[1,1]-고[1,1]) >= 0.9 Then { Condition4 = true; TL1 = TL_New_Self(고[1,3],고[1,4],(고[1,1]+저[1,1])/2,저[1,3],저[1,4],(고[1,1]+저[1,1])/2); TL_SetColor(TL1,Magenta); TL_SetSize(TL1,0.5); TL2 = TL_New_Self(고[1,3],고[1,4],저[1,1] + abs(고[1,1]-저[1,1])*0.618,저[1,3],저[1,4],저[1,1] + abs(고[1,1]-저[1,1])*0.618); TL_SetColor(TL2,Orange); TL_SetSize(TL2,0.5); TL3 = TL_New_Self(고[1,3],고[1,4],저[1,1] + abs(고[1,1]-저[1,1])*0.382,저[1,3],저[1,4],저[1,1] + abs(고[1,1]-저[1,1])*0.382); TL_SetColor(TL3,Orange); TL_SetSize(TL3,0.5); } if Condition4 == true Then { TL_SetBegin(TL1,고[1,3],고[1,4],(고[1,1]+저[1,1])/2); TL_SetEnd(TL1,저[1,3],저[1,4],(고[1,1]+저[1,1])/2); TL_SetBegin(TL2,고[1,3],고[1,4],저[1,1] + abs(고[1,1]-저[1,1])*0.618); TL_SetEnd(TL2,저[1,3],저[1,4],저[1,1] + abs(고[1,1]-저[1,1])*0.618); TL_SetBegin(TL3,고[1,3],고[1,4],저[1,1] + abs(고[1,1]-저[1,1])*0.382); TL_SetEnd(TL3,저[1,3],저[1,4],저[1,1] + abs(고[1,1]-저[1,1])*0.382); } 최종꼭지점 = "고점"; Plot1(고[1,1]); NoPlot(2); } If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL = TL_New_Self(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL,1); TL_SetColor(TL,Blue); TX = Text_New_Self(저[1,3],저[1,4],저[1,1],NumToStr(고[1,1]-저[1,1],2)+" "); Text_SetSize(tx,25); Text_SetColor(tx,Blue); Text_SetStyle(tx,1,0); Text_SetBold(tx,1); Condition3 = False; } If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL,저[1,3],저[1,4],저[1,1]); Text_SetString(TX,NumToStr(고[1,1]-저[1,1],2)+" "); Text_SetLocation(TX,저[1,3],저[1,4],저[1,1]); } if Condition3 == False and abs(고[1,1]-저[1,1]) >= 0.9 Then { Condition3 = true; TL1 = TL_New_Self(고[1,3],고[1,4],(고[1,1]+저[1,1])/2,저[1,3],저[1,4],(고[1,1]+저[1,1])/2); TL_SetColor(TL1,Magenta); TL_SetSize(TL1,0.5); TL2 = TL_New_Self(고[1,3],고[1,4],고[1,1] - abs(고[1,1]-저[1,1])*0.618,저[1,3],저[1,4],고[1,1] - abs(고[1,1]-저[1,1])*0.618); TL_SetColor(TL2,Orange); TL_SetSize(TL2,0.5); TL3 = TL_New_Self(고[1,3],고[1,4],고[1,1] - abs(고[1,1]-저[1,1])*0.382,저[1,3],저[1,4],고[1,1] - abs(고[1,1]-저[1,1])*0.382); TL_SetColor(TL3,Orange); TL_SetSize(TL3,0.5); } if Condition3 == true Then { TL_SetBegin(TL1,고[1,3],고[1,4],(고[1,1]+저[1,1])/2); TL_SetEnd(TL1,저[1,3],저[1,4],(고[1,1]+저[1,1])/2); TL_SetBegin(TL2,고[1,3],고[1,4],고[1,1] - abs(고[1,1]-저[1,1])*0.618); TL_SetEnd(TL2,저[1,3],저[1,4],고[1,1] - abs(고[1,1]-저[1,1])*0.618); TL_SetBegin(TL3,고[1,3],고[1,4],고[1,1] - abs(고[1,1]-저[1,1])*0.382); TL_SetEnd(TL3,저[1,3],저[1,4],고[1,1] - abs(고[1,1]-저[1,1])*0.382); } 최종꼭지점 = "저점"; Plot2(저[1,1]); NoPlot(1); } 피보나치 38.2부터 50까지, 50부터 61.8까지 박스. 현재 수식과 같이, 설정한 크기에 도달할 때부터 박스. 감사합니다.
프로필 이미지
고성
2024-03-06
688
글번호 177205
지표
답변완료

사용자 함수 문의

안녕하세요 항상 건강하십쇼! 저번에 여쭤본 86029 게시글에 이어서 계속 질문 드립니다. 말씀주신 PercentRankArray의 결과값을 사용자 함수로 불러와서 쓰고싶은데 안됩니다 ㅠㅠ 동일한 코드로 지표를 만들어서 plot하면 값이 잘 불러와지는데, 사용자 함수로 넣어서 해당 사용자 함수를 불러와서 plot하면 값이 n/a로 뜹니다. 안뜹니다. 고쳐주세요 (__) 사용자함수명 : PRATest ///////// var: vari1(0), Vari2(0) ; Array : cc[10000](0) ; /// Vari1 = Close; Ins*ertArray(cc, 0, Vari1); Vari2 = PercentRankArray(C,cc,index); #대상값은 종가, 대상배열은 cc, 사이즈는 Array에 저장된 값의 수. 즉 Array에 방이 하나씩 채워질때마다 해당 값도 늘어나야합니다. 어떻게 해야하나요? Index를 넣으면 되나요? PRATest = Vari2; //////////
프로필 이미지
이만스닥
2024-03-06
551
글번호 177204
사용자 함수
답변완료

피보나치 전환 박스

input : 전환포인트(0.7); Array : HD[10](0),HT[10](0),HV[10](0); Array : LD[10](0),LT[10](0),LV[10](0); var : cnt(0),Hprice(0),Lprice(0); var : UpTrend(false),DownTrend(False),Trend(0),ZigZagTL(0),TX(0); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0); Plot1 (c); HPrice = H; LPrice = L; if Index == 0 or Bdate != Bdate[1] Then { HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; trend = 0; } Else { UpTrend = HPrice >= LV[0]+전환포인트; DownTrend = LPrice <= HV[0]-전환포인트; if trend <= 0 and UpTrend == true Then { trend = 1; For cnt = 9 DownTo 1 { HD[cnt] = HD[cnt-1]; HT[cnt] = HT[cnt-1]; HV[cnt] = HV[cnt-1]; } HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]); TL_SetColor(ZigZagTL,Red); TL_SetSize(ZigZagTL,1); TX = text_new(HD[0],HT[0],HV[0],NumToStr(HV[0]-LV[0],2)+" "); Text_SetStyle(TX,1,1); Text_SetColor(TX,Black); Text_SetSize(tx,25); Text_SetBold(tx,1); var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); TL1 = TL_New(LD[0],LT[0],HV[0],NextBarSdate,NextBarStime,HV[0]); TL2 = TL_New(LD[0],LT[0],var2,NextBarSdate,NextBarStime,var2); TL3 = TL_New(LD[0],LT[0],var3,NextBarSdate,NextBarStime,var3); TL4 = TL_New(LD[0],LT[0],var4,NextBarSdate,NextBarStime,var4); TL5 = TL_New(LD[0],LT[0],LV[0],NextBarSdate,NextBarStime,LV[0]); TL_SetColor(TL1,Magenta); TL_SetColor(TL2,Orange); TL_SetColor(TL3,Green); TL_SetColor(TL4,Orange); TL_SetColor(TL5,Green); } Else if trend >= 0 and DownTrend Then//하락추세 전환 { trend = -1; For cnt = 9 DownTo 1 { LD[cnt] = LD[cnt-1]; LT[cnt] = LT[cnt-1]; LV[cnt] = LV[cnt-1]; } LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]); TL_SetColor(ZigZagTL,Blue); TL_SetSize(ZigZagTL,1); TX = text_new(LD[0],LT[0],LV[0],NumToStr(HV[0]-LV[0],2)+" "); Text_SetStyle(TX,1,0); Text_SetColor(TX,Black); Text_SetSize(tx,25); Text_SetBold(tx,1); var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); TL1 = TL_New(HD[0],HT[0],HV[0],NextBarSdate,NextBarStime,HV[0]); TL2 = TL_New(HD[0],HT[0],var2,NextBarSdate,NextBarStime,var2); TL3 = TL_New(HD[0],HT[0],var3,NextBarSdate,NextBarStime,var3); TL4 = TL_New(HD[0],HT[0],var4,NextBarSdate,NextBarStime,var4); TL5 = TL_New(HD[0],HT[0],LV[0],NextBarSdate,NextBarStime,LV[0]); TL_SetColor(TL1,Magenta); TL_SetColor(TL2,Orange); TL_SetColor(TL3,Green); TL_SetColor(TL4,Orange); TL_SetColor(TL5,Green); } Else { if trend == 1 Then { if HPrice > HV[0] Then { HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]); Text_SetLocation(TX,HD[0],HT[0],HV[0]); Text_SetString(TX,NumToStr(HV[0]-LV[0],2)+" "); var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); TL_SetBegin(TL1,LD[0],LT[0],HV[0]); TL_SetBegin(TL2,LD[0],LT[0],Var2); TL_SetBegin(TL3,LD[0],LT[0],Var3); TL_SetBegin(TL4,LD[0],LT[0],Var4); TL_SetBegin(TL5,LD[0],LT[0],LV[0]); TL_SetEnd(TL1,Sdate,Stime,HV[0]); TL_SetEnd(TL2,Sdate,Stime,Var2); TL_SetEnd(TL3,Sdate,Stime,Var3); TL_SetEnd(TL4,Sdate,Stime,Var4); TL_SetEnd(TL5,Sdate,Stime,LV[0]); } } if trend == -1 Then { if LPrice < LV[0] Then { LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]); Text_SetLocation(TX,LD[0],LT[0],LV[0]); Text_SetString(TX,NumToStr(HV[0]-LV[0],2)+" "); var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); TL_SetBegin(TL1,HD[0],HT[0],HV[0]); TL_SetBegin(TL2,HD[0],HT[0],Var2); TL_SetBegin(TL3,HD[0],HT[0],Var3); TL_SetBegin(TL4,HD[0],HT[0],Var4); TL_SetBegin(TL5,HD[0],HT[0],LV[0]); TL_SetEnd(TL1,Sdate,Stime,HV[0]); TL_SetEnd(TL2,Sdate,Stime,Var2); TL_SetEnd(TL3,Sdate,Stime,Var3); TL_SetEnd(TL4,Sdate,Stime,Var4); TL_SetEnd(TL5,Sdate,Stime,LV[0]); } } } } 피보나치 38.2부터 50까지 박스. 50부터 61.8까지 박스. 감사합니다.
프로필 이미지
고성
2024-03-06
557
글번호 177202
지표

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

프로필 이미지
2wnwn
2024-03-06
12
글번호 177201
시스템
답변완료

변환 부탁드려요

늘 감사드리며 신호수식을 종목검색식으로 부탁드립니다 AA=dayhigh()>daylow()*1.07; BB=dayhigh()-daylow(); 상단=Valuewhen(1,AA,BB*상단비율/100+daylow()); 하단=Valuewhen(1,AA,BB*하단비율/100+daylow()); M5=ma(c,5); KK5=M5>M5(1) && M5(1)<M5(2); q=valuewhen(1,KK5,M5); M20=ma(c,20); M60=ma(c,60); KK5 && c> 0 && crossup(C,상단) && q>하단 && (M5>M20 or M5>M60) 지표설정: 상단비율:65 하단비율;50
프로필 이미지
무건
2024-03-06
451
글번호 177195
종목검색

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

프로필 이미지
nicebs
2024-03-06
98
글번호 177194
종목검색
답변완료

시스템식 요청드립니다.

위의 그림을 확인해보시면, 아래의 수식에 의해서 타점 1이 매수되어야 하는데, 매수가 안되었습니다. If c >= HH*1.005 AND LatestEntryName(0) == "타점" AND LatestExitName(1) == "5%익절" AND LatestExitName(0) == "P5청산" TheN Buy("타점1",AtLimit,타점,Floor((베팅금)/타점)*0.6); 혹시 왜 매수가 안되었는지 알수가 있을까요??? 예상하기로는 돌파매수타점인데, 고점이 갱신되면서 매수가 안된건가 싶기도 하고, 그렇게 되면 HH(1)을 적용 해야 하나 싶기도 하고 확인이 어려워 요청드립니다. --------------------------------------------------------------------------------------------- input : 베팅금(1000000); input : 시작날짜 (20240113),Xtime(110000) ; input : 타점(5000),손절(1000); var : P618(0),P5(0),P382(0),HH(0),LL(0); Var : day(0),EntryDay(0),entry(False),dd(0),ED(0); if sDate >= 시작날짜 Then { if Bdate != Bdate[1] Then { entry = true; day = day+1; dd = dd+1; } if HH == 0 or (HH > 0 and H > HH) Then HH = H; if LL == 0 or (LL > 0 and L < LL) Then LL = L; } P618 = LL+(HH-LL)*0.618; P5 = LL+(HH-LL)*0.5; P382 = LL+(HH-LL)*0.382; if TotalTrades > TotalTrades[1] Then entry = False; if MarketPosition == 0 and entry == true and c > 타점 Then Buy("타점",AtLimit,타점,Floor((베팅금)/타점)); If c >= HH*1.005 AND LatestEntryName(0) == "타점" AND LatestExitName(1) == "5%익절" AND LatestExitName(0) == "P5청산" TheN Buy("타점1",AtLimit,타점,Floor((베팅금)/타점)*0.6); if ((LatestEntryName(0) == "타점") )Then ExitLong("5%익절",AtLimit,AvgEntryPrice*1.05,"",Floor((베팅금)/타점)*0.3); if((LatestEntryName(0) == "타점") ) Then ExitLong("20%익절",AtLimit,AvgEntryPrice*1.2,"",Floor((베팅금)/타점)*0.3); if (LatestExitName(0) == "5%익절") and c <= P5 Then ExitLong("P5청산",AtLimit,P5,"",Floor((베팅금)/타점)*0.3); if (LatestExitName(0) == "5%익절") and c <= P382 Then ExitLong("P382청산",AtLimit,P382,"",Floor((베팅금)/타점)*0.4); if MarketPosition == 1 and sTime > xtime and 손절 >= c Then ExitLong("손절");
프로필 이미지
맴맴잉
2024-03-06
846
글번호 177193
시스템