初学者的问题 MQL5 MT5 MetaTrader 5 - 页 657 1...650651652653654655656657658659660661662663664...1503 新评论 [删除] 2016.10.29 08:45 #6561 Alexey Kozitsyn: 它似乎都在点上,甚至还有参考文献...就在有人宣称他已经阅读了文件并要求移除网状物(顺便说一下,这是在FORTS上使用的)时......你必须在这里讽刺一下。 我会记住的,准备好讽刺。 [删除] 2016.10.29 08:46 #6562 Anatoli Kazharski: 确保你不会被送走。) 太晚了,你已经在那里了。 Anatoli Kazharski 2016.10.29 08:47 #6563 new-rena: 晚了,你已经在那里了。 是谁,在哪里,一目了然。) [删除] 2016.10.29 08:47 #6564 Vladimir Karputov:套期保值账户的例子。第一个操作是买入0.02,第二个操作是卖出0.01。总共两个仓位:买入0.02和卖出0.001。然后我们关闭卖出0.01的仓位,并关闭买入0.02 的仓位。//+------------------------------------------------------------------+//| TestEA.mq5 |//| Copyright © 2016, Vladimir Karputov |//| http://wmua.ru/slesar/ |//+------------------------------------------------------------------+#property copyright "Copyright © 2016, Vladimir Karputov"#property link "http://wmua.ru/slesar/"#property version "1.00"#include <Trade\Trade.mqh>#include <Trade\PositionInfo.mqh> CTrade m_trade; // trading object CPositionInfo m_position; // trade position object//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+int OnInit() {//--- return(INIT_SUCCEEDED); }//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+void OnDeinit(const int reason) {//--- }//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+void OnTick() {//--- static long counter=0; counter++; if(counter%300==0 && counter<700) { static int number=0; number++; if(number==1) m_trade.Buy(0.02); if(number==2) m_trade.Sell(0.01); } if(counter>7000) { int positions= PositionsTotal(); if(positions == 0) return; int positions_total=PositionsTotal(); for(int i=positions_total-1;i>=0;i--) if(m_position.SelectByIndex(i)) m_trade.PositionClose(m_position.Ticket(),-1); } }//+------------------------------------------------------------------+和杂志。Trade 2016.02.25 00:13:35 instant buy 0.02 EURUSD at 1.10167 (1.10158 / 1.10167 / 1.10158) Trades 2016.02.25 00:13:35 deal #2 buy 0.02 EURUSD at 1.10167 done (based on order #2) Trade 2016.02.25 00:13:35 deal performed [#2 buy 0.02 EURUSD at 1.10167] Trade 2016.02.25 00:13:35 order performed buy 0.02 at 1.10167 [#2 buy 0.02 EURUSD at 1.10167] TestEA (EURUSD,H1) 2016.02.25 00:13:35 CTrade::OrderSend: instant buy 0.02 EURUSD at 1.10167 [done at 1.10167] Trade 2016.02.25 00:30:17 instant sell 0.01 EURUSD at 1.10157 (1.10157 / 1.10164 / 1.10157) Trades 2016.02.25 00:30:17 deal #3 sell 0.01 EURUSD at 1.10157 done (based on order #3) Trade 2016.02.25 00:30:17 deal performed [#3 sell 0.01 EURUSD at 1.10157] Trade 2016.02.25 00:30:17 order performed sell 0.01 at 1.10157 [#3 sell 0.01 EURUSD at 1.10157] TestEA (EURUSD,H1) 2016.02.25 00:30:17 CTrade::OrderSend: instant sell 0.01 EURUSD at 1.10157 [done at 1.10157]TestEA (EURUSD,H1) 2016.02.25 02:12:06 PositionClose #3 POSITION_TYPE_SELL 0.01 Trade 2016.02.25 02:12:06 instant buy 0.01 EURUSD at 1.10131, close #3 (1.10123 / 1.10131 / 1.10123) Trades 2016.02.25 02:12:06 deal #4 buy 0.01 EURUSD at 1.10131 done (based on order #4) Trade 2016.02.25 02:12:06 deal performed [#4 buy 0.01 EURUSD at 1.10131] Trade 2016.02.25 02:12:06 order performed buy 0.01 at 1.10131 [#4 buy 0.01 EURUSD at 1.10131]TestEA (EURUSD,H1) 2016.02.25 02:12:06 CTrade::OrderSend: instant buy 0.01 position #3 EURUSD at 1.10131 [done at 1.10131]TestEA (EURUSD,H1) 2016.02.25 02:12:06 PositionClose #2 POSITION_TYPE_BUY 0.02 Trade 2016.02.25 02:12:06 instant sell 0.02 EURUSD at 1.10123, close #2 (1.10123 / 1.10131 / 1.10123) Trades 2016.02.25 02:12:06 deal #5 sell 0.02 EURUSD at 1.10123 done (based on order #5) Trade 2016.02.25 02:12:06 deal performed [#5 sell 0.02 EURUSD at 1.10123] Trade 2016.02.25 02:12:06 order performed sell 0.02 at 1.10123 [#5 sell 0.02 EURUSD at 1.10123] TestEA (EURUSD,H1) 2016.02.25 02:12:06 CTrade::OrderSend: instant sell 0.02 position #2 EURUSD at 1.10123 [done at 1.10123]究竟是什么不清楚?你需要开一个相同数量的相反订单来平仓? 谢谢你!我会努力的。 [删除] 2016.10.29 13:14 #6565 谁知道--"POSITION_PROFIT"是否包括佣金和互换?如果不是,在MQL5中,应该用什么参数来找出订单的佣金金额? Vladimir Karputov 2016.10.29 13:22 #6566 new-rena:谁知道--"POSITION_PROFIT"是否包括佣金和互换?如果没有--在MQL5中应该使用什么参数来找出应计佣金的数额?POSITION_PROFIT仅仅是指头寸的 利润(没有扣除佣金、掉期...)。要想知道一个仓位 的累计互换量,请按以下方法操作。POSITION_SWAP累积互换双而最终的佣金和总掉期,可以在平仓后,在交易历史中得到。交易佣金交易_佣金双折扣_SWAP收盘时的累积互换双 Vitaly Muzichenko 2016.10.29 14:09 #6567 new-rena:谁知道--"POSITION_PROFIT"是否包括佣金和互换?如果不是,在MQL5中,应该使用什么参数来找出对订单收取的佣金金额?在俄语中,订单不能盈利也不能亏损,只是一个执行的订单。当订单被执行时,你在市场上以你选择的价格收到你的头寸。 弗拉基米尔-卡尔普托夫。POSITION_PROFIT仅仅是头寸的 利润(没有任何佣金、掉期...)。你可以找出这样的位置 的累积互换。而最终的佣金和最终的互换,你可以在平仓后,在交易历史中查到。嗯,这都是错的,或者说是不完整的。为什么我需要知道平仓后的佣金,或者说我需要知道它,但在任何时候,让我们假设账户有佣金和回撤或盈亏平衡,我如何计算,以便第一次触发是在价格回撤和平仓的情况下,佣金和掉期重叠的水平。我加1个点来支付佣金,那么掉期呢,因为头寸可能会在市场上停留一周,在这期间可能需要3个点来获得掉期,并在触发盈亏平衡时被平掉?或者是我不懂计算方法? [删除] 2016.10.29 14:21 #6568 Vitaly Muzichenko:在俄语中,一个订单既不可能是盈利也不可能是亏损,它只是一个执行的订单。一旦订单被执行,你就会在市场上以你选择的价格获得你的头寸。 这都是错误的,或者说是不完整的。为什么我需要知道收盘后的佣金,或者说我需要知道它,但在任何时候,让我们假设账户有佣金和追踪或收支平衡,我如何计算,以便在价格回滚和收盘的情况下,第一次击中的水平与佣金和交换重叠。我加1个点来支付佣金,那么掉期呢,因为头寸可能会在市场上停留一周,在这期间可能需要3个点来获得掉期,并在触发盈亏平衡时被平掉?还是我在计算中遗漏了什么? 我知道"POSITION_PROFIT"已经包含了所有的内容(掉期、利润、佣金),这就足以断定我的利润是否有利可图? fxsaber 2016.10.29 14:23 #6569 new-rena:谁知道--"POSITION_PROFIT"是否包括佣金和互换?如果不是,在MQL5中,需要什么参数来找出对订单收取的佣金金额?我没有强行使用MT4Orders库。但是,也许直接调用好的老的OrderCommission会更容易一些?它不仅适用于套期保值账户,也适用于净值账户。 Vladimir Karputov 2016.10.29 14:41 #6570 new-rena: 我理解"POSITION_PROFIT"已经包括了所有的内容(互换、利润、佣金)。 现在让我们用一个简单的专家顾问来检查它... 1...650651652653654655656657658659660661662663664...1503 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
它似乎都在点上,甚至还有参考文献...就在有人宣称他已经阅读了文件并要求移除网状物(顺便说一下,这是在FORTS上使用的)时......你必须在这里讽刺一下。
确保你不会被送走。)
晚了,你已经在那里了。
套期保值账户的例子。
第一个操作是买入0.02,第二个操作是卖出0.01。总共两个仓位:买入0.02和卖出0.001。然后我们关闭卖出0.01的仓位,并关闭买入0.02 的仓位。
//| TestEA.mq5 |
//| Copyright © 2016, Vladimir Karputov |
//| http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link "http://wmua.ru/slesar/"
#property version "1.00"
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
CTrade m_trade; // trading object
CPositionInfo m_position; // trade position object
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
static long counter=0;
counter++;
if(counter%300==0 && counter<700)
{
static int number=0;
number++;
if(number==1)
m_trade.Buy(0.02);
if(number==2)
m_trade.Sell(0.01);
}
if(counter>7000)
{
int positions= PositionsTotal();
if(positions == 0)
return;
int positions_total=PositionsTotal();
for(int i=positions_total-1;i>=0;i--)
if(m_position.SelectByIndex(i))
m_trade.PositionClose(m_position.Ticket(),-1);
}
}
//+------------------------------------------------------------------+
和杂志。
Trades 2016.02.25 00:13:35 deal #2 buy 0.02 EURUSD at 1.10167 done (based on order #2)
Trade 2016.02.25 00:13:35 deal performed [#2 buy 0.02 EURUSD at 1.10167]
Trade 2016.02.25 00:13:35 order performed buy 0.02 at 1.10167 [#2 buy 0.02 EURUSD at 1.10167]
TestEA (EURUSD,H1) 2016.02.25 00:13:35 CTrade::OrderSend: instant buy 0.02 EURUSD at 1.10167 [done at 1.10167]
Trade 2016.02.25 00:30:17 instant sell 0.01 EURUSD at 1.10157 (1.10157 / 1.10164 / 1.10157)
Trades 2016.02.25 00:30:17 deal #3 sell 0.01 EURUSD at 1.10157 done (based on order #3)
Trade 2016.02.25 00:30:17 deal performed [#3 sell 0.01 EURUSD at 1.10157]
Trade 2016.02.25 00:30:17 order performed sell 0.01 at 1.10157 [#3 sell 0.01 EURUSD at 1.10157]
TestEA (EURUSD,H1) 2016.02.25 00:30:17 CTrade::OrderSend: instant sell 0.01 EURUSD at 1.10157 [done at 1.10157]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 PositionClose #3 POSITION_TYPE_SELL 0.01
Trade 2016.02.25 02:12:06 instant buy 0.01 EURUSD at 1.10131, close #3 (1.10123 / 1.10131 / 1.10123)
Trades 2016.02.25 02:12:06 deal #4 buy 0.01 EURUSD at 1.10131 done (based on order #4)
Trade 2016.02.25 02:12:06 deal performed [#4 buy 0.01 EURUSD at 1.10131]
Trade 2016.02.25 02:12:06 order performed buy 0.01 at 1.10131 [#4 buy 0.01 EURUSD at 1.10131]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 CTrade::OrderSend: instant buy 0.01 position #3 EURUSD at 1.10131 [done at 1.10131]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 PositionClose #2 POSITION_TYPE_BUY 0.02
Trade 2016.02.25 02:12:06 instant sell 0.02 EURUSD at 1.10123, close #2 (1.10123 / 1.10131 / 1.10123)
Trades 2016.02.25 02:12:06 deal #5 sell 0.02 EURUSD at 1.10123 done (based on order #5)
Trade 2016.02.25 02:12:06 deal performed [#5 sell 0.02 EURUSD at 1.10123]
Trade 2016.02.25 02:12:06 order performed sell 0.02 at 1.10123 [#5 sell 0.02 EURUSD at 1.10123]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 CTrade::OrderSend: instant sell 0.02 position #2 EURUSD at 1.10123 [done at 1.10123]
究竟是什么不清楚?你需要开一个相同数量的相反订单来平仓?
谁知道--"POSITION_PROFIT"是否包括佣金和互换?
如果不是,在MQL5中,应该用什么参数来找出订单的佣金金额?
谁知道--"POSITION_PROFIT"是否包括佣金和互换?
如果没有--在MQL5中应该使用什么参数来找出应计佣金的数额?
POSITION_PROFIT仅仅是指头寸的 利润(没有扣除佣金、掉期...)。要想知道一个仓位 的累计互换量,请按以下方法操作。
POSITION_SWAP
累积互换
双
而最终的佣金和总掉期,可以在平仓后,在交易历史中得到。
交易佣金
交易_佣金
双
折扣_SWAP
收盘时的累积互换
双
谁知道--"POSITION_PROFIT"是否包括佣金和互换?
如果不是,在MQL5中,应该使用什么参数来找出对订单收取的佣金金额?
在俄语中,订单不能盈利也不能亏损,只是一个执行的订单。当订单被执行时,你在市场上以你选择的价格收到你的头寸。
POSITION_PROFIT仅仅是头寸的 利润(没有任何佣金、掉期...)。你可以找出这样的位置 的累积互换。
而最终的佣金和最终的互换,你可以在平仓后,在交易历史中查到。
嗯,这都是错的,或者说是不完整的。
为什么我需要知道平仓后的佣金,或者说我需要知道它,但在任何时候,让我们假设账户有佣金和回撤或盈亏平衡,我如何计算,以便第一次触发是在价格回撤和平仓的情况下,佣金和掉期重叠的水平。我加1个点来支付佣金,那么掉期呢,因为头寸可能会在市场上停留一周,在这期间可能需要3个点来获得掉期,并在触发盈亏平衡时被平掉?
或者是我不懂计算方法?
在俄语中,一个订单既不可能是盈利也不可能是亏损,它只是一个执行的订单。一旦订单被执行,你就会在市场上以你选择的价格获得你的头寸。
这都是错误的,或者说是不完整的。
为什么我需要知道收盘后的佣金,或者说我需要知道它,但在任何时候,让我们假设账户有佣金和追踪或收支平衡,我如何计算,以便在价格回滚和收盘的情况下,第一次击中的水平与佣金和交换重叠。我加1个点来支付佣金,那么掉期呢,因为头寸可能会在市场上停留一周,在这期间可能需要3个点来获得掉期,并在触发盈亏平衡时被平掉?
还是我在计算中遗漏了什么?
谁知道--"POSITION_PROFIT"是否包括佣金和互换?
如果不是,在MQL5中,需要什么参数来找出对订单收取的佣金金额?
我没有强行使用MT4Orders库。但是,也许直接调用好的老的OrderCommission会更容易一些?
它不仅适用于套期保值账户,也适用于净值账户。
我理解"POSITION_PROFIT"已经包括了所有的内容(互换、利润、佣金)。