现在一切正常--太酷了......一气呵成....非常感谢......我知道在新版本稳定之前......会有错误......)))))
您好,非常感谢!请告诉我,您是否计划在引擎中实现您在文章https://www.mql5.com/zh/articles/1683 中描述的在 MOEX 上进行交易的方法? 具体来说,我对分析市场流动性以及在此基础上以指定偏差(最大滑点)进入市场感兴趣。
Как обезопасить себя и своего эксперта при торговле на Московской бирже
- 2015.06.18
- Vasiliy Sokolov
- www.mql5.com
В статье подробно описываются методы работы, призванные обеспечить безопасность совершения торговых операций на биржевых и малоликвидных рынках, на примере срочной секции Московской биржи. Статья является логическим продолжением статьи "Основы биржевого ценообразования на примере срочной секции Московской биржи", в которой даны теоретические основы биржевой торговли, но носит более практический характер.
igorbel:
您好,非常感谢!请告诉我,您是否计划在引擎中实现您在文章https://www.mql5.com/zh/articles/1683 中描述的在 MOEX 上进行交易的方法? 我特别感兴趣的是分析市场流动性,并在此基础上以指定偏差(最大滑点)进入市场。
建议很有趣。让我们看看。
您好,非常感谢!请告诉我,您是否计划在引擎中实现您在文章https://www.mql5.com/zh/articles/1683 中描述的在 MOEX 上进行交易的方法? 我特别感兴趣的是分析市场流动性,并在此基础上以指定偏差(最大滑点)进入市场。
//+------------------------------------------------------------------+ //| 通过设置收盘价关闭当前市场位置 //| 注释等于注释| //+------------------------------------------------------------------+ bool CPosition::CloseAtMarket(string comment="") { if(!IsActive()) return false; m_trade.PositionModify(m_id, 0.0, 0.0); ENUM_ACCOUNT_MARGIN_MODE mode=(ENUM_ACCOUNT_MARGIN_MODE)AccountInfoInteger(ACCOUNT_MARGIN_MODE); if(mode != ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) return m_trade.PositionClose(m_symbol); return m_trade.PositionClose(m_id); }
您能告诉我为什么要在这个函数中使用 m_trade.PositionModify(m_id,0.0,0.0)吗?因为这个操作,我的日志中出现了无效止损 错误。
igorbel:
这些都是旧版本的雏形。感谢您的指出,我们会进行修复。
您能告诉我为什么要在这个函数中使用 m_trade.PositionModify(m_id,0.0,0.0)吗?因为这个操作,我的日志中出现了无效止损错误。
我没有改动任何东西,但在编译包括基类在内的任何尾随模块时,都会出错:
'CTrailing' - declaration without type PositionMT5.mqh 48 4 'Trailing' - undeclared identifier PositionMT5.mqh 73 20 'Trailing' - object pointer expected PositionMT5.mqh 73 20 'Trailing' - object pointer expected PositionMT5.mqh 74 14
bool CTrailingClassic::Modify(void) { if(CheckPointer(m_position)==POINTER_INVALID) { string text="Invalid position for current trailing-stop. Set position with 'SetPosition' method"; CMessage *msg=new CMessage(MESSAGE_WARNING,__FUNCTION__,text); Log.AddMessage(msg); return false; } if(m_diff_extremum<=0.0) { string text="Set points trailing-stop with 'SetDiffExtremum' method"; CMessage *msg=new CMessage(MESSAGE_WARNING,__FUNCTION__,text); Log.AddMessage(msg); return false; } double extremum=FindExtremum(m_position); if(extremum == 0.0)return false; double n_sl = 0.0; if(m_position.Direction()==POSITION_TYPE_BUY) n_sl=extremum-m_diff_extremum; else n_sl=extremum+m_diff_extremum; if(n_sl!=m_position.StopLossValue()) return m_position.StopLossValue(n_sl); return false; }
如果是多头头寸,检查一下新的价格是否低于当前 价格,如果是空头头寸,检查一下新的价格是否高于当前价格也无妨。
您好。感谢您的文章。
如何调整每笔交易的手数?我看到它只买一手
谢谢
亲爱的索科洛夫先生
这篇文章非常有趣,但不幸的是,我无法安装您的任何一个代码,而且还会出现大量的编译器错误。我尝试了所有 9 个部分,但都没有成功。
因此我想问一下:有没有安装您的代码的具体方法?
谢谢
简洁是智慧的灵魂。
接受、理解、正确的解释,几乎没有更多了。遗憾的是
新文章 通用智能交易系统:自定义追踪止损(第六章)已发布:
通用智能交易系统的第六章介绍追踪止损功能的用法。本文将指导你如何使用通用规则创建一个自己的追踪止损模型,以及如何将其添加到交易引擎中来实现自动管理持仓头寸的功能。
现在如果SHOW_TRAILING_CLASSIC_PARAMS宏被定义,在编译时追踪止损参数将被集成到EA设置中。
图 1. 动态链接参数PointsModify和StepModify。
当SHOW_TRAILING_CLASSIC_PARAMS宏被注释掉或者不存在时,追踪止损从EA的参数设置中消失:
图 2. 禁用追踪止损参数
作者:Vasiliy Sokolov