市场 / MetaTrader 5 / 指标 / Prima MT5 演示已下载: 116 已发布: 29 五月 2017 当前版本: 1.10 找不到合适的EA交易?请在自由职业者服务中订购您自己的EA交易 进入自由职业者服务 如何 购买 自动交易或指标 在 虚拟 主机运行您的EA 购买之前测试一个指标/EA交易 想要在市场 赚钱 吗? 如何介绍 用于流通销售的产品 概述 评分 评论 (1) 只有购买或租用产品的用户才可以进行评论 Maxim Kuznetsov 2017.06.01 15:59 #1 Простой советник для тестов индикатора Prima и как основа для ваших советников#property copyright "Maxim Kuznetsov" #property link "https://www.luxtrade.tk" #property version "1.00" //--- input parameters input ENUM_TIMEFRAMES TF=PERIOD_CURRENT; input int PERIOD1=5; input int PERIOD2=34; input int DISTANCE1=10; input int DISTANCE2=50; input double LOTS=1.0; input int MAGIC=2234; #include <Trade/Trade.mqh> int PRIMA; CTrade *trade; int OnInit() { PRIMA=iCustom(_Symbol,TF,"Market\\prima.ex5", PERIOD1,PERIOD2, DISTANCE1,DISTANCE2, false,false,false, false,false,false); if (PRIMA==INVALID_HANDLE) { PRIMA=iCustom(_Symbol,TF,"nektomk\\prima.ex5", PERIOD1,PERIOD2, DISTANCE1,DISTANCE2, true,true,true, false,false,false); if (PRIMA==INVALID_HANDLE) return INIT_FAILED; } trade = new CTrade; return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { delete trade; } datetime now; datetime time0=0; void OnTick() { MqlRates rate[3]; now=TimeCurrent(); CopyRates(_Symbol,TF,0,3,rate); if (time0==0) { time0=rate[0].time; //continue; } else if (time0!=rate[0].time) { time0=rate[0].time; OnBar(TF); } } void OnBar(ENUM_TIMEFRAMES tf) { double sigBuy[1],sigSell[1]; CopyBuffer(PRIMA,6,0,1,sigBuy); CopyBuffer(PRIMA,7,0,1,sigSell); if (sigBuy[0]!=EMPTY_VALUE && sigBuy[0]!=0) OnSignal(POSITION_TYPE_BUY,sigBuy[0]); if (sigSell[0]!=EMPTY_VALUE && sigSell[0]!=0) OnSignal(POSITION_TYPE_SELL,sigSell[0]); } void OnSignal(ENUM_POSITION_TYPE type,double price) { if (type==POSITION_TYPE_BUY) { ClosePosition(POSITION_TYPE_SELL); trade.Buy(LOTS,_Symbol,0,0,0,""); } else if (type==POSITION_TYPE_SELL) { ClosePosition(POSITION_TYPE_BUY); trade.Sell(LOTS,_Symbol,0,0,0,""); } } void ClosePosition(ENUM_POSITION_TYPE type) { CPositionInfo pos; pos.SelectByMagic(_Symbol,MAGIC); if (pos.Type()==type && pos.Volume()>0) trade.PositionClose(_Symbol); } 附加的文件: PrimaEA.mq5 3 kb PrimaEA.ex5 58 kb 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Maxim Kuznetsov 2017.06.01 15:59 #1 Простой советник для тестов индикатора Prima и как основа для ваших советников#property copyright "Maxim Kuznetsov" #property link "https://www.luxtrade.tk" #property version "1.00" //--- input parameters input ENUM_TIMEFRAMES TF=PERIOD_CURRENT; input int PERIOD1=5; input int PERIOD2=34; input int DISTANCE1=10; input int DISTANCE2=50; input double LOTS=1.0; input int MAGIC=2234; #include <Trade/Trade.mqh> int PRIMA; CTrade *trade; int OnInit() { PRIMA=iCustom(_Symbol,TF,"Market\\prima.ex5", PERIOD1,PERIOD2, DISTANCE1,DISTANCE2, false,false,false, false,false,false); if (PRIMA==INVALID_HANDLE) { PRIMA=iCustom(_Symbol,TF,"nektomk\\prima.ex5", PERIOD1,PERIOD2, DISTANCE1,DISTANCE2, true,true,true, false,false,false); if (PRIMA==INVALID_HANDLE) return INIT_FAILED; } trade = new CTrade; return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { delete trade; } datetime now; datetime time0=0; void OnTick() { MqlRates rate[3]; now=TimeCurrent(); CopyRates(_Symbol,TF,0,3,rate); if (time0==0) { time0=rate[0].time; //continue; } else if (time0!=rate[0].time) { time0=rate[0].time; OnBar(TF); } } void OnBar(ENUM_TIMEFRAMES tf) { double sigBuy[1],sigSell[1]; CopyBuffer(PRIMA,6,0,1,sigBuy); CopyBuffer(PRIMA,7,0,1,sigSell); if (sigBuy[0]!=EMPTY_VALUE && sigBuy[0]!=0) OnSignal(POSITION_TYPE_BUY,sigBuy[0]); if (sigSell[0]!=EMPTY_VALUE && sigSell[0]!=0) OnSignal(POSITION_TYPE_SELL,sigSell[0]); } void OnSignal(ENUM_POSITION_TYPE type,double price) { if (type==POSITION_TYPE_BUY) { ClosePosition(POSITION_TYPE_SELL); trade.Buy(LOTS,_Symbol,0,0,0,""); } else if (type==POSITION_TYPE_SELL) { ClosePosition(POSITION_TYPE_BUY); trade.Sell(LOTS,_Symbol,0,0,0,""); } } void ClosePosition(ENUM_POSITION_TYPE type) { CPositionInfo pos; pos.SelectByMagic(_Symbol,MAGIC); if (pos.Type()==type && pos.Volume()>0) trade.PositionClose(_Symbol); } 附加的文件: PrimaEA.mq5 3 kb PrimaEA.ex5 58 kb
Простой советник для тестов индикатора Prima и как основа для ваших советников