본문 바로가기

트레이딩   ( 374 )


MetaTrader 5 설치하기. MetaTrader 5 다운로드 설치. - FXTM 사이트 접속하여 회원가입후 본인 전용 페이지(아래 그림) 의 붉은 박스 클릭하여 다운받고 설치한다. 외장하드에 메타드레이더 설치하는 방법. 메타 트레이더 . 외장하드 설치 . 사용자 데이터도 외장하드에서 집중관리. 개요 - 메타 트레이더 외장하드 설치. 문제점. 여러 PC 에서 메타 트레이더 작업시 작업 결과 파일 관리 어려움. 메타트레이더 매매전략 개발 작업을 1개의 컴퓨터에서만 하지 않고 , 노트북에서 igotit.tistory.com 연관 MT5 설치이후 계좌 연결하기. https://igotit.tistory.com/1803 메타트레이더 5. 계좌연결하기. 동영상. 본 글 포함된 상위 정리글. 메타트레이더 5 체계정리. 활용법/지식 : http:.. 2019. 5. 25.
MQL5. memcpy 사용하기 /// myglobal.mqh etc. #import "msvcrt.dll" int memcpy(char &Destination[], int Source, int Length); int memcpy(char &Destination[], long Source, int Length); int memcpy(int &dst, int src, int cnt); int memcpy(long &dst, long src, int cnt); #import 첫등록 : 2019년 5월 21일 최종수정 : 본 글 단축주소 : https://igotit.tistory.com/2187 2019. 5. 21.
메타트레이더 . 코딩 . 클래스 non-static 멤버함수를 콜백함수로 전달하기 개요 상황 : 2개의 클래스 A(예 CCyFinDevice), B(예 CCyFinOnNewBar) 가 있고, A에서 B 인스턴스 만들어 사용중이고, B에게 A측의 콜백함수를 전달해야함. 문제점 클래스의 멤버함수는 콜백으로 전달 불가하므로 A에서 콜백함수를 static 으로 선언하면 B 에게 전달은 가능하다. A 의 static 함수 내부에서는 A의 멤버에 접근 못하게 되고 결국에 C스타일 코드 구조가 나와 모듈화가 달성되지 않아 견고한 구조화를 심각하게 방해한다. 해결책 - 클래스 A의 non-static 멤버 함수를 콜백으로 사용가능하게 한다. MQL5 의 EA 에서 클래스 B 로 전달할 콜백함수를 만들고, ea 의 콜백함수 내에서 클래스 A의 멤버함수를 실행하게 하고, 클래스 B측으로 EA의 함수포인.. 2019. 5. 21.
메타트레이더 5. 전략 백테스팅. Strategy Tester. 개요 MT5 에서 EA 를 과거 데이터에 시험적용하여 매매 전략 평가 하는 수단 활용법. 본 글에서는 Strategy Tester 가장 기본적인 사용법이 정리된다. 예로 사용되는 전략은 MT5 설치시 기본 제공되는 EA 인 MACD Sample 을 예로 한다. MT5 메뉴의 View -> Strategy Tester 클릭하여 뜬 창에서 EA 백테스팅이 모두 진행된다. Strategy Tester 특징. - EA 와 Indicator 를 Strategy Tester 에서 시험가능하다. - 계산처리는 멀티스레드로 작동되며, 컴퓨팅 에이전트 (계산처리기) 기반 실행된다. - 컴퓨팅 에이전트는 병렬처리 가능하다. - 컴퓨팅 에이전트는 "원격 에이전트"에 무제한 연결가능하다. - 컴퓨팅 에이전트는 "MQL5 클라.. 2019. 5. 19.
MQL5. DLL. #import MQL5 에서 DLL 로딩하여 사용가능하며, #import 구문으로 감싸서 DLL 로딩하고 사용할 함수들의 선언들 나열하면, MQL5 코드내에서 해당함수 호출 할 수 있다. /// DLL 로딩예 #import "D:\\CyFin\\64bit\\CyFinDevice.dll" int OpenApi_CyFinDevice(); int CloseApi_CyFinDevice(); int Set_SymbolMaster_CyFinDevice(CyENUM_SYMBOL enum_symbol_master); int Set_SymbolHandling_CyFinDevice(CyENUM_SYMBOL &penum_symbol[], int num_symbol); int Set_TimeframeHandling_CyFinDevice(E.. 2019. 5. 19.
MQL5. Generic Data Collection. CHashMap. 딕셔너리 /////////////// example 1. dictionary CHashMap d; d.Add("one", 1); d.Add("two", 2); d.Add("three", 3); string keys[]; int values[]; d.CopyTo(keys, values); for (int i=0; i 2019. 5. 18.
MQL5. Arrays. 배열 MQL5 에서 정적 배열 - 일반 C와 동일. // MQL5 에서 정적 배열. 일반 C 문법과 동일. double myData[100]; MQL5 에서 동적배열. - 일반 C와 다르며, 사용 편리. // MQL5 Dnamic array double myData[]; // 배열 크기 기록없이 선언하면 동적배열이됨. ArrayResize(myData, 99); // 사용하기 전에 배열 크기 지정함수 호출해서 설정. ArrayResize(myData, 15); // 앞에서 설정된 99를 15로 줄인것. ArrayResize(myData, 0); // 앞에서 설정된 15를 0로 줄인것. ArrayFree(myData); // myData 해제하는것. ArrayResize(myData, 0); 과동일 효과. bo.. 2019. 5. 17.
MQL5. struct. 구조체, DLL 함수인자에 구조체 전달 방법 MQL5 구조체 타입선언. // MQL5 에서구조체 선언형식. struct ST_DATA { double V1; ... }; // 즉 아래와 같은 형식은 MQL5 에서는 지원안됨. typedef struct __st_data { double V1; ... }ST_DATA, *PST_DATA; MQL5 에서 DLL함수 인자로 구조체 전달. - 아래 구문에서 DLL 함수인자가 구조체 포인터인 경우 MQL5 에서 import 부분의 처리가 C와 스타일이 다름에 주의.암튼 작용은 C에서 포인터 전달하는것과 동일한 개념은 달성됨. void function(ST_DATA st_dapa); // DLL 함수 인자 구조체인 경우. // MQL5 에서 호출하려면, #import "mydll.dll" void functi.. 2019. 5. 16.
메타트레이더 . 코딩 . function pointer . 콜백 함수 메타트레이더의 함수 포인터, 콜백 - C 에서의 함수 포인터, 콜백 개념 / 문법 과 동일. typedef int (*TFunc)(int,int); TFunc func_ptr; int sub(int x,int y) { return(x-y); } int add(int x,int y) { return(x+y); } int neg(int x) { return(~x); } func_ptr=sub; Print(func_ptr(10,5)); func_ptr=add; Print(func_ptr(10,5)); func_ptr=neg; // error: neg is not of int (int,int) type Print(func_ptr(10)); // error: there should be two parameters.. 2019. 5. 13.
MQL5. EventChartCustom https://igotit.tistory.com/2156 Custom Event 발생예제코드. void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) { switch(id) { case CHARTEVENT_KEYDOWN: EventFire(); break; } } // eventing to all charts except this chart. void EventFire() { long currChart = ChartFirst(); int i=1;//1 for except current chart id =0 while(i= CHARTEVENT_CUSTOM && id 2019. 5. 11.
MQL5. Custom Indicator MQL5 에서 Custom Indicator 파일 생성하기. 기본 생성된 Indicator 파일의 골격 코드. #property indicator_chart_window int OnInit() { return(INIT_SUCCEEDED); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { return(rates.. 2019. 5. 10.
MQL5. 소켓통신 메타트레이더 5에서 원격소켓서버와 통신 가능하게 하기 위한 설정. Options 창에서 Allow WebRequest for listed URL 체크하고 통신대상 소켓서버의 아이피 주소 기록해둔다. MQ5 에서 소켓통신 코드예. 실행예. - MQL5 에서 파이썬으로 구현된 소켓서버로 틱데이터 중 Ask 가격을 실시간 전송하는 예. 연관 - 파이썬 측 소켓통신 소스 코드. Python. 소켓통신 Python 소켓서버 구현 코드예. 소켓통신 실행 시험. - 소켓클라이언트로 하이퍼터미널 이용. 상기 파이썬 소켓서버 와 통신하는 소켓클라이언트로 하이퍼 터미널을 이용해도 된다. 아래 동영상에서는 다른 PC에 하.. igotit.tistory.com 첫등록 : 2019년 5월 8일 최종수정 : 본 글 단축주소 : .. 2019. 5. 9.
MQL5. 수직선 그리기 아래 예와 같은 수직선 그리기. 코드. int OnInit() { Init_myLine3(); return(INIT_SUCCEEDED); } void OnTick() { MqlRates rates_myCandle[]; ArraySetAsSeries(rates_myCandle,true); // the index = 0 is current candle CopyRates(_Symbol, _Period,0,100,rates_myCandle ); // Copy price data into rates_myCandle[] ObjectMove(_Symbol, "Line3",0,rates_myCandle[99].time,0); // draw line } void Init_myLine3() { ObjectCreate( 0.. 2019. 4. 29.
MQL5. 캔들 변경 지점 검출 개요. - MQL5 의 OnTick 에서 호출하여 신규 캔들 시작되는 지점 검출 하기. 코드 int NumBars_Prev = 0 ; int OnInit() { Init_NewBar(); return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { } void OnTick() { if(Check_NewBar() == 1) { Print("New Bar"); } } /* caller : OnInit */ void Init_NewBar() { NumBars_Prev = Bars(_Symbol,_Period); } /* caller : OnTick */ int Check_NewBar() { int retv = 0; int numbar_crnt = Bars(_Sym.. 2019. 4. 29.
MQL5. 사각형 그리기 MQL5 에서 챠트에 사각형그리기 (아래 그림 같은것) 코드. void OnTick() { MqlRates rates_myCandle[]; ArraySetAsSeries(rates_myCandle,true); // the index = 0 is current candle CopyRates(_Symbol, _Period,0,100,rates_myCandle ); // Copy price data into rates_myCandle[] ReDraw_myRect1(rates_myCandle[99].time, rates_myCandle[99].high, rates_myCandle[0].time, rates_myCandle[0].low); } void ReDraw_myRect1(datetime x1_time,do.. 2019. 4. 29.
MQL5. 클래스 만들기 MQL5 에서는 C++과 동일 문법의 클래스 만들 수 있고, 활용가능하다. 통상 C++ 에서는 클래스 코드작성시 헤더파일에 선언 몰아두고 함수정의는 c 파일에서 작성하나, MQL5 에서는 확장자mqh (헤더파일에 해당) 파일 1개에서 선언과 정의를 모두 구현한다. MQL5 에서 클래스 생성하기. 클래스 이름 예 클래스이름 CCyNewBar 만드는 예. 본인이 만든 클래스 파일들 몰아둘 폴더를 하나 만들고 이 폴더속에 자신이 만든 클래스 몰아두는게 편하다. 본예에서는 아래처럼 CyClass 라는 폴더를 이용한다. 동영상. - MQL5 에서 클래스 만드는 방법과 EA코드내에서 활용하는 과정 전체. MQL5 제공 클래스 상세정보 : https://www.mql5.com/en/docs/basis/types/cl.. 2019. 4. 29.
ATR. Average True Range. 변동성 측정수단. ATR. Average True Range 개요. ATR 정의. True Range 의 N 이동평균. 설명 : N기간 동안의 가격 변동성 측정 수단 중 하나, 현재시점 가격변동폭 정의시 2개 봉(현재봉+직전봉)의 true range 의 N이동평균으로 정의. 통상 N = 14, 20 많이 사용함. ATR 의미 : 과거 N ~ 현재시점 까지의 봉단위로 측정된 가격폭의 평균 값. ATR 값이 크면 변동성 높음, 작으면 변동성 작음. ATR 활용예 1. 가격 변동성파악. 2. 손절 익절 기준으로도 활용됨. 예 : 손절폭 = ATR 값 x 3, 익절폭 : ATR 값 x 1.5. N 값과 적절한 곱하기 비율은 연구해볼것. True Range 정의. TrueRange = TrueHigh - TrueLow. where.. 2019. 4. 28.
MQL5. ATR ( Average True Range ) 개요. - MQL5 EA코드내에서 ATR 활용하기. - MQL5 내장함수인 iATR 호출 간단 구현가능. - iATR() 호출하면 챠트에 ATR 인디게이터가 표현된다. 코드. void OnTick() { double atr_crnt; atr_crnt = Get_ATR(_Symbol,_Period); } double Get_ATR(string symbol,ENUM_TIMEFRAMES timeframe) { double arrATR[]; int ATRretv = iATR(symbol,timeframe,14); ArraySetAsSeries(arrATR,true); // sort as index 0 is current CopyBuffer(ATRretv,0,0,3,arrATR); // double ATR_Crn.. 2019. 4. 28.


 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5