Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в панели "Инструменты". Ордер – это распоряжение на проведение торговой операции, а позиция является результатом одной или нескольких сделок.
При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".
При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций.
Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в панели "Инструменты". Ордер – это распоряжение на проведение торговой операции, а позиция является результатом одной или нескольких сделок.
При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".
При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций.
有什么方法可以计算出对冲保证金吗?
谢谢你的提示!在野外,它是SymbolInfoMarginRate。所以现在是这样的
double GetMarginRequired( const string Symb )
{
}
我们需要明确的是,在MT5中,不同方向的保证金要求可能会有很大不同。也就是说,单一的MT4变体可能无法工作。当然,在外汇市场上,情况不会是这样的。但你必须记住。因此,一般来说,你应该这样写
bool MyOrderCalcMargin( const ENUM_ORDER_TYPE action, const string symbol, const double volume, const double price, double &margin )
{
}
非常感谢您!现在它在所有地方工作都没有任何问题。
我不知道"MyOrderCalcMargin"函数是否还在交易,如果是的话,至少在测试器中如何交易)
我认为你可以通过Symbol函数来计算一切。
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
fxsaber, 2017.02.28 10:48
Metaquotes-Demo,美元账户,RTS-3.17。
TickValue给出了错误的值 - 以卢布为单位,而不是以账户货币(美元)为单位。
FxPro-ECN。符号GOLD和GOLDEURO具有相同的TickValue。虽然,很明显,在欧元兑美元时代,它们应该是不同的。
MT5对FIBOGroup-MT5服务器SGDJPY的恶作剧
在这种情况下,MyOrderCalcMargin的计算是正确的,而普通的OrderCalcMargin却不正确
正常的功能是按照工具设置中规定的合同规格进行计数--保证金货币 为挪威克朗,每手分别为1000挪威克朗。
你可能算作拆分货币对SGDJPY的名称--你得到1000新元的一手。
因此,问题在于经纪人方面对合同的规定不正确。请联系相应服务器的经纪人。
也就是说,为了使所有的OrderSend与交易环境同步并避免陷阱,只需将给定的源代码作为一个mqh-文件,并在你的程序中进行相应的#include。
你可以不再用手鼓跳舞了。
SD告诉我,从下一个版本开始, OrderSend() 将正常工作 :)
常规功能根据工具设置中指定的合同规格进行计算--保证金货币 为挪威克朗,因此每手取1,000挪威克朗。
在你的情况下,必须是货币对名称SGDJPY的拆分 - 一手收取1000新元。
因此,问题在于经纪人方面对合同的规定不正确。联系相应服务器的经纪人。
MT5有一个内部隐藏机制,可以将任何货币转换成账户货币。在这种情况下,OrderCalcMargin 1000挪威克朗转换为适当的美元数字并输出。
请使这个机制开放。比如说。
这些汇率在终端是100%可用的,因为OrderCalcMargin计算了它们。他们的工作在MetaQuotes-Demo美元账户上特别明显,当你采取FORTS符号时--他们的保证金货币是卢布。
由于TickValue芯片/bug的存在,这一点尤为重要
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
fxsaber, 2017.02.28 10:48
Metaquotes-Demo,美元账户,RTS-3.17。
TickValue给出了错误的值 - 以卢布为单位,而不是以账户货币(美元)为单位。
FxPro-ECN。符号GOLD和GOLDEURO具有相同的TickValue。虽然,很明显,在欧元兑美元时代,它们应该是不同的。
Возвращает количество действующих ордеров.
int OrdersTotal();
Возвращаемое значение
Значение типа int.
Примечание
Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в панели "Инструменты". Ордер – это распоряжение на проведение торговой операции, а позиция является результатом одной или нескольких сделок.
При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".
При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций.
Смотри также
OrderSelect(), OrderGetTicket(), Свойства ордеров
"活跃的挂单",以及不活跃的挂单, 它们是什么?
你好,我正在阅读文件。
Возвращает количество действующих ордеров.
int OrdersTotal();
Возвращаемое значение
Значение типа int.
Примечание
Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в панели "Инструменты". Ордер – это распоряжение на проведение торговой операции, а позиция является результатом одной или нескольких сделок.
При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".
При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций.
Смотри также
OrderSelect(), OrderGetTicket(), Свойства ордеров
"有效的挂单",和无效的挂单, 它们是什么?
挂单 - bystop, sellstop, bylimit和bystop。
仓位 - 买入和卖出。
不活跃 - 删除订单和关闭头寸。
挂单 - bystop, sellstop, bylimit和bystop。
仓位 - 买入和卖出。
不活跃 - 删除订单和关闭头寸。
由于订单是执行交易操作 的订单,只有挂单可以被视为 "有效订单",而买入和卖出头寸不是执行交易操作的订单。还是我 "错过了什么"?