EA: Cidomo - 页 2 123 新评论 Sysmart 2020.04.29 09:53 #11 接下来是代码: //--- 检查冻结和停止水平 /* 订单类型/仓位 | 激活价格 | 检查 ------------------------|--------------------|-------------------------------------------- 买入限价订单| Ask| Ask-OpenPrice >= SYMBOL_TRADE_FREEZE_LEVEL 买入止损单| 卖出| 开盘价-卖出价 >= SYMBOL_TRADE_FREEZE_LEVEL 卖出限价订单| 开盘价-出价= SYMBOL_TRADE_FREEZE_LEVEL 卖出止损单| 买价Bid-OpenPrice >= SYMBOL_TRADE_FREEZE_LEVEL 买入头寸| 出价| TakeProfit-Bid >= SYMBOL_TRADE_FREEZE_LEVEL || Bid-StopLoss >= SYMBOL_TRADE_FREEZE_LEVEL 卖出位置| 卖出| Ask-TakeProfit >= SYMBOL_TRADE_FREEZE_LEVEL | |StopLoss-Ask >= SYMBOL_TRADE_FREEZE_LEVEL 按卖出价买入| 按买入价卖出 ------------------------------------------------|---------------------------------- TakeProfit >= Bid| 获利<= Ask StopLoss<= 买入价| StopLoss>= Ask TakeProfit - Bid >= SYMBOL_TRADE_STOPS_LEVEL |Ask - TakeProfit >= SYMBOL_TRADE_STOPS_LEVEL Bid - StopLoss > = SYMBOL_TRADE_STOPS_LEVEL= SYMBOL_TRADE_STOPS_LEVEL | StopLoss - Ask >= SYMBOL_TRADE_STOPS_LEVEL */ if(!RefreshRates() || !m_symbol.Refresh()) { PrevBars=0; return; } //--- 冻结级别 -> 用于挂单和修改 double freeze_level=m_symbol.FreezeLevel()*m_symbol.Point(); if(freeze_level==0.0) freeze_level=(m_symbol.Ask()-m_symbol.Bid())*3.0; freeze_level*=1.1; 这里的计算不清楚: freeze_level=(m_symbol.Ask()-m_symbol.Bid())*3.0; freeze_level*=1.1; 目的是什么?为什么要乘以 *3.0 和 *=1.1。 Vladimir Karputov 2020.04.29 09:55 #12 Sysmart:代码如下这里的计算并不清楚:freeze_level=(m_symbol.Ask()-m_symbol.Bid())*3.0;freeze_level*=1.1;目的是什么?为什么要乘以 *3.0 和 *=1.1。 主要任务是切断剥头皮者和点差者。 Sysmart 2020.05.01 11:06 #13 OnTradeTransaction 功能对我来说非常神秘,如果可能的话,请尽可能详细地解释一下这里发生了什么: void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result) { //--- 获得作为枚举值的事务类型 ENUM_TRADE_TRANSACTION_TYPE type=trans.type; //----如果交易是历史交易增加的结果 if(type==TRADE_TRANSACTION_DEAL_ADD) { long deal_ticket =0; long deal_order =0; long deal_time =0; long deal_time_msc =0; long deal_type =-1; long deal_entry =-1; long deal_magic =0; long deal_reason =-1; long deal_position_id =0; double deal_volume =0.0; double deal_price =0.0; double deal_commission =0.0; double deal_swap =0.0; double deal_profit =0.0; string deal_symbol =""; string deal_comment =""; string deal_external_id =""; if(HistoryDealSelect(trans.deal)) { deal_ticket =HistoryDealGetInteger(trans.deal,DEAL_TICKET); deal_order =HistoryDealGetInteger(trans.deal,DEAL_ORDER); deal_time =HistoryDealGetInteger(trans.deal,DEAL_TIME); deal_time_msc =HistoryDealGetInteger(trans.deal,DEAL_TIME_MSC); deal_type =HistoryDealGetInteger(trans.deal,DEAL_TYPE); deal_entry =HistoryDealGetInteger(trans.deal,DEAL_ENTRY); deal_magic =HistoryDealGetInteger(trans.deal,DEAL_MAGIC); deal_reason =HistoryDealGetInteger(trans.deal,DEAL_REASON); deal_position_id =HistoryDealGetInteger(trans.deal,DEAL_POSITION_ID); deal_volume =HistoryDealGetDouble(trans.deal,DEAL_VOLUME); deal_price =HistoryDealGetDouble(trans.deal,DEAL_PRICE); deal_commission =HistoryDealGetDouble(trans.deal,DEAL_COMMISSION); deal_swap =HistoryDealGetDouble(trans.deal,DEAL_SWAP); deal_profit =HistoryDealGetDouble(trans.deal,DEAL_PROFIT); deal_symbol =HistoryDealGetString(trans.deal,DEAL_SYMBOL); deal_comment =HistoryDealGetString(trans.deal,DEAL_COMMENT); deal_external_id =HistoryDealGetString(trans.deal,DEAL_EXTERNAL_ID); } else return; if(deal_symbol==m_symbol.Name() && deal_magic==m_magic) if(deal_entry==DEAL_ENTRY_IN) if(deal_type==DEAL_TYPE_BUY || deal_type==DEAL_TYPE_SELL) { m_need_delete_buy_stop = true; m_need_delete_sell_stop = true; } } } Sysmart 2020.05.01 12:02 #14 在表达式中: double tp=(InpTakeProfit==0)?0.0:price+ExtTakeProfit; if(tp!=0.0 && ExtTakeProfit<level) // 查看价格 tp=price+ExtTakeProfit; 我认为有一个错误,应该是:tp=price+level; Mazyad AlAdwani 2020.06.02 23:35 #15 您好,我的朋友,感谢您提供的 EA,我在演示版中试用了一下,效果很好,可以打开并执行定单。 但当我尝试在真实账户中使用时,它却被拒绝了。有什么好办法可以帮助我,我想在真实账户 中尝试一下。 谢谢 Vladimir Karputov 2020.06.03 05:08 #16 Mazyad AlAdwani :你好,我的朋友,感谢您提供的 EA,我在演示版中试用了一下,效果很好,可以打开并平仓。但当我尝试在真实账户中使用时,它却被拒绝了。有什么好办法可以帮助我,我想在真实账户 中尝试一下。衷心感谢 很遗憾,我无法远距离读心。另外,全职的心灵感应者正在休假。因此:请提供此类数据(在技术资源上提供技术数据是一种良好做法) 交易账户的货币和余额 顾问设置 日志文件(来自 "专家 "选项卡和 "日志 "选项卡) Mazyad AlAdwani 2020.06.03 20:55 #17 Vladimir Karputov:不幸的是,我不能远距离读心。另外,全职的心灵感应者正在休假。因此:请提供此类数据(在技术资源上提供技术数据是一种良好做法) 交易账户的货币和余额 顾问设置 日志文件(来自 "专家 "选项卡和 "日志 "选项卡) 交易账户的货币和余额 GPBUSD - 80 美元 顾问设置 日志文件(来自 "专家 "选项卡和 "日志 "选项卡) 提前感谢您,很抱歉没有把所有这些都放在第一位,我是新手,但正在学习,。 Mazyad AlAdwani 2020.06.10 16:41 #18 我想在真实账户中使用它,有什么新消息吗? Vladimir Karputov 2020.06.10 19:07 #19 Mazyad AlAdwani :我想在真实账户中使用它,有什么新消息吗? 先学会阅读。这里是技术论坛,如果您被要求执行某些操作 - 您必须执行这些操作。 关于交易、自动交易系统和测试交易策略的论坛 专家:Cidomo Vladimir Karputov, 2020.06.03 05:08 很遗憾,我不能远距离读心。另外,专职心灵感应者正在休假。因此:请提供此类数据(在技术资源上提供技术数据是一种良好做法) 交易账户的货币和余额 顾问设置 日志文件(来自 "专家 "选项卡和 "日志 "选项卡) Mazyad AlAdwani 2020.06.11 05:31 #20 Vladimir Karputov:先学会阅读。这里是技术论坛,如果要求您执行某些操作,您必须执行这些操作。 对不起。我在第一个回复中发送了图片,但我没有注意到它们被删除了! 总之,我制作了视频,您可以观看 123 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
接下来是代码:
这里的计算不清楚:
freeze_level=(m_symbol.Ask()-m_symbol.Bid())*3.0;
freeze_level*=1.1;
目的是什么?为什么要乘以 *3.0 和 *=1.1。
代码如下
这里的计算并不清楚:
freeze_level=(m_symbol.Ask()-m_symbol.Bid())*3.0;
freeze_level*=1.1;
目的是什么?为什么要乘以 *3.0 和 *=1.1。
主要任务是切断剥头皮者和点差者。
OnTradeTransaction 功能对我来说非常神秘,如果可能的话,请尽可能详细地解释一下这里发生了什么:
在表达式中:
我认为有一个错误,应该是:tp=price+level;
您好,我的朋友,感谢您提供的 EA,我在演示版中试用了一下,效果很好,可以打开并执行定单。
但当我尝试在真实账户中使用时,它却被拒绝了。有什么好办法可以帮助我,我想在真实账户 中尝试一下。
谢谢
你好,我的朋友,感谢您提供的 EA,我在演示版中试用了一下,效果很好,可以打开并平仓。
但当我尝试在真实账户中使用时,它却被拒绝了。有什么好办法可以帮助我,我想在真实账户 中尝试一下。
衷心感谢
很遗憾,我无法远距离读心。另外,全职的心灵感应者正在休假。因此:请提供此类数据(在技术资源上提供技术数据是一种良好做法)
不幸的是,我不能远距离读心。另外,全职的心灵感应者正在休假。因此:请提供此类数据(在技术资源上提供技术数据是一种良好做法)
提前感谢您,很抱歉没有把所有这些都放在第一位,我是新手,但正在学习,。
我想在真实账户中使用它,有什么新消息吗?
我想在真实账户中使用它,有什么新消息吗?
先学会阅读。这里是技术论坛,如果您被要求执行某些操作 - 您必须执行这些操作。
关于交易、自动交易系统和测试交易策略的论坛
专家:Cidomo
Vladimir Karputov, 2020.06.03 05:08
很遗憾,我不能远距离读心。另外,专职心灵感应者正在休假。因此:请提供此类数据(在技术资源上提供技术数据是一种良好做法)
先学会阅读。这里是技术论坛,如果要求您执行某些操作,您必须执行这些操作。
对不起。我在第一个回复中发送了图片,但我没有注意到它们被删除了!
总之,我制作了视频,您可以观看