커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

지정되지 않은 오류

안녕하세요? 차트틀을 바꿔서 열어보니 갑자기 이런 오류가 뜨던데, 원인과 치료법이 궁금합니다. 감사합니다.
프로필 이미지
에구머니
2021-01-27
774
글번호 145829
지표
답변완료

valuewhen을 예스트리이더 수식으로

수고하십니다. a=avg(c,period) valuewhen(1,a>=a(1),a); 을 예스트레이더 수치로 바꾸고 싶습니다. 그리고 예스스팟에서 갭보정은 어떻게 할 수 있는지 알려주세요..
프로필 이미지
구름달
2021-01-27
1313
글번호 145828
지표
답변완료

색상 표시

안녕하세요 현재 90틱 챠트를 사용하고 있습니다. 여기에 30분봉의 시가와 종가를 색상으로 표시하고 싶습니다. 정확히 시간기준으로 해도 괜찮을듯합니다. 1. 30분봉 시가와 종가를 봉 색상(양봉,음봉)으로 표시(색상은 변화가능) 2. 60분봉의 시가와 종가를 위와같이 표시. 3. 일봉의 시가와 종가를 위와같이 표시. 감사합니다.
프로필 이미지
라몬
2021-01-26
1141
글번호 145827
지표
답변완료

해선용 양방향 지표 부탁드립니다.

지난번에 20이평위 확정봉발생시 매수 매도를 문의드렸었는데 하나의 이평이 아닌 60이평과 5이평 두이평을 모두위로확정봉 발생시 매수하고 두이평 모두 아래로 확정봉 발생이 매도하는데 단순히 매수 청산이 아닌 스위칭으로 주문이 나갈수 있게 부탁드립니다.
프로필 이미지
beautyin
2021-01-26
1220
글번호 145826
시스템
답변완료

문의드립니다

안녕하세요 수고하십니다 아래수식은 예전에 만들어 주신 일명 지그재그 지표입니다 수식가공하고십습니다 검색식으로요 예를들기위해서 가 나 다 로 설명하겠습니다 가 첫번재 저점 = 저점조건 = 5-1-5에서 가운데 저가가 좌측 5봉과 우측 5봉 저가보다 낮다 나 = 고점조건 = 5-1-5에서 가운데 고가가 좌측 5봉과 우측 5봉 고가보다 높다 다 두번재 저점 = 저점조건 = 5-1-5에서 가운데 저가가 좌측 5봉과 우측 5봉 저가보다 낮다 조건입니다 나에 고저 과 다의 저점을 빼기한 값을 가의 저가에 더하기한 값이 기준입니다 기준가에 현재가가 2%근접하면 검색되는식 입니다 미리감사드립니다 Input:barCnt(5); Var:j(0),turnPntBit(""),TL1(0),TL2(0),TL3(0),T(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); // 봉이 새로 생겼으므로 봉개수 관리하는 변수들의 봉개수 값 1씩 증가 For j = 0 To 9 { barArr[j] = barArr[j] + 1; } // 고점조건 = 5-1-5에서 가운데 고가가 좌측 5봉과 우측 5봉 고가보다 높다 // 저점조건 = 5-1-5에서 가운데 저가가 좌측 5봉과 우측 5봉 저가보다 낮다 Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt); Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt); // 전환점구분 null값으로 초기화; // if 고점조건, 저점조건 동시 만족시 then // if 이전 고점,저점 범위를 모두 벗어났을 때 // 전환점구분 = 고저점; // else if 이전 고점을 갱신했다면 전환점구분 = 고점; // else if 이전 저점을 갱신했다면 전환점구분 = 저점; // else if 전환점배열의 현재(배열상 1번째)값이 고점이면 전환점구분 = 저점; // else if 전환점배열의 현재 값이 저점이면 전환점구분 = 고점; // else if 고점조건 만족하면 전환점구분 = 고점; // else if 저점조건 만족하면 전환전구분 = 저점; turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; // if 전환점구분에 값이 있을 때만 아래 실행, 없으면 통과 If turnPntBit <> "" Then { // if 전환점구분이 고저점이면 then // 이전 파동은 연장시키고 아래에서 새로이 파동선을 추가토록 한다. If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } // if 신규 전환점구분이 현재(전환점배열 1번째)와 다르면 then // 배열값들을 이전값으로 Move; If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } // if 전환점구분이 바뀌었거나 또는 // (전환점구분은 안바뀌었는데 // (이전 고점보다 높은 고점이 발생했거나 또는 // 이전 저점보다 낮은 저점이 발생했으면)) then If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or (turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then { // 값 배열에는 고점 또는 저점을 대입; // 봉개수 배열에는 입력변수의 봉개수 대입; // 전환점 배열에 전환점구분값을 대입; valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; turnPntArr[1] = turnPntBit; // if 이전봉대비 전환점구분이 바뀌었다면 추세선 새로 그리고; // else 전환점구분이 안바뀌었으면 값만 바뀐거므로 추세선 연장; If turnPntArr[1][1] <> turnPntArr[1][0] Then{ // TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2], // sDate[barArr[1]],sTime[barArr[1]],valArr[1]); if turnPntArr[1][0] == "Hi" Then{//and valArr[1] > valArr[3] Then{ var1 = valArr[2]-abs(valArr[1]-valArr[3]); var2 = blue; } if turnPntArr[1][0] == "Lo" Then{//and valArr[1] < valArr[3] Then{ var1 = valArr[2]+abs(valArr[1]-valArr[3]);//;-PriceScale; var2 = red; } TL2 = TL_New(sDate[barArr[2]],sTime[barArr[2]],var1,sDate[barArr[1]],sTime[barArr[1]],var1); TL_SetColor(tl2,var2); } Else { TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); } } } TL_SetSize(TL1,1); TL_SetColor(TL1,GREEN);
프로필 이미지
파파리리
2021-01-26
1398
글번호 145825
검색
답변완료

문의 드립니다.

plot1(C-data2(C)); PlotBaseLine1(0); 분봉차트에서 베이시스 지표를 만들어 확인하는데 현물의 경우 동시호가 시간대에는 값이 존재하지 않아 선물가격이 그대로 베이시스에 반영되므로 그림상 왜곡이 심한데 동시호가 구간에서는 베이시스 값이 없는 것으로 나타내주십시오.
프로필 이미지
뉴하트
2021-01-26
1215
글번호 145824
지표
답변완료

수식 부탁드립니다

수고하십니다 아래와 같이 수식을 작성했는데 신호가 정확이 나오지 않고 10분 ~ 20분 빠르거나 늦거나 아니면 거르는 경우도 있어 잘못 작성 되었는지 확인 좀 부탁 드리겠습니다 항목 6개중 4개가 AND 되면 신호가 나오도록 하는 의도입니다 감사합니다 Input : period(2),p(0); Input : af11(0.015),AFMAX11(0.2),af21(0.015),AFMAX21(0.2),af31(0.015),AFMAX31(0.2); Input : af41(0.015),AFMAX41(0.2),af51(0.015),AFMAX51(0.2),af61(0.015),AFMAX61(0.2); Var :v11(0,data1),v21(0,data1),v31(0,data1),v41(0,data1),v51(0,data1),v61(0,data1); v21 = data2(csar(af21,AFMAX21)); v31 = data3(csar(af31,AFMAX31)); v41 = Data4(csar(af41,AFMAX41)); v51 = Data5(csar(af51,AFMAX51)); v61 = Data6(csar(af61,AFMAX61)); if ( Data1(C > v11) and Data2(C > v21) and Data3(C > v31) and Data4(C > v41) ) or ( Data1(C > v11) and Data2(C > v21) and Data3(C > v31) and Data5(C > v51) ) or ( Data1(C > v11) and Data2(C > v21) and Data3(C > v31) and Data6(C > v61) ) or ( Data1(C > v11) and Data3(C > v31) and Data4(C > v41) and Data5(C > v51) ) or ( Data1(C > v11) and Data3(C > v31) and Data4(C > v41) and Data6(C > v61) ) or ( Data2(C > v21) and Data3(C > v31) and Data4(C > v41) and Data5(C > v51) ) or ( Data2(C > v21) and Data3(C > v31) and Data4(C > v41) and Data6(C > v61) ) or ( Data2(C > v21) and Data4(C > v41) and Data5(C > v51) and Data6(C > v61) ) or ( Data3(C > v31) and Data4(C > v41) and Data5(C > v51) and Data6(C > v61) ) Then buy("매수"); if ( Data1(C < v11) and Data2(C < v21) and Data3(C < v31) and Data4(C < v41) ) or ( Data1(C < v11) and Data2(C < v21) and Data3(C < v31) and Data5(C < v51) ) or ( Data1(C < v11) and Data2(C < v21) and Data3(C < v31) and Data6(C < v61) ) or ( Data1(C < v11) and Data3(C < v31) and Data4(C < v41) and Data5(C < v51) ) or ( Data1(C < v11) and Data3(C < v31) and Data4(C < v41) and Data6(C < v61) ) or ( Data2(C < v21) and Data3(C < v31) and Data4(C < v41) and Data5(C < v51) ) or ( Data2(C < v21) and Data3(C < v31) and Data4(C < v41) and Data6(C < v61) ) or ( Data2(C < v21) and Data4(C < v41) and Data5(C < v51) and Data6(C < v61) ) or ( Data3(C < v31) and Data4(C < v41) and Data5(C < v51) and Data6(C < v61) ) Then SELL("매도");
프로필 이미지
dkfvkrh7
2021-01-26
982
글번호 145823
시스템
답변완료

C 라는 데이터가 헷갈립니다. (종가)

제가 2010년1월1부터 현재까지 종가들을 취합해서 추세선을 그리려고 합니다. 그런데 C[1]이라는 값은 시뮬레이션 차트에 그려진 봉들중에 오른쪽에서 2번째로 있는 봉의 종가값으로 알고있는데요. 그래서 제가 진짜 C[1]의 값이 오른쪽 2번째 종가값이 맞는지 확인을 하려고 코드를 작성했습니다. var : abc(0),t(""),a(0); abc = C[1]; t = NumToStr(abc,0); a = Text_New(20210111,110000,80000, t); Text_SetSize(a,40); 위 코드에 대해 설명을 드리자면, 2021년 1월 11일 11시 80000원 좌표에 C[1]의 값을 출력하는 코드입니다. 보시다시피 어떤 숫자들이 겹쳐서 출력되는걸 보실 수 있습니다. 그렇다는 것은 C[1]이 앞서 가정했던 오른쪽 2번째 종가값이 아니고 어떤 값들의 집합인 것 같은데요. 이게 제 수준에선 이해가 안되서요. 제가 분명히 지금 어딘가에서부터 이해가 안되고 있는 것 같아요. 도와주시면 감사하겠습니다
프로필 이미지
ravit
2021-01-26
1092
글번호 145813
지표
답변완료

디버깅하면 모든시간에 대해서 변수가 출력되버립니다.

var : a("안녕"); Text_New(20210111,110000,80000,a); MessageLog("%s",a); 이런 코드가 있는데요. 제가 생각하기에 디버그를 하면 출력값이 안녕 이라고 1개만 나와야할텐데, 300개의 바에 대해서 각 시간마다 안녕이라고 출력되버립니다. 그렇다는 것은 질문: 제가 a라는 변수를 선언했지만 사실상 a는 동일한 값이 300개가 있는 배열으로 정의된건가요? 300개의 공간이 있는 배열인건가요??
프로필 이미지
ravit
2021-01-26
933
글번호 145808
지표
답변완료

파라볼릭 지표함수의 알고리즘

안녕하세요. 현재 예스랭귀지에서 시스템트레이딩을 개발하고 있는중입니다. 파라볼릭의 지표를 약간 수정해서 사용하고 싶은데 예스랭귀지에서는 파라볼릭 지표함수가 Sar(가속도, 가속도최대치) 만 제공되는거 같은데 이 Sar 값 자체를 구하는 알고리즘을 알고싶습니다. 감사합니다.
프로필 이미지
시트
2021-01-26
1083
글번호 145805
지표