文章 "包含图形用户界面 (GUI) 的 EA 交易: 增加功能 (第二部分)" - 页 2

 
Dennis Kirichenko:

拉希德,感谢您的评论。我的计算结果偏大(买入):


第二种情况是考虑到我们卖得便宜,因此剩余购买的价格变得更高。

好吧,这里很简单--我们在欧元兑美元 上有一堆订单。我们对每个方向分别计算,得到

  1. 总仓位 在 1.2000 价格买入 20 手 = 1.2000 价格买入 15 手+在 1.2000 价格买入 5 手
  2. 总卖出头寸 15 手,价格 1.2200
扣除等量交易 ,剩下5 手在 1.2000。 我的推理有什么问题?在周一开一堆仓位,看看价格变动 1 个点,浮动盈亏会如何变化。
 
Rashid Umarov:

很简单,假设我们在欧元兑美元上有很多订单。我们对每个方向分别计算,得到

  1. 总仓位 在 1.2000 买入 20 手 = 在 1.2000 买入 15 手 + 在 1.2000 买入 5 手
  2. 总卖出头寸 15 手,价格 1.2200
扣除等量交易,剩下 5 手在 1.2000。我的推理有什么问题?在周一开立大量头寸,看看价格变动 1 个点时浮动盈亏会如何变化。

这是 MT5 对冲中的一个系统:反向头寸按名义交易量取消。

还有一种替代方法,我在上一篇文章中已经介绍过。它考虑了每个买入/卖出交易量的价值。结果是交易量价值与名义交易量的比率。

 
Dennis Kirichenko:

这就是 MT5 对冲中的系统:反向头寸被名义 交易量消灭。

您可以用清晰的语言写出来。我完全不明白。戈尔巴乔夫以前也是这样交流的--话很多,但不清楚。
 
Rashid Umarov:
你可以写一些有意义的文字。我在这里什么都听不懂。戈尔巴乔夫以前也是这样说话的 - 话说得很多,但你什么都听不懂。

请原谅

我们以 12000 美元的价格买了 20 手。

名义购买量(基础货币量)等于 20*100 000=2 000 000 欧元。以报价货币计算,这些交易量的价值等于 1,2000 美元*2,000,000 = 2,400,000 美元。

我所说的名义价值是指以符号基准货币计算的交易量价值。

 

我不喜欢来回追逐数字)。

更不用说这种操作中可能出现的四舍五入误差了。

 
在文件 CProgram.mgh 在函数 "void CProgram::GetHandles(void) "和 "void CProgram::GetIndicatorValues(void) "中用指标 m_handles[i]=::iATR(m_symbols[i],StringToTimeframe(tf),5);一切编译正常,但在表中的 "值 "列中只有零。我做错了什么?
 

Alexander:

...

我做错了什么?

应为 ATR 指定零缓冲区:

//+------------------------------------------------------------------+
//| 获取所有字符的指示值 ||
//+------------------------------------------------------------------+
void CProgram::GetIndicatorValues(void)
  {
...
         //--- 让我们尝试获取指标值
         double values[1];
         received=::CopyBuffer(m_handles[i],0,0,1,values);
...
  }
 

你好,阿纳托利、


感谢您所做的一切努力!非常感谢!:)

我有一个问题:ON_END_CREATE_GUI 在哪里定义?我在你们最新版本 Build 16 的任何源代码中都找不到它(Build 15 的任何源代码中也找不到)。

到目前为止,我已经从https://www.mql5.com/en/articles/3527 下载了第 16 版的源代码

下载了第 16 版的源代码,然后在以下文章中下载了您所做的修改:

https://www.mql5.com/zh/articles/4715
https://www.mql5.com/zh/articles/4727。

我到底漏掉了什么,您或其他人能帮帮我吗?

致以最崇高的敬意!


附注:阿纳托利,能否只提供一个更新压缩文件,而不是在不同的文章中添加不同的内容?我发现很难 "跟踪 "您的所有更改...:)

Ein Expert Advisor mit GUI: Erstellen des Panels (Teil I)
Ein Expert Advisor mit GUI: Erstellen des Panels (Teil I)
  • www.mql5.com
Trotz der aktiven Entwicklung des algorithmischen Handels bevorzugen viele Händler immer noch den manuellen Handel. Die Automatisierung von Routineaufgaben lässt sich jedoch kaum ganz vermeiden. Der Artikel zeigt die Entwicklung eines Expert Advisor mit Signalen von mehreren Symbolen für den manuellen Handel. Als Beispiel verwenden wir die...
 

其实很简单:

1) 在 ON_END_CREATE_GUI 附近,顶部 有一个链接,稍上方是EasyAndFast 链接。

然后是文件Defines.mqh, 仅此而已。

[删除]  

亲爱的开发人员请注意以下错误。如果本文中的 "智能交易系统 "的名称仍为 TradePanel,则 "智能交易系统 "可以启动(2280 版)。但是,如果将其重命名,例如,TradePanel_part_II - Expert Advisor 可编译,但无法启动。它会在日志中写入以下内容:

2020.02.11 19:18:02.987 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CSeparateLine): 4016

2020.02.11 19:18:02.987 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CSeparateLine): 4016

2020.02.11 19:18:03.042 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CButton): 4016

2020.02.11 19:18:03.042 TradePanel_part_II (RTS Splice,M1) OnInit > Could not create the GUI!

如果将智能交易系统命名为 TradePanel 2,则一切正常。似乎某些名称会导致资源问题。