본문 바로가기
트레이딩/메타트레이더 코딩

MQL5. CCI (Commodity Channel Index)

by 리치굿맨 2021. 3. 1.

코드.

void OnTick()
{
   double my_cci = Get_CCI(_Period,14); 
   Print(my_cci);
}



double Get_CCI(ENUM_TIMEFRAMES timeframe,int ma_period)
{
   double arr_cci[]; 
   
   int CCIretv = iCCI(_Symbol,timeframe, ma_period, PRICE_TYPICAL); 
   
   ArraySetAsSeries(arr_cci, true); 
   
   CopyBuffer(CCIretv,0,0,3,arr_cci); 
   
   return NormalizeDouble(arr_cci[0],2); 
      
}

동영상.

 

 

 

 

 

연관 

 

 

Indicator : CCI. Commodity Channel Index

개요. 정의. where, Pt = (High + Low + Close)/3. Typical Price 로 칭함. SMA(Pt) : Pt의 이동평균. : Pt 의 mean absolute deviation. 즉, Pt - SMA(Pt) 의 절대값의 이동평균. 0.015 로 나누기 하는 것 : CCI..

igotit.tistory.com

 

copybuffer 상세 

 

 

Documentation on MQL5: Timeseries and Indicators Access / CopyBuffer

//+------------------------------------------------------------------+ //|                                              TestCopyBuffer3.mq5 | //|                        Copyright 2009,

www.mql5.com

 

상위 

 

메타트레이더 5. 체계정리. 활용법/지식

MetaTrader 5 메타트레이더 5 , 메타에디터, MQL5 활용정보 체계정리. 본 글에서 주요 정리대상 정보 1. 메타트레이더 5 사용법. 2. MQL5 언어 기반 "직접 코딩"하여 메타프레이더5에서 자동매매 달성하기

igotit.tistory.com

 

 

 


첫등록 : 2019년 4월 28일 

최종수정 : 2021.03.01

 

본 글 단축주소 : https://igotit.tistory.com/2148

 


 

댓글14

  • 카피버퍼 2021.02.17 12:22

    카피버퍼 인자에

    0,0,3은 무슨 의미죠??
    0인건 잘 이해 안되도 그냥 납득이 되는데요.

    int count부분에 count로 3을 넣었다는 건 어떤 의ㅣ민가요??


    답글

    • Favicon of https://igotit.tistory.com BlogIcon 리치굿맨 2021.03.01 16:33 신고

      본문 내용 중에 copybuffer 상세 설명 링크 추가했습니다. 0,0,3 에서 2번째 0은 indicator buffer(상세설명 링크의 그림 참조) 의 인덱스 0(시간적으로 최신값에 해당)부터 3개를 복사하라는 의미입니다.

    • BlogIcon 근데요 2021.03.01 19:57

      arr_cci[]를 지역 변수로 선언하셨으니


      [1] [2] 이런 표현 못 쓰는거 아닌가요??

      바깥에다가 변수 선언해야 하는 것 아닌가요??

    • Favicon of https://igotit.tistory.com BlogIcon 리치굿맨 2021.03.01 20:22 신고

      함수외부 다른 곳에서도 double arr_cci[] 변수 활용하려는 경우에는 전역변수 선언하는게 맞고요..

      위 코드에서는 지역변수 선언된 함수내부에서 사용하는 경우의 활용예 입니다.

  • 카피버퍼 2021.02.17 12:24

    3이면

    3개까지 저장하는건가요?

    어차피 arr_cci[0]만 불러오는데 뭐하러 3까지 저장하시는 거예요??? 진짜 몰라서 질문드려요
    답글

    • Favicon of https://igotit.tistory.com BlogIcon 리치굿맨 2021.03.01 16:37 신고

      넵 3이면 3개를 복사하는거 맞고요. [0] 만 받으면 현재 시점의 데이터이므로 봉이 완성되지 않은 데이터 이다 보니 코드에서 활용시 완성된 봉인 직전값 [1] 과 [2] 를 이용하려고 3개 받았습니다. cci 의 증가 감소 등을 계산하기 위한 목적이기도 합니다. [1] - [2] 이런용도로 사용해요~

  • asf 2021.02.28 15:38

    price_close가 아니라 PRICE_TYPICAL 해야하는 것 아닌가요?

    cci정의상 그게 더 부합하지 않는지??
    답글

  • BlogIcon 로나메 2021.09.21 17:37

    레치굿맨님 안녕하세요.
    글 너무 잘 보고 있습니다. 자주묻고싶은데 오픈톡에서 여쭤도돼나요? 바로바로묻고싶어서요..!
    오해하실까봐.. 광고이런거 아니에요ㅠ
    https://open.kakao.com/o/gRqMEXAd
    답글

    • Favicon of https://igotit.tistory.com BlogIcon 리치굿맨 2021.09.27 02:43 신고

      안녕하세요.. 블로그 포스팅외에 다른 대외 활동은 전혀 하지 않는 (혹은 못하는...)행동 수칙을 갖고 있습니다. 양해 부탁드립니다. ㅠㅠ

    • BlogIcon 로나메 2021.09.27 09:49

      네 그럼 블로그로 소통해야겠네요^^
      제가 mt5 쓰고있는데 연필, 선 등 그리기모듈 만들수있을까요? ㅠㅠ 선은 메타 프로그램안에 있지만 한번그으면 다시 눌러서 해야하는 불편함도있어서 지그재그처럼 끊기지않고 연결해서 쓰고싶어서요. 물론 선 스타일도 바꿀수있게 하면 좋을것같습니다. 감사합니다!

    • Favicon of https://igotit.tistory.com BlogIcon 리치굿맨 2021.09.27 12:03 신고

      아래 2개의 코드 참고하면 될것 같습니다.

      수평선 그리기 : https://igotit.tistory.com/2141

      수직선 그리기: https://igotit.tistory.com/2152

      혹시, 사용자가 수동으로 선그리기등을 하는 경우라면 mql5 에서 마우스 이벤트 이용하여 코드내에서 마우스 좌표받아 상기 그리기의 위치를 결정하는 식으로 구현해야 합니다.

      마우스 이벤트 처리 코드예
      https://igotit.tistory.com/1818

    • 로나메 2021.09.27 15:48

      ‘사용자가 수동으로 선그리기등을 하는 경우라면 mql5 에서 마우스 이벤트 이용하여 코드내에서 마우스 좌표받아 상기 그리기의 위치를 결정하는 식으로 구현해야 합니다.’ <- 이거 맞아요! 그런데 정확히 어떻게 구현해야하는지 잘 모르겠어요 저 초보라ㅠㅠ 지표형식이아니라 ea형식으로 코드 짜야하는거죠? 주신 마우스이벤트 처리 링크 보는데 클릭시 소리나게만 하신것 같아서..

    • Favicon of https://igotit.tistory.com BlogIcon 리치굿맨 2021.09.27 16:03 신고

      네 ea 형식으로 개발해야합니다. 마우스 이벤트로 전달된 데이터 중에는 클릭한 지점의 좌표 가 있습니다. 예제 코드에서 소리나게 하고 이후 이어서 comment 로 표시되는 문자에 좌표가 표현되게 되어있듯이 마우스 커서의 좌표값을 코드에서 확보 가능하기 때문에 해당 좌표를 이용하여 그림 그릴 선의 시작점으로 활용해도 되고요.. 마우스 이벤트 중에 이동 이벤트, 드래그 이벤트도 수신가능하고 이동, 드래그 중의 좌표도 연속적으로 수신가능합니다. 이 좌표값을 점이나, 선등의 좌표지정용으로 활용합니다. 마우스 이벤트 상세 : https://igotit.tistory.com/1817 의 ChartEvent 부분


   
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     선물 인버스 |선물 USDT