커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

지표

*항상감사합니다. 수식첨삭부탁드립니다. 1]아이콘표시 2]타주기에도 표시부탁드립니다. 3]정한데이타와 오늘시가의 수식부탁드립니다. ex) 기존수식)Plot6(O2,"시2") Plot7(H2,"고2") Plot8(L2,"저2") Plot9((H2+L2)/2,"중2") Plot10(C2,"종2") 첨삭수식) O2+오늘시가/2 H2+오늘시가/2 L2+오늘시가/2 (H2+L2)/2+오늘시가/2 C2+오늘시가/2 *varO2에 오늘시가를 나누워 보았읍니다 4]강조수식입니다. 2022년10월9일 2022년11월5일 2022년12월15일 등 . . . . 지정한 날짜의 캔들bar가 색칠되는 수식 부탁드립니다. (*bar위에 아이콘 표시도 부탁드립니다.) 만들어주신 이전수식] input : 시작일1(20210102),종료일1(20210230); input : 시작일2(20210228),종료일2(20210330); var : O1(0),H1(0),L1(0),C1(0); var : O2(0),H2(0),L2(0),C2(0); if sDate != sDate[1] and sDate >= 시작일1 and sDate[1] < 시작일1 Then { O1 = O; H1 = h; L1 = L; } if O1 > 0 then { if sDate <= 종료일1 Then { if H > H1 Then H1 = H; if L < L1 Then L1 = L; C1 = C; } Plot1(O1,"시1"); Plot2(H1,"고1"); Plot3(L1,"저1"); Plot4((H1+L1)/2,"중1"); Plot5(C1,"종1"); } if sDate != sDate[1] and sDate >= 시작일2 and sDate[1] < 시작일2 Then { O2 = O; H2 = h; L2 = L; } if O2 > 0 then { if sDate <= 종료일2 Then { if H > H2 Then H2 = H; if L < L2 Then L2 = L; C2 = C; } Plot6(O2,"시2"); Plot7(H2,"고2"); Plot8(L2,"저2"); Plot9((H2+L2)/2,"중2"); Plot10(C2,"종2"); }
프로필 이미지
호정0688
2022-11-13
753
글번호 163757
지표
답변완료

시스템수식

수식부탁드림니다. 일봉으로 11월첫시가매수 11월마지막종가매도 12월첫시가매수 12월마지막종가매도 01월첫시가매수 01월마지막종가매도 매년3개월만 반복 매매합니다. 위수식부탁드림니다. 감사합니다
프로필 이미지
큰바위얼굴
2022-11-13
835
글번호 163756
시스템
답변완료

문의드립니다.

수고많으십니다. 장대양봉이나 장대음봉이 나올 때 꼭지에서 매수(매도)신호 나오는 것을 막기위해 문의를 통해 아래 수식을 적용해보니 30틱 이하 양봉에서도 매수1 이 나옵니다. 그리고 장대봉에서 나오지 않더라도 그 다음봉 이후 10틱을 넘어야 신호가 나와야 하는데 이또한 적용이 되지 않습니다. 이부분 세밀하게 한번 봐주시면 감사하겠습니다. var : NN(30),MM(10); if 매수조건 then{ if (C < O+PriceScale*NN) Then Buy("매수1"); Else Buy("매수2",AtStop,C+PriceScale*MM); } 30틱 이상 양봉시 매수하지 말라는 조건에 걸려 해당봉에서는 매수신호가 나오지 않았으나 그 다음봉에서 원래의 매수조건을 만족하면 그다음봉 이후 10틱이상시 매수라는 조건을 만족하지않고도 신호가 나오는듯 보입니다. ★ 제가 원하는 진입로직을 재정리해서 문의드리고자 합니다 ★ 30틱 이상 양봉일 때 매수조건을 만족하더라도 신호가 안나왔다가 이후 "5개봉 이내에서" 원래 매수조건을 만족하고 신호가 나올려고 했던 봉의 종가 기준으로 10틱 이상 상승하면 즉시 신호가 나오는 식입니다. 늘 노고에 감사드립니다~
프로필 이미지
카르마다
2022-11-13
699
글번호 163755
시스템
답변완료

문의 드립니다.~~~~

CNE 거래시 아래식에서 매매시작시간과 종료시간을 설정하고 싶은데 도움 바랍니다. input&#160;:&#160;N(10); if&#160;NextBarSdate&#160;!=&#160;sDate&#160;Then { &#160;&#160;&#160;&#160;&#160;&#160;Buy("b1",AtStop,NextBarOpen+PriceScale*n); &#160;&#160;&#160;&#160;&#160;&#160;Sell("s1",AtStop,NextBarOpen-PriceScale*n); } Else { &#160;&#160;&#160;&#160;&#160;&#160;if&#160;MarketPosition&#160;<=&#160;0&#160;or&#160;(MarketPosition&#160;==&#160;1&#160;and&#160;MaxEntries&#160;<&#160;3&#160;and&#160;h&#160;<&#160;DayOpen+PriceScale*10)&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Buy("b2",AtStop,DayOpen+PriceScale*n); &#160;&#160;&#160;&#160;&#160;&#160;if&#160;MarketPosition&#160;>=&#160;0&#160;or&#160;(MarketPosition&#160;==&#160;-1&#160;and&#160;MaxEntries&#160;<&#160;3&#160;and&#160;L&#160;>&#160;DayOpen-PriceScale*10)&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Sell("s2",AtStop,DayOpen-PriceScale*n); }
프로필 이미지
예스요
2022-11-13
892
글번호 163754
시스템
답변완료

문의드립니다.

30분봉기준입니다. 일봉기준 전일부터 10일내 전일종가 대비 29% 상승 ==>기준봉 당일 저가가 기준봉 중심선(전종+당일종가)/2 하단이고 스톡케스틱 (80,5)가 10 이하 1. 검색식 2. 지표식은 당일 조건에 만족하는 캔들의 저가선을 장마감까지 그어지게 부탁드립니다. 감사합니다.
프로필 이미지
부양가족
2022-11-13
704
글번호 163753
지표

러블리 님에 의해서 삭제되었습니다.

프로필 이미지
러블리
2022-11-13
9
글번호 163752
시스템
답변완료

수식 문의 드립니다

input : starttime(153000),endtime(630000),n(30); var : Tcond(false),hh(0),h1(0),ll(0),l1(0); if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; if MarketPosition == 1 Then ExitLong("bx"); if MarketPosition == -1 Then ExitShort("sx"); } 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 h > hh Then hh = h; if l < ll Then ll = l; if tcond == true and h1 > 0 and l1 > 0 then { if crossup(C,l1+(h1-l1)*1.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*1.000+PriceScale*n) Then buy(); if crossup(C,l1-(h1-l1)*0.618+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.500+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.000+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*-0.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*-0.382+PriceScale*n) Then buy(); if CrossDown(C,l1+(h1-l1)*1.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*1.000-PriceScale*n) Then sell(); if CrossDown(C,l1-(h1-l1)*0.618-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*0.500-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*0.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.000-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.382-PriceScale*n) Then sell(); } if MarketPosition == 1 then { if crossup(c,h1+PriceScale*1) Then exitlong(); if CrossDown(c,l1-PriceScale*1) Then exitlong(); } if MarketPosition == -1 then { if crossup(c,h1+PriceScale*1) Then ExitShort(); if CrossDown(c,l1-PriceScale*1) Then ExitShort(); } -------------------------- 위 수식어의 매매시간이 15:30~ 아침 06:30 까지인데 아침 06:30 에 오버없는 강제청산을 추가를 부탁드립니다. 한번 부탁드린적 있었는데 강제청산이 없어서 다시 올려봅니다. 아래는 청산이 안되었던 79482번의 답변입니다. input : starttime(153000),endtime(630000),n(30); var : Tcond(false),hh(0),h1(0),ll(0),l1(0); if Bdate != Bdate[1] Then SetStopEndofday(630000); 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 { SetStopEndofday(0); Tcond = true; hh = h; ll = l; h1 = hh[1]; l1 = ll[1]; } if h > hh Then hh = h; if l < ll Then ll = l; if tcond == true and h1 > 0 and l1 > 0 then { if crossup(C,l1+(h1-l1)*1.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*1.000+PriceScale*n) Then buy(); if crossup(C,l1-(h1-l1)*0.618+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.500+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.000+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*-0.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*-0.382+PriceScale*n) Then buy(); if CrossDown(C,l1+(h1-l1)*1.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*1.000-PriceScale*n) Then sell(); if CrossDown(C,l1-(h1-l1)*0.618-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*0.500-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*0.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.000-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.382-PriceScale*n) Then sell(); } if MarketPosition == 1 then { if crossup(c,h1+PriceScale*1) Then exitlong(); if CrossDown(c,l1-PriceScale*1) Then exitlong(); } if MarketPosition == -1 then { if crossup(c,h1+PriceScale*1) Then ExitShort(); if CrossDown(c,l1-PriceScale*1) Then ExitShort(); } 미리 감사드립니다.
프로필 이미지
푸른
2022-11-14
866
글번호 163751
시스템
답변완료

추세선 이동

input : Period(5),선두께(2); Var:상승색(red), 하락색(blue); input : 틱1(0),틱2(1); Var:j(0),T(0),txx(0),txxx(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); 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); 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]); } #Text_Delete(txx); Txx = Text_New(date11,time11,Value11+PriceScale*7,"●"); Condition99 = true; Text_SetColor(Txx,Red); Text_SetStyle(Txx,2,2); Text_SetSize(txx,30); if Condition99 == true and Loval[0] <= loval[1]-PriceScale*틱2 Then { Condition99 = False; Text_Delete(txx); } if abs(value11[1]-value12[1]) < 1 Then Text_Delete(txxx); txxx = Text_New(date11,time11,Value11,NumToStr(abs(value11-value12),2)); Text_SetStyle(txxx,2,1); Text_SetBold(txxx,1); if abs(value11-value12) < 1 Then { Text_SetColor(Txxx,Blue); Text_SetSize(txxx,25); } Else { Text_SetColor(Txxx,Blue); Text_SetSize(txxx,15); } } 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); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } Text_SetString(txxx,NumToStr(abs(value11-value12),2)); if abs(value11-value12) < 1 Then { Text_SetColor(Txxx,Blue); Text_SetSize(txxx,25); } Else { Text_SetColor(Txxx,Blue); Text_SetSize(txxx,15); } } } 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 Condition99 == true and Loval[0] >= Loval[1]-PriceScale*틱1 Then { Condition99 = False; Text_Delete(txx); } if abs(value11[1]-value12[1]) < 1 Then Text_Delete(txxx); txxx = Text_New(date11,time11,Value11,NumToStr(abs(value11-value12),2)); Text_SetStyle(txxx,2,3); Text_SetBold(txxx,1); if abs(value11-value12) < 1 Then { Text_SetColor(Txxx,Red); Text_SetSize(txxx,25); } Else { Text_SetColor(Txxx,Red); Text_SetSize(txxx,15); } } 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_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); Text_SetString(txxx,NumToStr(abs(value11-value12),2)); if abs(value11-value12) < 1 Then { Text_SetColor(Txxx,Red); Text_SetSize(txxx,25); } Else { Text_SetColor(Txxx,Red); Text_SetSize(txxx,15); } } } TL_SetSize(TL1,선두께); 1.추세선과 캔들이 겹쳐 서로 잘 안보이므로, 왼쪽으로 5봉 정도 추세선 이동. 2.지금은 추세선 크기가 1p에 도달하면 색상과 크기가 바뀌는데, 이것을 그 추세가 끝나고 역으로 전환할 때 색상과 크기를 바뀌게 하여, 크기가 1p 이상은 표기하고 1p 이하는 지우기로 수정. 감사합니다.
프로필 이미지
고성
2022-11-13
807
글번호 163750
지표
답변완료

문의드립니다.

if CrossUp(ma(c,5),ma(c,20)) Then{ //Dir = -1; var11 = sdate[NthlowestBar(1,l,15)]; var12 = STime[NthlowestBar(1,l,15)]; var13 = Low[NthlowestBar(1,l,15)]; var21 = var11[1]; var22 = var12[1]; var23 = var13[1]; var31 = var21[1]; var32 = var22[1]; var33 = var23[1]; TL_Delete(value1); if var23 >= 0 Then{ value1 = TL_New(var21,var22,var23,var11,var12,var13);#최근 저점-저점 추세선 TL_SetExtRight(value1,True); TL_SetColor(value1,RED); #오른쪽 연장 } if var33 >= 0 Then{ value2 = TL_New(var31,var32,var33,var21,var22,var23);#과거 저점-저점 추세선 TL_SetColor(value2,RED); } if var53 > 0 Then{ value4 = TL_New(var51,var52,var53,var11,var12,var13);#고점-저점 추세선 TL_SetColor(value4,BLUE); } } 1.틱차트상에서(60틱) 5일이평선과 20일이평선이 골든크로스를 줬을때에 최근15봉 저가를 기준점으로 추세선을 표현하려고 합니다. 그런데 틱차트가 초단위로 움직이니깐 초단위로 봉이 여러개 생겼을 경우에는 그림에서 보시는것처럼 초단위로 생긴 봉들의 제일 왼쪽을 기준점으로 추세선이 표현되네요. 1분봉에서는 문제없이 제대로 표현이 되구요. 제대로 된 봉의 저가를 기준으로 추세선을 긋고 싶습니다. 이게 추세선 조건에서 stime이 초단위까지만 표현되어서 생기는 문제 같은데요. 해결이 될까요? var : 분주기(30),분주기1(15),분주기2(5); //P(5), var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),sum(0),mav(0),tf1(0),TFF(0),entry(false),tf2(0); Array : CC[100](0),OO[100](0),gHH[100](0),gLL[100](0),TT[100](0),ii[100](0),O2[100](0); Array : C1[100](0),T1[100](0); if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) Then{ S1 = TimeToMinutes(100000); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TFF = TM%60; TF = TM%분주기; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF < TF[1]) Then{ OO[0] = o; gHH[0] = H; gLL[0] = L; TT[0] = stime; ii[0] = 0; for cnt = 1 to 99{ OO[cnt] = OO[cnt-1][1]; gHH[cnt] = gHH[cnt-1][1]; gLL[cnt] = gLL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; TT[cnt] = TT[cnt-1][1]; ii[cnt] = ii[cnt-1][1]; } } if H > gHH[0] Then gHH[0] = H; if L < gLL[0] Then gLL[0] = L; CC[0] = C; // ii[0] = ii[0]+1; /* TF1 = TM%분주기1; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF1 < TF1[1]) Then{ T1[0] = stime; for cnt = 1 to 99{ C1[cnt] = C1[cnt-1][1]; T1[cnt] = T1[cnt-1][1]; } } C1[0] = C; TF2 = TM%분주기2; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF2 < TF2[1]) Then{ O2[0] = o; for cnt = 1 to 99{ O2[cnt] = O2[cnt-1][1]; } } */ } 2.30분단위로 해서 29분이후로는 진입하지 않는다를 식으로 표현하고 싶습니다. 감사합니다~
프로필 이미지
겐지
2022-11-14
802
글번호 163749
시스템
답변완료

문의드립니다

adx 지표식 부탁드립니다 감사합니다
프로필 이미지
러블리
2022-11-12
729
글번호 163748
지표