14 十月 2016
14 十月 2016
在交易对话框添加买入,卖出和关闭按键的工具提示。工具提示包括操作期间买入或卖出安全性的信息,以帮助新手了解交易的过程。
标准程序库中加入了MQL5版的ALGLIB数值分析库 。
程序库特点
如何使用
ALGLIB 文件位于\MQL5\Include\Math\Alglib。若要使用这些函数,请将主程序文件添加到您的程序:
#include <Math\Alglib\alglib.mqh>
标准程序库包含了数理统计函数。MQL5 现在提供R语言的功能,这是最好的统计数据处理和分析工具之一。
程序库特点
统计程序库包含计算数据统计特征的函数以及统计分布操作的函数:
如何使用
统计程序库文件位于 \MQL5\Include\Math\Stat。若要使用该程序库,请将所需函数的文件添加到您的程序,例如:
#include <Math\Stat\Binomal.mqh> #include <Math\Stat\Cauchy.mqh>
程序库函数的详细描述可在文章MQL5统计分布 - 使用最好的R中得到。
标准程序库中加入了MQL5版的Fuzzy程序库。Fuzzy程序库实现了Mamdani和Sugeno模糊推理系统。
程序库特点
如何使用
Fuzzy程序库文件位于\MQL5\Include\Math\Fuzzy。若要使用该程序库,请将所需函数的文件添加到您的程序,例如:
#include <Math\Fuzzy\mamdanifuzzysystem.mqh> #include <Math\Fuzzy\sugenofuzzysystem.mqh>
程序库的详细描述可在代码库:Fuzzy - 开发模糊模型的程序库中得到
long FileLoad( const string filename, // [in] 文件名 void &buffer[], // [out] 阅读文件的数组 uint common_flag=0 // [in] 0 - 搜索程序端Files文件夹中的文件,FILE_COMMON - 在程序端普通目录中搜索 ); bool FileSave( const string filename, // [in] 文件名 const void &buffer[], // [in] 保存文件的数组 uint common_flag=0 // [in] 0 - 创建程序端Files文件夹中的文件,FILE_COMMON - 在程序端普通目录中创建 );如何将报价写入文件然后阅读的示例:
//--- 输入参数 input int ticks_to_save=1000; // 报价数 //+------------------------------------------------------------------+ //| 脚本程序起始函数 | //+------------------------------------------------------------------+ void OnStart() { string filename=_Symbol+"_ticks.bin"; MqlTick ticks[]; //--- int copied=CopyTicks(_Symbol,ticks,COPY_TICKS_ALL,0,ticks_to_save); if(copied!=-1) { PrintFormat(" CopyTicks(%s) copied %d ticks",_Symbol,copied); //--- 如果报价历史被同步,错误代码等于零 if(!GetLastError()==0) PrintFormat("%s: Ticks are not synchronized. Error=",_Symbol,copied,_LastError); //--- 写入报价到文件 if(!FileSave(filename,ticks,FILE_COMMON)) PrintFormat("FileSave() failed, error=%d",GetLastError()); } else PrintFormat("Failed CopyTicks(%s), Error=",_Symbol,GetLastError()); //--- 现在阅读返回到文件的报价 ArrayFree(ticks); long count=FileLoad(filename,ticks,FILE_COMMON); if(count!=-1) { Print("Time\tBid\tAsk\tLast\tVolume\tms\tflags"); for(int i=0;i<count;i++) { PrintFormat("%s.%03I64u:\t%G\t%G\t%G\t%I64u\t0x%04x", TimeToString(ticks[i].time,TIME_DATE|TIME_SECONDS),ticks[i].time_msc%1000, ticks[i].bid,ticks[i].ask,ticks[i].last,ticks[i].volume,ticks[i].flags); } } }
//--- 绘制相同颜色的蜡烛图 #property indicator_label1 "One color candles" #property indicator_type1 DRAW_CANDLES //--- 仅指定一种颜色,所以所有蜡烛图都是相同的颜色 #property indicator_color1 clrGreen如果指定两种颜色,一种颜色用于蜡烛图的边框,另一种用于主体。
//--- 蜡烛图的颜色不同于阴影颜色 #property indicator_label1 "Two color candles" #property indicator_type1 DRAW_CANDLES //--- 蜡烛图边框和阴影为绿色,主体为白色 #property indicator_color1 clrGreen,clrWhite如果指定三种颜色,一种颜色用于蜡烛图的边框,其他两种颜色用于牛市蜡烛图和熊市蜡烛图的主体。
//--- 蜡烛图的颜色不同于阴影颜色 #property indicator_label1 "One color candles" #property indicator_type1 DRAW_CANDLES //--- 蜡烛图边框和阴影为绿色,牛市蜡烛图主体为白色,熊市蜡烛图主体为红色 #property indicator_color1 clrGreen,clrWhite,clrRedDRAW_CANDLES 风格允许设置自定义颜色的蜡烛图。使用PlotIndexSetInteger函数运行指标期间还可以动态更改所有颜色(drawing_index_DRAW_CANDLES, PLOT_LINE_COLOR, modifier_number, color),在这里modifier_number 可能是以下的值:
//--- 设置边框和阴影的颜色 PlotIndexSetInteger(0,PLOT_LINE_COLOR,0,clrBlue); //--- 设置牛市蜡烛图主体颜色 PlotIndexSetInteger(0,PLOT_LINE_COLOR,1,clrGreen); //--- 设置熊市蜡烛图主体颜色 PlotIndexSetInteger(0,PLOT_LINE_COLOR,2,clrRed);
更新文档。