© 本贴为 万元 首发,严禁抄袭!
基本的MQL5基本函数的总结。z
#property copyright "wang"
#property link "https://www.mql5.com"
#property version "1.00"
//初始化 方法调用
int OnInit()
{
//多少秒调用一次OnTimer()函数
Alert("OnInit 执行");
//此函数只要开始执行就不会停止,会每3秒执行一次OnTimer()函数 -----> 注册计时器
EventSetTimer(3);
return(INIT_SUCCEEDED);
}
//deal死亡函数 ,在程序结束运行时调用的函数
void OnDeinit(const int reason)
{
//------> 注销计时器
EventKillTimer();
}
// 在市场每获取一次报价会执行一次此函数
void OnTick()
{
//---
//Alert("Tick 执行");
Comment("0号收盘价 "+(string)iClose(Symbol(),PERIOD_CURRENT,0)+"\n ",
"0号开盘价"+(string)iOpen(Symbol(),PERIOD_CURRENT,0)+"\n");
/*
//阻塞函数,会阻塞挂起,返回值看文档标识,文档标识按F1
MessageBox("退出","要退出EA程序吗?",MB_CANCELTRYCONTINUE);
int v = MessageBox("是否退出EA","退出EA!!!",MB_YESNO);
if(v==6)
{
Alert("退出了");
//专家移除
ExpertRemove();
}
*/
/*
datetime time; // 价格更新的最近时间
double bid; // 当前卖价
double ask; // 当前买价
double last; // 最后交易的价格(Last)
ulong volume; // 当前最后价格的交易量
long time_msc; // 价格最后一次更新的时间,以毫秒计算
uint flags; // 报价标识
double volume_real; // 精确度更高的当前最后价格的交易量
*/
//获取以上基本信息 ↑
MqlTick last_tick;
// 其实就算mysql访问数据库中select语句将数据全部楼出来并且填充给对象
if(SymbolInfoTick(Symbol(),last_tick))
{
Print(last_tick.time,": 卖价 = ",last_tick.bid,
" 买价 = ",last_tick.ask," 当前最后价格的交易量 = ",last_tick.volume_real);
}
else
{
// 获取错误信息
Print("SymbolInfoTick() failed, error = ",GetLastError());
}
// 调用1970.01.1 起始 至今 的毫秒值。
int period = PeriodSeconds(PERIOD_CURRENT);
PlaySound("timeout.wav");
Print(period);
Print(100-150==-50);
}
//定时器执行函数
void OnTimer()
{
//---
// Alert("OnTimer 执行");
}
//+------------------------------------------------------------------+
//| 这个函数未涉及到
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
}
==================================================================
总结:MT5每次报价会循环调用 OnTick 函数,OnTick 处理我们的交易逻辑。
处理交易逻辑的大致流程为:
1. 获取当前MT5面板上的数据,例如 币种 做空 做多 等等基本信息。
2. 根据信息进行加工,拆分,筛选,运算,等等一系列操作。
3. 在依据已知信息,来进行 做多 做空 以及剥头皮 平仓,等基本的交易操作。
猜测:
更高级的开发 :多币种之间的数据处理,多指标数据之间的分析操作。经过写脚本语言P行情信息,再根据大数据分析行情信息,在结合指标信息等等,综合分析出ea下单以及平仓时机。
|