专家: MQL5向导 - 基于价格交叉移动平均线指标的交易信号 - 页 2 12 新评论 busybear 2022.03.20 10:34 #11 您好,卡尔-施赖伯,非常感谢您的快速回复。我的问题与https://www.mql5.com/zh/code/248 这篇文章有关。这篇文章介绍了如何使用向导使用该信号创建智能交易系统。我做不到这一点。我首先确保指标在正确的目录下。如果我点击 "新建文件"->"生成智能交易系统"->"指定名称"->"元编辑器 "中的 "信号模块参数",根据文章所述,基于价格与 MA 交叉的信号 应该会出现。遗憾的是,该选项没有出现。我的版本是 5.0 Build 3211 MQL5 Wizard - Handelsignale auf der Basis der Kreuzung des Preises mit dem MA-Indikator www.mql5.com Handelsignale auf der Basis der Kreuzung des Preises mit dem MA-Indikator "Signals based on price crossover with MA" (Klasse CSignalMA in der Standardbibliothek). 附加的文件: MAXWizard.jpg 65 kb Carl Schreiber 2022.03.20 10:53 #12 不幸的是,您的构建太小,我无法识别任何东西。 iMA 指标是集成的,不需要放在特定目录中。 我可以根据这篇文章创建一个带有移动平均线的 EA( 使用智能交易系统生成): https://www.metatrader5.com/de/metaeditor/help/mql5_wizard/wizard_ea_generate 添加移动平均线后继续... 然后就创建了这个 EA: //+------------------------------------------------------------------+ //|test_Wizard.mq5 //|卡利 //|https://www.mql5.com/zh/users/gooly| //+------------------------------------------------------------------+ #property copyright "Calli" #property link "https://www.mql5.com/zh/users/gooly" #property version "1.00" //+------------------------------------------------------------------+ //| 包括| //+------------------------------------------------------------------+ #include <Expert\Expert.mqh> //--- 可用信号 #include <Expert\Signal\SignalMA.mqh> //--- 可用的拖尾 #include <Expert\Trailing\TrailingNone.mqh> //--- 可用资金管理 #include <Expert\Money\MoneyFixedLot.mqh> //+------------------------------------------------------------------+ //| 输入| //+------------------------------------------------------------------+ //--- 专家输入 input string Expert_Title ="test_Wizard"; // 文件名称 ulong Expert_MagicNumber =18344; // bool Expert_EveryTick =false; // //--- 主信号输入 input int Signal_ThresholdOpen =10; // 要打开的信号阈值 [0...100] input int Signal_ThresholdClose=10; // 要关闭的信号阈值 [0...100] input double Signal_PriceLevel =0.0; // 执行交易的价格水平 input double Signal_StopLevel =50.0; // 止损水平(单位:点) input double Signal_TakeLevel =50.0; // 止盈水平(点数) input int Signal_Expiration =4; // 挂单到期(以条为单位) input int Signal_MA_PeriodMA =12; // 移动平均(12,0,...)平均周期 input int Signal_MA_Shift =0; // 移动平均数(12,0,...) 时间移动 input ENUM_MA_METHOD Signal_MA_Method =MODE_SMA; // 移动平均(12,0,...)平均方法 input ENUM_APPLIED_PRICE Signal_MA_Applied =PRICE_CLOSE; // 移动平均(12,0,...)价格系列 input double Signal_MA_Weight =1.0; // 移动平均(12,0,...)权重 [0...1.0] //--- 资金投入 input double Money_FixLot_Percent =10.0; // 百分比 input double Money_FixLot_Lots =0.1; // 固定音量 //+------------------------------------------------------------------+ //| 全局专家对象| //+------------------------------------------------------------------+ CExpert ExtExpert; //+------------------------------------------------------------------+ //| 专家的初始化函数 //+------------------------------------------------------------------+ int OnInit() { //--- 专家初始化 if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber)) { //--- 失败 printf(__FUNCTION__+": error initializing expert"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- 创建信号 CExpertSignal *signal=new CExpertSignal; if(signal==NULL) { //--- 失败 printf(__FUNCTION__+": error creating signal"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- ExtExpert.InitSignal(signal); signal.ThresholdOpen(Signal_ThresholdOpen); signal.ThresholdClose(Signal_ThresholdClose); signal.PriceLevel(Signal_PriceLevel); signal.StopLevel(Signal_StopLevel); signal.TakeLevel(Signal_TakeLevel); signal.Expiration(Signal_Expiration); //--- 创建过滤器 CSignalMA CSignalMA *filter0=new CSignalMA; if(filter0==NULL) { //--- 失败 printf(__FUNCTION__+": error creating filter0"); ExtExpert.Deinit(); return(INIT_FAILED); } signal.AddFilter(filter0); //--- 设置过滤器参数 filter0.PeriodMA(Signal_MA_PeriodMA); filter0.Shift(Signal_MA_Shift); filter0.Method(Signal_MA_Method); filter0.Applied(Signal_MA_Applied); filter0.Weight(Signal_MA_Weight); //--- 创建尾部对象 CTrailingNone *trailing=new CTrailingNone; if(trailing==NULL) { //--- 失败 printf(__FUNCTION__+": error creating trailing"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- 为专家添加尾部(将自动删除)) if(!ExtExpert.InitTrailing(trailing)) { //--- 失败 printf(__FUNCTION__+": error initializing trailing"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- 设置尾部参数 //--- 创建货币对象 CMoneyFixedLot *money=new CMoneyFixedLot; if(money==NULL) { //--- 失败 printf(__FUNCTION__+": error creating money"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- 为专家添加资金(将自动删除)) if(!ExtExpert.InitMoney(money)) { //--- 失败 printf(__FUNCTION__+": error initializing money"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- 设置资金参数 money.Percent(Money_FixLot_Percent); money.Lots(Money_FixLot_Lots); //--- 检查所有交易对象参数 if(!ExtExpert.ValidationSettings()) { //--- 失败 ExtExpert.Deinit(); return(INIT_FAILED); } //--- 调整所有必要的指标 if(!ExtExpert.InitIndicators()) { //--- 失败 printf(__FUNCTION__+": error initializing indicators"); ExtExpert.Deinit(); return(INIT_FAILED); } //--- ok return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| 专家的去初始化功能 //+------------------------------------------------------------------+ void OnDeinit(const int reason) { ExtExpert.Deinit(); } //+------------------------------------------------------------------+ //| "Tick "事件处理函数| //+------------------------------------------------------------------+ void OnTick() { ExtExpert.OnTick(); } //+------------------------------------------------------------------+ //| "交易 "事件处理函数| //+------------------------------------------------------------------+ void OnTrade() { ExtExpert.OnTrade(); } //+------------------------------------------------------------------+ //| "定时器 "事件处理函数| //+------------------------------------------------------------------+ void OnTimer() { ExtExpert.OnTimer(); } //+------------------------------------------------------------------+ 代码编译没有任何问题,但我不知道它是否也能产生利润,也不知道是否可以优化代码。 Erstellen eines fertigen Expert Advisors - MQL4/MQL5 Assistent - MetaEditor Hilfe www.metatrader5.com Der MQL4/MQL5 Assistent erlaubt das Erstellen eines voll funktionsfähigen EAs auf Basis der Standardbibliothek aus der Handelsplattform... [删除] 2024.09.26 20:10 #13 好代码 12 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
您好,卡尔-施赖伯,非常感谢您的快速回复。我的问题与https://www.mql5.com/zh/code/248 这篇文章有关。这篇文章介绍了如何使用向导使用该信号创建智能交易系统。我做不到这一点。我首先确保指标在正确的目录下。如果我点击 "新建文件"->"生成智能交易系统"->"指定名称"->"元编辑器 "中的 "信号模块参数",根据文章所述,基于价格与 MA 交叉的信号 应该会出现。遗憾的是,该选项没有出现。我的版本是 5.0 Build 3211
不幸的是,您的构建太小,我无法识别任何东西。
iMA 指标是集成的,不需要放在特定目录中。
我可以根据这篇文章创建一个带有移动平均线的 EA( 使用智能交易系统生成): https://www.metatrader5.com/de/metaeditor/help/mql5_wizard/wizard_ea_generate
添加移动平均线后继续...
然后就创建了这个 EA:
代码编译没有任何问题,但我不知道它是否也能产生利润,也不知道是否可以优化代码。