mq4编程语言举例.docx
- 文档编号:14179222
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:97
- 大小:36.54KB
mq4编程语言举例.docx
《mq4编程语言举例.docx》由会员分享,可在线阅读,更多相关《mq4编程语言举例.docx(97页珍藏版)》请在冰点文库上搜索。
mq4编程语言举例
mq4编程语言举例
AccountInformation
AccountBalance()AccountCredit()AccountCurrency()AccountEquity()AccountFreeMargin()AccountLeverage()AccountMargin()AccountName()AccountNumber()AccountProfit()doubleAccountBalance()
Returnscurrentlyselectedaccount'sbalancevalue.
Sample
doublebalance;
balance=AccountBalance();
doubleAccountCredit()
Returnscurrentlyselectedaccount'screditvalue.
Sample
doublecredit;
credit=AccountCredit();
Print("accountnumber",credit);
stringAccountCurrency()
Returnscurrentlyselectedaccount'scurrencyname.
Sample
Print("accountcurrencyis",AccountCurrency());
doubleAccountEquity()
Returnscurrentlyselectedaccount'sequityvalue.
Sample
doubleequity;
equity=AccountEquity();
1
doubleAccountFreeMargin()
Returnscurrentlyselectedaccount'sfreemarginvalue.
Sample
doublemargin;
margin=AccountFreeMargin();
intAccountLeverage()
Returnscurrentlyselectedaccount'sleverage.
Sample
Print("Account",AccountNumber(),"leverageis",AccountLeverage());doubleAccountMargin()
Returnscurrentlyselectedaccount'smarginvalue.
Sample
doublemargin;
margin=AccountMargin();
Print("accountmargin",margin);
stringAccountName()
Returnscurrentlyselectedaccount'sname.
Sample
Print("accountname",AccountName());
intAccountNumber()
Returnscurrentlyselectedaccount'snumber.
Sample
Print("accountnumber",AccountNumber());
doubleAccountProfit()
Returnscurrentlyselectedaccount'sprofitvalue.
Sample
doubleprofit;
2
profit=AccountProfit();
Arrayfunctions
ArrayBsearch()
ArrayCopy()
ArrayCopyRates()
ArrayCopySeries()
ArrayDimension()
ArrayGetAsSeries()
ArrayIsSeries()
ArrayMaximum()
ArrayMinimum()
ArrayRange()
ArrayResize()
ArraySetAsSeries()
ArraySize()
ArraySort()
int
ArrayBsearch(doublearray[],doublevalue,intcount=WHOLE_ARRAY,intstart=
0,intdirection=MODE_ASCEND)
Returnsaindextothefirstoccurrenceofvalueinthefirstdimensionofspecifiedarrayiffoundor
nearestifitisn't.
Thefunctioncan'tbeusedwithstringarraysandserialnumericarrays.
Note:
Binarysearchprocessessortedarraysonly.TosortnumericarraysuseArraySort()functions.
Parameters
array[]-Thenumericarraytosearch.
value-Thevaluetosearchfor.
count-Elementscounttosearch.Bydefaultsearchinthewholearray.start-Startingindextosearch.Bydefaultsearchstartsfromfirstelement.
direction-Searchdirection.Itcanbeanyoneofthefollowingvalues:
MODE_ASCENDsearhinginforwarddirection,
MODE_DESCENDsearchinginbackwarddirection.
Sample
doubleopens_array[20];
intidx;
for(inti=0;i<20;i++)
opens_array[i]=Open[i];
ArraySort(opens_array,MODE_ASCEND);
3
idx=ArrayBsearch(opens_array,2.126);
if(idx!
=-1&&opens_array[idx]==2.126)
Print("openprice2.126foundinthe20lastbars,idx=",idx);
int
ArrayCopy(object&dest[],objectsource[],intstart_dest=0,intstart_sourc
e=0,intcount=WHOLE_ARRAY)
Copiesonearraytoanotherarray.Arraysmustbesametype,butdouble[],int[],datetime[],color[]
andbool[]arrayscanbecopiedasonetype.
Returnsactualcopiedelementscount.
Parameters
dest[]-Destinationarray.
source[]-Sourcearray.
start_dest-Startingindexforthedestinationarray.Bydefaultstartindexis0.start_source-Startingindexforthesourcearray.Bydefaultstartindexis0.count-Elementscounttocopy.BydefaultisWHOLE_ARRAYconstant.
Sample
doublearray1[10][6];
intarray2[10][6];
ArrayCopy(array2,array1);
//nowarray1andarray2isequal
int
ArrayCopy(object&dest[],objectsource[],intstart_dest=0,intstart_sourc
e=0,intcount=WHOLE_ARRAY)
Copiesonearraytoanotherarray.Arraysmustbesametype,butdouble[],int[],datetime[],color[]
andbool[]arrayscanbecopiedasonetype.
Returnsactualcopiedelementscount.
Parameters
dest[]-Destinationarray.
source[]-Sourcearray.
start_dest-Startingindexforthedestinationarray.Bydefaultstartindexis0.start_source-Startingindexforthesourcearray.Bydefaultstartindexis0.count-Elementscounttocopy.BydefaultisWHOLE_ARRAYconstant.
Sample
4
doublearray1[10][6];
intarray2[10][6];
ArrayCopy(array2,array1);
//nowarray1andarray2isequal
int
ArrayCopySeries(double&array[],intseries_index,stringsymbol=NULL,intp
eriod=0)
Copiessomeseriesarraytoanotherarrayandreturnscopieditemcount.
Note:
Whenseries_identifierisMODE_TIMEfirstparametermustbeadatetimearray.
Parameters
array[]-Referencetothedestinationone-dimensionalnumericarray.series_index-Seriesarrayidentifier.ItcanbeanyoneofSeriesarrayidentifiersenumerationvalues.
symbol-Symbolname,bydefaultusedcurrentchartsymbolname.period-Timeframe,bydefaultusedcurrentchartperiod.ItcanbeanyoneofTimeframe
enumerationvalues.
Sample
doublearray1[10];
ArrayCopySeries(array1,MODE_OPEN);
intArrayDimension(objectarray[])
Returnsarraydimensionscount.
Parameters
array[]-arraytoretrievedimensionscount.
Sample
intnum_array[10][5];
intdim_size;
dim_size=ArrayDimension(num_array);
//dim_sizeis2
boolArrayGetAsSeries(objectarray[])
Returnstrueifarrayisorganizedasseriesarray(arrayelementsindexedfromlasttofirst)
otherwisereturnfalse.
5
Parameters
array[]-Arraytocheck.
Sample
if(ArrayGetAsSeries(array1)==true)
Print("array1isseriesarray");
else
Print("array1isnotseriesarray");
boolArrayIsSeries(objectarray[])
Returnstrueifcheckedarrayisseriesarray(time,open,close,high,loworvolume)
Parameters
array[]-arraytocheck
Sample
if(ArrayIsSeries(array1))
{
//todosomecalculations.
}
intArrayMaximum(doublearray[],intcount=WHOLE_ARRAY,intstart=0)
Searcheselementwithmaximumvalueandreturnsit'sposition.
Parameters
array[]-Thenumericarraytosearch.count-Scanforcountelementsinarray.start-Startsearchingfromstartindex.
Sample
doublenum_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
intmaxValueIdx=ArrayMaximum(num_array);
Print("Maxvalue=",num_array[maxValueIdx]);
intArrayMinimum(doublearray[],intcount=WHOLE_ARRAY,intstart=0)
Searcheselementwithminimumvalueandreturnsit'sposition.
6
Parameters
array[]-Thenumericarraytosearch.count-Scanforcountelementsinarray.start-Startsearchingfromstartindex.
Sample
doublenum_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
doubleminValueidx=ArrayMinimum(num_array);
Print("Minvalue=",num_array[minValueIdx]);
intArrayRange(objectarray[],intrange_index)
Returnselementscountinthepointeddimensionofthearray.Sinceindexesarezero-based,the
sizeofdimensionis1greaterthanthelargestindex.
Parameters
array[]-Arraytocheck
range_index-Dimensionindex.
Sample
intdim_size;
doublenum_array[10,10,10];
dim_size=ArrayRange(num_array,1);
intArrayResize(object&array[],intnew_size)
Setsnewsizetothefirstdimension.Ifsuccessreturnscountofallelementscontainedinthearray
afterresizing,otherwisereturnszero,butarrayhasoldsize.
Parameters
array[]-Arraytoresize.
new_size-Newsizeforthefirstdimension.
Sample
doublearray1[10][4];
intelement_count=ArrayResize(array,20);
//elementcountis80elements
boolArraySetAsSeries(double&array[],boolset)
7
Setsindexingorderofthearraylikeaseriesarrays,i.e.lastelementhaszeroindex.Returns
previousstate.
Parameters
array[]-Thenumericarraytoset.set-TheSeriesflagtoset(true)ordrop(false).
Sample
ArraySetAsSeries(array1,false);
intArraySize(objectarray[])
Returnsthecountofelementscontainedinthearray.
Parameters
array[]-arrayofanytype.
Sample
intcount=ArraySize(array1);
for(inti=0;i { //dosomecalculations. } int ArraySort(double&array[],intcount=WHOLE_ARRAY,intstart=0,intsort_dir= MODE_ASCEND) Sortsnumericarraysbyfirstdimension.Seriesarrayscan'tbesortedbyArraySort(). Parameters array[]-Thenumericarraytosort.count-Countofelementstosort.start-Startingindex. sort_dir-Arraysortingdirection.Itcanbeanyoneofthefollowingvalues: MODE_ASCEND-sortascending, MODE_DESCEND-sortdescending. Sample 8 doublenum_array[5]={4,1,6,3,9}; //nowarraycontainsvalues4,1,6,3,9 ArraySort(num_array); //nowarrayissorted1,3,4,6,9 ArraySort(num_array,MODE_DESCEND); //nowarrayissorted9,6,4,3,1 Commonfunctions Alert() Comment() GetLastError()GetTickCount()IsDemo() IsTesting() IsTradeAllowed()MarketInfo() Period() PlaySound() Print() RefreshRates()SendMail() ServerAddress()Sleep() SpeechText()Symbol() voidAlert(...) Displaysadialogboxcontainingauser-defineddata Parameters ...-anyvalues,separatedbycommas Sample Alert("FreeMargingrowsto",FreeMargin(),"! "); voidComment(...) Printssomemessagetothelefttopcornerofthechart Parameters ...-anyvalues,separatedbycommas 9 Sample Comment("FreeMarginis",FreeMargin());intGetLastError() Returnslastoccurederrorafteranoperationandsetsinternallasterrorvaluetozero. Sample FileWrite(handle,"Barstotal=",Bars); if(GetLastError()! =0)Alert("Someerrormessage");intGetTickCount() TheGetTickCountfunctionretrievesthenumberofmillisecondsthathaveelapsedsincethesystemwasstarted.Itislimitedtotheresolutionofthesystemtimer. Sample intstart=GetTickCount(); //dosomehardcalculation... Print("Calculationtimeis",GetTickCount()-start,"milliseconds."); bo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mq4 编程 语言 举例