코드.
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
'Trading > 메타트레이더 코딩' 카테고리의 다른 글
MQL5. CCI (Commodity Channel Index) (8) | 2021.03.01 |
---|---|
MQL5. CSymbolInfo. class for easy access to the symbol properties. (0) | 2020.11.21 |
MQL5. Symbol Specification (0) | 2020.11.21 |
MQL5. 포지션 생성, 청산 시점 검출 이벤트 드리븐 코드. (0) | 2020.11.09 |
MQL5. CArray. 동적 배열 (0) | 2020.11.09 |
MQL5. CHashMap iteration.반복 (0) | 2020.11.09 |
댓글을 달아 주세요
카피버퍼 인자에
2021.02.17 12:22 [ ADDR : EDIT/ DEL : REPLY ]0,0,3은 무슨 의미죠??
0인건 잘 이해 안되도 그냥 납득이 되는데요.
int count부분에 count로 3을 넣었다는 건 어떤 의ㅣ민가요??
본문 내용 중에 copybuffer 상세 설명 링크 추가했습니다. 0,0,3 에서 2번째 0은 indicator buffer(상세설명 링크의 그림 참조) 의 인덱스 0(시간적으로 최신값에 해당)부터 3개를 복사하라는 의미입니다.
2021.03.01 16:33 신고 [ ADDR : EDIT/ DEL ]arr_cci[]를 지역 변수로 선언하셨으니
2021.03.01 19:57 [ ADDR : EDIT/ DEL ][1] [2] 이런 표현 못 쓰는거 아닌가요??
바깥에다가 변수 선언해야 하는 것 아닌가요??
함수외부 다른 곳에서도 double arr_cci[] 변수 활용하려는 경우에는 전역변수 선언하는게 맞고요..
2021.03.01 20:22 신고 [ ADDR : EDIT/ DEL ]위 코드에서는 지역변수 선언된 함수내부에서 사용하는 경우의 활용예 입니다.
3이면
2021.02.17 12:24 [ ADDR : EDIT/ DEL : REPLY ]3개까지 저장하는건가요?
어차피 arr_cci[0]만 불러오는데 뭐하러 3까지 저장하시는 거예요??? 진짜 몰라서 질문드려요
넵 3이면 3개를 복사하는거 맞고요. [0] 만 받으면 현재 시점의 데이터이므로 봉이 완성되지 않은 데이터 이다 보니 코드에서 활용시 완성된 봉인 직전값 [1] 과 [2] 를 이용하려고 3개 받았습니다. cci 의 증가 감소 등을 계산하기 위한 목적이기도 합니다. [1] - [2] 이런용도로 사용해요~
2021.03.01 16:37 신고 [ ADDR : EDIT/ DEL ]price_close가 아니라 PRICE_TYPICAL 해야하는 것 아닌가요?
2021.02.28 15:38 [ ADDR : EDIT/ DEL : REPLY ]cci정의상 그게 더 부합하지 않는지??
감사합니다. 넵 PRICE_TYPICAL 이 맞습니다. 본문 코드 수정했어요~
2021.03.01 16:12 신고 [ ADDR : EDIT/ DEL ]