biến là gì

Upload: mic

Post on 17-Oct-2015

46 views

Category:

Documents


0 download

DESCRIPTION

dsd

TRANSCRIPT

1. Bin l g?

Bin l tn m ch cc phn ca b nh d liu c lu tr. 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'; //blueint 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 bin 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 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

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 vitb. 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 ng.

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 chnFile>>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 chnCustom Indicatorri nhpNext.

Bc 2: Sau khi nhpNext, 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 dngten_chi_bao.mq42. Tn tc gi (Author), l tn ngi to ra chng trnh3. ng dn (Link) n website ca bn4. 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 nhpNext.

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 nhpFinishs thy giao dch bin mt v s tr li mi trngMetaEditorvi 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 lc09: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.