You are on page 1of 16

1. Bin l g? Bin l tn m ch cc phn ca b nh d liu c lu tr.

r. gip bn hiu iu ny mt cch trc quan, hy hnh dung b nh l mt chui c kch c khc nhau. Kch c l vng lu tr b nh yu cu tnh bng byte. s dng mt lu tr d liu, phi c t tn; qu trnh ny c gi l khai bo. Trong qu trnh khai bo, bn s dng mt t cho my tnh bit loi v kch c m bn mun s dng, t ny gi l t kha. S c ch nu bn cho mt ci tn c ngha lin h n loi thng tin gip tm d liu d dng hn, tn ny l hng bin. D liu c t vo bng cch gn d liu cho . Khi chng ta thit lp gi tr ca to ra trn cng dng khai bo bin th qu trnh ny c gi l khi to. Khi chng ta to mt bin, chng ta bo cho my tnh bit rng chng ta mun gn mt dung lng b nh ring bit (bng byte) cho bin, v lu tr mt con s, mt k t n l s khng chim cng khong trng trong b nh, do my tnh s hi kiu d liu l g v dung lng d liu bao nhiu. V d nu chng ta bo dng m ny cho my tnh: int MyVariable=0; Th c ngha l chng ta yu cu my tnh thit lp mt khi c dung lng 4 byte cho bin c tn MyVariable. 2. Khai bo bin Khai bo bin tc l gii thiu v ch r kiu d liu ca n. S dng cc t kha m bn hc bi kiu d liu [kiu d liu s nguyn (int), kiu d liu lun l (bool), kiu d liu k t (char), kiu d liu chui (string), kiu d liu du chm ng (double), kiu d liu mu sc (color), kiu d liu thi gian (datetime)] t tn cho bin. V d: int MyVariable; y bn khai bo mt bin c tn MyVariable l kiu s nguyn. V trc khi c khai bo ny bn khng th s dng MyVariable trong m ca mnh c. Nu bn s dng n m khng khai bo th trnh bin dch s bo li nh th ny: 'MyVariable' - variable not defined. 1 error(s), 0 warning(s). 3. Khi to bin Khi to bin ngha l gn cho n mt gi tr, v d MyVariable=0;

Bn c th khi to bin cng dng khai bo bin nh th ny: int MyVariable=0; V bn cng c th khai bo bin mt v tr v khi to n mt v tr khc nh th ny: int MyVariable; ... ... MyVariable=5; Nhng ch mt iu l khai bo bin phi c trc khi to bin. 2. Phm vi ca bin C hai phm vi ca bin: Cc b v ton cc. Bin cc b ngha l bin khng c thy i vi bn ngoi phm vi n c khai bo. V d cc bin c khai bo bn trong hm l cc b i vi khi m hm v cc bin c khai bo bn trong vng lp hoc quyt nh l cc b i vi cc khi m ny v khng th c s dng hoc nhn thy bn ngoi chng. V d: double my_func (double a, double b, double c) { int d; return (a*b+c); } Trong v d trn, cc bin a, b,c v d l bin cc b, ch c th c s dng bn trong khi m hm (bn trong cc du ngoc mc) v khng th c s dng bi m bn ngoi. V th chng ta khng th vit mt dng sau hm trn nh th ny: d=10; bi v d khng c nhn thy i vi dng k tip ca hm bi v n nm bn ngoi. Loi phm vi th hai l bin ton cc l cc bin c khai bo bn ngoi bt k khi m no v c th c nhn thy t bt k phn no ca m. V d: int Global_Variable; double my_func (double a, double b, double c)

{ return(a*b +c + Global_Variable); } y bin Global_Variable c khai bo bn ngoi hm v th c th c thy bi tt c cc hm trong chng trnh. Bin ton cc s tc ng ci t v 0 nu bn khng khi to chng. 3. Bin extern (bin bn ngoi) T kha extern c s dng khai bo mt loi bin c bit, c s dng nh ngha ngy thng nhp ca chng trnh, m bn c th thit lp chng t thuc tnh ca EA hoc ch bo ty chnh. V d: extern color Indicator_color = C '0x00,0x00,0xFF'; //blue int int() { }

y bin Indicator_color nh ngha mt bin extern m bn s thy ln u tin khi gn ch bo (hoc EA) vo biu Metatrader v bn c th thay i n t giao din iu chnh thuc tnh. Hy quan st hnh minh ha giao din thuc tnh ch bo ng trung bnh ng di y:

y cc bin Period, Shift, MA_method, Apply_to v Style l cc bi n c nh ngha s dng t kha extern v th chng xut hin trong giao din thuc tnh. Bt k bin no bn mun ngi dng chng trnh c th thay i v thit lp th hy s dng bin extern.

Bi 09: B tin x l 1. B tin x l l g? B tin x l l nhng ch th trnh bin dch thc hin trc khi bt u x l m cho chng trnh. Chng hn nu bn s dng ch th tin x l #include <win32.h> th c ngha l bn bo cho trnh bin dch km ni dung ca tp win32.h vo v tr bn vit t kha include trc khi x l m. Trong ngn ng MQL4 c 4 ch th tin x l. (1) Ch th define (nh ngha) c s dng to mt hng. Hng ny rt ging bin, ch mt im khc bit l bn t gi tr ca n ch mt ln v khng th thay i gi tr ca n trong m ging nh bin c. V d: #define my_constant 100 Nh bn c th thy v d trn, khng c k hiu gn (=) m ch c mt khong trng gia tn hng (my_constant) v gi tr ca n (100). V bn c th thy rng dng ny khng kt thc bng du chm phy ( ; ) m kt thc bng mt k t xung dng (dng mi). Tn ca hng tun th cng quy tc vi vic chn tn t nh danh ( Bi hc 02: C php), v d bn khng th bt u tn hng bng mt con s hoc tn vt qu 31 k t. Trnh bin dch s thay th mi tn hng trong ngun m ca bn bng mt gi tr tng ng. V th c th s dng hng trn nh th ny: sum = constant1 * 10; (2) Ch th property (thuc tnh) C cc hng s xc nh c gi l "bin dch iu khin" c km trong ngn ng MQL4, m bn c th ci t chng trong chng trnh. Chng l cc thuc tnh ca chng trnh m bn c th ci t chng bng cch s dng ch th trnh bin dch property (thuc tnh) v trnh bin dch s vit chng di dng cc ci t chng trnh thc thi (file c ui ex4). V d: #property link "http://www.sanvangonline.com.vn" #property copyright "Anyone wants to use" Di y l danh mc cc hng s xc nh trong ngn ng MQL4:

(3) Ch th include Khi bn yu cu trnh bin dch km mt tn file vi ch dn include th cng ging nh khi bn sao chp ton b ni dung file v dn n ti v tr dng bn vit khai bo km. V d: #include <win32.h> v d trn, bn bo cho trnh bin dch m tp win32.h v c tt c ni dung ca n v sao chp chng vo cng v tr ca khai bo km. Ch : v d trn bn km tn file vi cc du ngoc nhn (<>) v c ngha l bn bo cho trnh bin dch s dng th mc mc nh (thng l th mc \experts\include) tm tp win32.h v khng tm th mc hin hnh. Nu tp bn mun km nm cng ng dn ca m th phi s dng cc du nhy thay cc du ngoc nhn nh th ny:

#include "mylib.h" Trong c hai trng hp, nu tp khng th c tm thy th bn s thy mt thng bo li. Bn c th s dng khai bo include bt k u nhng thng c s dng phn u ca ngun m. Ch : Nn vit m c s dng thng xuyn trong mt tp ring bit v s dng ch dn include t n trong m khi bn cn (y ch l khuyn ngh v thi quen lp trnh). (4) Ch th import (nhp) Ch th import ging ch th include v phng din s dng tp bn ngoi chng trnh nhng c nhng im khc gia chng. Bn s dng ch th import trong cc tp thc thi (c ui .ex4) hoc tp th vin (c ui .dll) nhp cc hm ca chng vo chng trnh. V d: #import "user32.dll" int MessageBoxA(int hWnd,string lpText, string lpCaption,int uType); int MessageBoxExA(int hWnd,string lpText,string lpCaption, int uType,int wLanguageId); #import "melib.ex4" #import "gdi32.dll" int GetDC(int hWnd); int ReleaseDC(int hWnd,int hDC); #import

Khi bn nhp cc hm t tp ex4 bn khng khai bo cc hm sn dng. Trong khi nhp cc hm t tp .dll yu cu bn khai bo cc hm bn mun s dng nh th ny: Int MessageBoxA(int hWnd,string lpText,string lpCaption,int uType); V ch cc hm bn khai bo mi c th s dng c trong m chng trnh. Ch : Bn phi kt thc cc ch th import bng mt dng nhp trng l #import (khng c tham s). bi hc k tip chng ta s bt u vit ch bo ty chnh u tin, do vy cn n tp li 9 bi hc trc. Bt k phng php no k trn m bn chn u m cng c MetaEditor nh c th thy hnh bn di, gm 3 ca s nh sau:

(1) Ca s cng c bin tp vit chng trnh (2) Ca s hp cng c cha 3 tab: a. Tab li (errors), ni y bn c th thy cc li (nu c) trong m bn vit b. Tm trong tab tp, bn c th thy cc tp cha t kha bn tm s dng lnh Find in files hoc bng cch nhp t hp phm Ctrl + SHIFT + F. c. Tab tr gip (help), ni bn c th lm ni bt t kha bn mun bit v nhn F1, khi s thy cc ch tr gip trong tab ny. (3) Ca s iu hng (Navigator) cha 3 tab: a. Tab tp (Files), d truy cp cc tp c lu trong th mc MT4. b. Tab t in (Dictionary) gip truy cp h thng tr gip MQL4. c. Tab tm kim (Search) gip tm t in MQL4.

Ch bo ty chnh l chng trnh gip s dng cc chc nng ca ch bo k thut v khng th thc hin cc giao dch t n g. to mt ch bo ty chnh bn phi bt u bng 3 bc (sau ny chng ta s tm hiu cch lt b 3 bc c bn ny). Bc 1: Trn thanh thc n ca MetaEditor hy chn File >> New (c th s dng t hp phm Ctrl + N hoc nhp vo biu tng New trn thanh cng c tiu chun). Sau mt giao din xut hin dn n bc k tip. Ti y chn Custom Indicator ri nhp Next.

Bc 2: Sau khi nhp Next, mt giao din mi xut hin gip chnh sa thuc tnh (properties) chng trnh. Ti bc ny c th nhp cc thuc tnh sau y: 1. Tn (Name) chng trnh, y l tn gi ch bo bn vit v s c lu di dng ten_chi_bao.mq4 2. Tn tc gi (Author), l tn ngi to ra chng trnh 3. ng dn (Link) n website ca bn

4. Danh sch cc bin bn ngoi (External). v d ch bo u tin ny, chng ta khng cn bt k bin bn ngoi no m ch cn vit cc gi tr nh hnh bn di v bc sang bc th 3 bng cch nhp Next.

Bc 3: Giao din th 3 s xut hin khi bn nhp Next l giao din thuc tnh cng c v (Drawing). Chc nng ca n l gip bn thit lp cc thuc tnh v cc ng ca ch bo, v d: c bao nhiu ng, mu sc v v tr v ch bo ( biu chnh hay ca s ring bit). Giao din ny cha cc ty chn sau: 1. Indicator in separate window (la chn ch bo ca s ring bit): khi nhp vo la chn ny, ch bo ca bn s c v ca s ring bit v khng nm trn ca s biu chnh. Nu bn khng chn la chn ny th ch bo ca bn s c v ca s biu chnh. 2. Minimum: la chn ny ch c sn khi bn chn Indicator in separate window, v chc nng ca n l thit lp bin y cho biu .

3. Maximum: la chn ny ch c sn khi bn chn Indicator in separate window v chc nng ca n l thit lp bin nh cho biu . 4. Indexes: danh mc thm ng ch bo v thit lp mu sc mc nh cho n. Chng ta s tm hiu nhng la chn ny cc bi hc k tip, ring i vi ch bo u tin ny, chn Indicator in separate window v nhn Add, sau giao din s thm mt ng vo danh mc Indexes nh hnh minh ha:

Khi bn nhp Finish s thy giao dch bin mt v s tr li mi trng MetaEditor vi m ca ch bo m cng c vit.

bi hc k tip chng ta s khm ph tng dng m trn v thm m vo to ch bo u tin.


Ln sa cui bi ewa, ngy 26-03-2013 lc 09:45 PM.

Bi 11: Vit ch bo k thut u tin (Phn 2) bi ny chng ta s bt tm hiu cc dng m ch bo k thut c bn u tin:

Nhng dng m trn c chc nng ra sao? Trc tin l phn ny:

Ch thch: 5 dng m u tin (mu xm) l ch thch. S dng ch thch vit cc dng trong m m trnh bin dch s b qua. Ch thch m v nhiu l do: - gii thch m r rng hn - ghi ch mt s thng tin nh bn quyn v ngy to m - lm m d hiu hn - gii thch m hot ng c ra sao C th vit ch thch theo hai cch: (1) Ch thch dng n: ch thch dng n bt u bng // v kt thc bng dng mi (2) Ch thch nhiu dng: ch thch nhiu dng bt u bng /* v kt thc bng */ v c th ch thch nhiu hn mt dng. Trong chng trnh, giao din MQL4 tp hp d liu gm tn chng trnh, tc gi v lin kt trang web ri vit chng di dng ch thch u chng trnh.

Ch th thuc tnh: Tt c nhng dng bt u bng t #property l cc ch th thuc tnh (cc b tin x l). Cc b tin x l ny l nhng ch th hng dn trnh bin dch trc khi bt u x l m. Ch th thuc tnh l nhng hng s xc nh c gi l "bin dch iu khin" c xy dng trong ngn ng MQL4, m nhim v ca chng l thit lp cc thuc tnh ca chng trnh. V d: Ch bo ca bn s xut hin ca s biu chnh hay ca s ring bit? Ai l ngi vit chng trnh? Ch : Cc dng ca b tin x l kt thc bng mt k t xung dng (dng mi) ch khng phi bng du chm phy.

Sau y chng ta s bn v cc ch th thuc tnh sn c trong ngn ng MQL4. ng dn: Thuc tnh ny thit lp ng dn n trang web m bn yu cu nhp vo bc 2 trong Giao din EA (xem li bi trc). Kiu d liu ca thuc tnh ny l kiu chui. bn quyn: l tn ca tc gi vit chng trnh, ging nh thuc tnh ng dn m bn yu cu nhp vo bc 2 trong Giao din EA. Kiu d liu ca thuc tnh ny l kiu chui. gii hn lung: y l gi tr nguyn thit lp dung lng b nh cho mi lung d liu, gi tr mc nh l 16384. Kiu d liu ca thuc tnh ny l kiu nguyn. indicator_chart_window: Khi thit lp thuc tnh ny, ch bo ca bn s c v ca s biu chnh. Bn phi chn mt trong hai la chn cho ch bo ca bn, v chng ca s biu chnh bng cch s dng thuc tnh ny, hoc v chng ca s tch bit bng cch chn indicator_separate_window. Bn khng th s dng c hai thuc tnh cng lc. Kiu d liu ca thuc tnh ny l kiu rng (void), ngha l n khng c gi tr. indicator_separate_window: Khi bn thit lp thuc tnh ny, ch bo ca bn s c v ca s tch bit. Bn c th thit lp phm vi ca ca s ch bo tch bit bng cch s dng hai thuc tnh indicator_minimum cho gi tr ti thiu v indicator_maximum cho gi tr ti a ca phm vi. V bn c th thit lp mc ca ch bo i vi nhng phm vi ny bng cch s dng thuc tnh indicator_levelN N l s ca ch bo. C hai thuc tnh indicator_chart_window v indicator_separate_window u l kiu d liu rng, ngha l khng c gi tr.

You might also like