커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

지수 이평에 대해 문의 드립니다.

ema(c,12)-ema(c,26) 이 있다고 가정하겠습니다. 이게 macd 공식이라는 것은 잘 아실 겁니다. 그럼 여기서 제가 궁금한 것은 첫번째 종가에 적용된 가중치가 있을텐데 그 값을 어떻게 구하나요? 기간을 12로 했을 때 종가에 부여된 가중치와 기간을 26으로 했을 때 종가에 부여된 가중치를 계산하고 싶습니다.
프로필 이미지
이웃집고양이
2023-08-25
1133
글번호 171827
지표
답변완료

swinghigh 값을 차트에 출력하기 문의

항상 도움에 감사드립니다. 첫번째 이미지와 같이 swinghigh 의 위치에 swinghigh의 번호를 매겨 출력하고 싶은데요. (이미지 참조) 아래와 같이 코드를 짜봤는데 원하는대로 출력이 되지 않네요. ----------------------------------------- input: LeftL(3),RightL(3),period(500); var : k(0); Array: swingH[4](0), u_TL_display[4](0); for k = 1 to 3; { swingH[k] = SwingHigh(k, H, LeftL, RightL, period); u_TL_display[k] = Text_New(NextBarSdate,NextBarStime,swingH[k],NumToStr(k,0)); } ------------------------------------------------------------ 첨부된 이미지 처럼 출력이 되게 하려면 어떻게 수식을 작성 해야할까요?
프로필 이미지
예스쟁이
2023-08-24
1396
글번호 171826
지표
답변완료

swinghigh 값을 messagelog로 표시하기

항상 도움에 감사드립니다. 1. 첫번째 이미지에 있는 차트를 가지고 swinghigh의 값을 messagelog로 출력 해봤는데요. 코드는 아래와 같습니다. -------------------------------------------------------------------- input: LeftL(3),RightL(3),period(500); var : k(0); Array: swingH[4](0), swingL[4](0); for k = 1 to 4; { swingH[k] = SwingHigh(k, H, LeftL, RightL, period); } MessageLog("swingH : %.f, %.f, %.f, %.f ", swingH[1], swingH[2], swingH[3],swingH[4]); ------------------------------------------------------------------- 그런데 messagelog 의 값이 두번째 이미지와 같이 다 0으로 나오는데요. 어디가 잘못됐는지 모르겠습니다. swinghigh1 ~ 4번째 까지 값을 messagelog로 디버깅 창에 출력하려면 어떻게 해야하나요? (또는 swinghigh에 for문을 쓰는 것이 잘못된 것인가요?)
프로필 이미지
예스쟁이
2023-08-24
1364
글번호 171825
지표
답변완료

전환추세 쌍바닥 조건 추가

Input : 전환(0.25); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""),TL(0),tx(0),tx1(0); Array:고[10,4](0),저[10,4](0); Plot1(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(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL,2); TL_SetColor(TL,RED); if 저[1,1] <= 저[2,1] + PriceScale* 2 and 저[1,1] >= 저[2,1] - PriceScale* 1 Then { tx = text_new(저[1,3],저[1,4],저[1,1],"●"); Text_SetStyle(tx,2,2); Text_SetColor(tx,Magenta); Text_SetSize(tx,20); } if 저[1,1] <= 저[2,1] - PriceScale* 2 and 저[1,1] <= 고[2,1]-0.5 Then { tx1 = text_new(저[1,3],저[1,4],저[1,1],"●"); Text_SetStyle(tx1,2,2); Text_SetColor(tx1,Black); Text_SetSize(tx1,25); } } Else 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]); } 최종꼭지점 = "고점"; } 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(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL,2); TL_SetColor(TL,BLUE); } Else 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]); } 최종꼭지점 = "저점"; } 83488 재문의 0.5p 이상인 하락추세선에 의미없이 표시만 됩니다. 하락추세선의 크기가 0.5p 이상일 때, 다음 하락추세선의 저점이 -2틱으로 쌍바닥이 될 때 동그라미 표시. 0.5p 이하이면 기존 수식대로 +2틱에서 -1틱에 쌍바닥이면 표시. (-2틱 쌍바닥은 직전 하락추세선의 크기가 0.5p 이상일 때만 해당) 수정 부탁드립니다.
프로필 이미지
고성
2023-08-24
2163
글번호 171824
지표
답변완료

수식 문의입니다.

if var23==1 and L < Var20 Then { Var23=2; Print("C:₩Users₩user₩Desktop₩백업₩data.csv",",%.2f",var23);} 이렇게 하려고 할때 var23에 값이 0이나 다른 숫자로 변경되지 않는 이상 한번만 출력하려면 어떻게 수정하면 될까요?? 도움 부탁드립니다. 감사합니다.
프로필 이미지
yosong
2023-08-24
1271
글번호 171823
지표
답변완료

옵션 시뮬레이터 역사적 변동성

x = log(당일종가/전일종가) a = 수익율(x) 제곱 합산 b = 수익율(x) 합산 c = (a/기간-1) - (b/기간-1) d = c의 제곱근 HV = d * 244 의 제곱근 HV : 역사적 변동성 예전에 옵션 시뮬레이터에 있는 역사적 변동성 (HV 60일) 값을 구하는 공식을 위와 같이 답변해주셨는데, 예트 코스피200 종합 지수에 지표를 적용하니 값이 다르게 나옵니다. 아래 수식은 지표 수식입니다. 어떻게 수정하면 좋을까요? 항상 도움주셔서 감사합니다. Input : period(60); var : cnt(0); Var1 = log(C/C[1]); Var10 = Square(Var1); Var2 = 0; For cnt = 0 to period-1 { Var2 = Var10[cnt] + Var2; } Var3 = 0; For cnt = 0 to period-1 { Var3 = Var1[cnt] + Var3; } Var4 = (Var2/period-1) - (Var3/period-1); Var5 = SqRt(Var4); Var6 = Var5 * SqRt(244); Plot1(Var6);
프로필 이미지
히익
2023-08-24
1077
글번호 171820
지표
답변완료

swinghigh

안녕하세요? 손절설정 부탁드립니다 buy 진입시 : SL2 sell 진입시 : SH2 감사합니다~~^^ 안녕하세요 예스스탁입니다. 변수의 기본값이 기본이 0 이므로 0보다 큰것은 값이 저장된것을 의미합니다. 지정한 변수에 값저장이 없어 추가해 드립니다. input : left(3),right(3); var : sl1(0),sl2(0),sh1(0),sh2(0); if SwingLow(1,L,Left,right,Left+right+1) != -1 Then { sl1 = l[right]; sl2 = sl1[1]; #최근저점이 전저점보다 크면 매수 if SL1 > SL2 and SL2 > 0 Then buy(); } if SwingHigh(1,H,Left,right,Left+right+1) != -1 Then { sh1 = h[right]; sh2 = sh1[1]; #최근고점이 전고점보다 작으면 매도 if SH1 < SH2 and SH2 > 0 Then sell(); } input : SL(70),SPR(1.2); SetStopContract; SetStopLoss(SL,PointStop); SetStopProfittarget(SL*SPR,PointStop); 즐거운 하루되세요
프로필 이미지
코퍼
2023-08-24
1064
글번호 171819
시스템
답변완료

안녕하세요

안녕하세요 선물 매매 수식 1 1, 선물지수가 30봉 이내에 5ma가 60ma를 golden cross 하였으며 다시 60ma를 하향 이탈 후 다시 5ma가 60ma를 golden cross 하면 매수 ( 단 전저점을 0.1P 이내 하회하여야 한다 = 단 전고점을 0.1P 이상 하락하면 안된다) 2, 선물지수가 30봉 이내에 5ma가 60ma를 Dead cross 하였으며 다시 60ma를 상향 돌파 후 다시 5ma가 60ma를 Dead cross 하면 매도 ( 단 전고점을 0.1P 이내 여야 한다 = 단 전고점을 0.1P를 초과하면 안된다) 선물 매매 수식 2 Input : Period(12), Period1(5), Period2(5); value1 = StochasticsK(Period,Period1); value2 = StochasticsD(Period,Period1,Period2); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { sell(); } 위의 수식을 1, 선물지수가 30봉 이내에 value1가 value2를 golden cross 하였으며 다시 value2를 하향 이탈 후 다시 value1가 value2를 golden cross 하면 매수 2, 선물지수가 30봉 이내에 value1가 value2를 Dead cross 하였으며 다시 60ma를 상향 돌파 후 다시 value1가 value2를 Dead cross 하면 매도 선물 매매 수식 3 ㄱ, 20ma가 12봉 중에서 7봉 상향시 매수 ㄴ, 20ma가 12봉 중에서 7봉 하향시 매도 감사합니다
프로필 이미지
금보
2023-08-24
834
글번호 171804
시스템

정구지 님에 의해서 삭제되었습니다.

프로필 이미지
정구지
2023-08-24
37
글번호 171803
시스템
답변완료

수식문의

수고하십니다. (문의1) 아래수식에서 3분봉에서 120봉 이내에서 문의종목검색식을 만족하는 3번째 봉을 검색하고 싶습니다. (문의2) 검색된 종목이 재검색시에도 계속유지될 수 있도록 부탁드립니다 # 문의종목검색식 if CROSSUP(C,CL) OR CROSSUP(C,LL) && C>C[1] && C>O && V>V[1]*1.0 Then Find(1); Input : P20(20); Var : CL(0),sum(0),ii(0),avgif(0),cnt(0); Var : SumSqrt(0),StdevIf(0),LL(0); Array : diff[500](0); CL = ma(C,p20); Var1 = C-CL; if IsNan(CL) == False then { if Var1 < 0 Then { ii = ii + 1; diff[ii] = var1; sum = sum + var1; avgif = sum/ii; } if ii >= 1 then { SumSqrt = 0; For cnt = 1 To ii { SumSqrt = SumSqrt + (diff[cnt] - avgif)^2; } StdevIf = SquareRoot(SumSqrt / ii); LL = Var1 + avgif - 2*StdevIf; if CROSSUP(C,CL) OR CROSSUP(C,LL) && C>C[1] && C>O && V>V[1]*1.0 Then Find(1); } }
프로필 이미지
심홍
2023-08-24
889
글번호 171801
종목검색