[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 188 1...181182183184185186187188189190191192193194195...1145 新评论 Vasiliy Orlov 2009.08.14 21:53 #1871 试图计算掉期,但没有用下面是输出过去20个交易的掉期的代码。 for ( int j=OrdersHistoryTotal( )-1; j>=OrdersHistoryTotal( )-21; j--) { OrderSelect(j, SELECT_BY_POS, MODE_HISTORY); if(OrderType()==OP_BUY) Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPLONG)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE)); if(OrderType()==OP_SELL) Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPSHORT)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE)); } 但估计的交换和真实的交换是不同的。并不是说投标价格就再也不一样了,这不是万分之一。 由于某些原因,差异是10的倍数。也就是说,计算出的互换量比实际的要高10倍。我甚至无法猜测这里出了什么问题。MarketInfo(OrderSymbol(),MODE_SWAPTYPE) 返回 一, 然后 "计算掉期的方法1--以工具的基础货币计算;"我采取了以点为单位的互换值,其结果是 MarketInfo(OrderSymbol(),MODE_SWAPLONG) 我把这个值乘以Bid。 *MarketInfo(OrderSymbol(),MODE_BID) 然后, 到 的尺寸, 的地段。 *OrderLots() 并乘以1点的价值,,从一手的存款货币 中提取。 *MarketInfo(OrderSymbol(),MODE_TICKVALUE) 返回的值是。eurgbp lot = 0.46000000 real swap = -1.31000000 estimated swap -13.05244609 [WARNING CLOSED!] Any newbie 如何编码? 原始想法 Alexander 2009.08.14 21:55 #1872 请告诉我如何做到这一点)) 双倍的MA1,MA2。 MA1=iMA(....,0)。 MA2=iMA(....,3)。 如果(MA1-MA2>Point)//MA向上看 如果(MA1-MA2,-Point)//MA向下看 Alexander 2009.08.14 21:58 #1873 vasya_vasya писал(а)>> 我把这个值乘以Bid。 *MarketInfo(OrderSymbol(),MODE_BID) 那是为了什么? [Deleted] 2009.08.14 22:06 #1874 Roger >> : 请告诉我如何做到这一点)) 双倍的MA1,MA2。 MA1=iMA(....,0)。 MA2=iMA(....,3)。 如果(MA1-MA2>Point)//MA向上看 如果(MA1-MA2,-Point)//MA正在往下看 非常感谢您))。 Vasiliy Orlov 2009.08.14 22:06 #1875 Roger писал(а)>> 这是为了什么? 我找不到关于它返回内容的描述 MarketInfo(OrderSymbol(),MODE_SWAPLONG) 我做了一个结论,这是欧元 点的大小,在欧元GBP 报价 ,所以我把它乘以BID,得到它在英镑 中的价格。 关键是 MarketInfo(OrderSymbol(),MODE_TICKVALUE) 返回每手的点值,只针对EURGBP 报价中的GBP ,不针对EUR。 Alexander 2009.08.14 22:28 #1876 vasya_vasya писал(а)>> 我在任何地方都没有找到关于该值返回的描述 出于某种原因,在我看来,所有的计算都是用存款的货币。 Vasiliy Orlov 2009.08.14 23:03 #1877 Roger писал(а)>> 出于某种原因,我一直认为所有的计算都是以存款的货币进行的。 Function MarketInfo(OrderSymbol(),MODE_SWAPSHORT) 返回一个-2的整数值,与所有其他订单的值相同。因此,我们假设这就是点子的价值。 让我们假设这是以我们存款货币的点值表示的掉期价值。 存款货币 = 美元 乘法 MarketInfo(OrderSymbol(),MODE_SWAPSHORT) 按手数计算 *OrderLots() 同时乘以我们每手存款货币的一个点的价值 *10 获取 swap = -9.20000000 而不是 实数互换 = -1.31000000 Alexander 2009.08.15 00:14 #1878 vasya_vasya писал(а)>> Function MarketInfo(OrderSymbol(),MODE_SWAPSHORT) 返回一个-2的整数值,与所有其他订单的值相同。因此,我认为这就是点子的价值。 对于欧元兑英镑,空头返回0(这是Alpari),多头返回-0.68,这正好是美元。 [Deleted] 2009.08.15 00:47 #1879 Profiles please advise, according to the help of mql5 language there is nofunction iHighest how to calculate maximum high for N period? ... I have tried copyHigh and fmax, but only for a certain period and not that of course, help [WARNING CLOSED!] Any newbie Wishes for MQL5 How can I find Alexander 2009.08.15 01:05 #1880 粗略地说是这样。 double HighestBar(int start, int end) { double maxBar; for (int i= start; i< end; i++) if( maxBar<High[ i]) maxBar=High[ i]; return( maxBar); } 1...181182183184185186187188189190191192193194195...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
试图计算掉期,但没有用
下面是输出过去20个交易的掉期的代码。
for ( int j=OrdersHistoryTotal( )-1; j>=OrdersHistoryTotal( )-21; j--) {
OrderSelect(j, SELECT_BY_POS, MODE_HISTORY);
if(OrderType()==OP_BUY)
Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPLONG)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE));
if(OrderType()==OP_SELL)
Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPSHORT)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE));
}
由于某些原因,差异是10的倍数。
也就是说,计算出的互换量比实际的要高10倍。
我甚至无法猜测这里出了什么问题。
MarketInfo(OrderSymbol(),MODE_SWAPTYPE) 返回 一, 然后
"计算掉期的方法1--以工具的基础货币计算;"
我采取了以点为单位的互换值,其结果是
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
我把这个值乘以Bid。
*MarketInfo(OrderSymbol(),MODE_BID)
然后, 到 的尺寸, 的地段。
*OrderLots()
并乘以1点的价值,,从一手的存款货币 中提取。
*MarketInfo(OrderSymbol(),MODE_TICKVALUE)
返回的值是。
eurgbp lot = 0.46000000 real swap = -1.31000000 estimated swap -13.05244609
请告诉我如何做到这一点))
双倍的MA1,MA2。
MA1=iMA(....,0)。
MA2=iMA(....,3)。
如果(MA1-MA2>Point)//MA向上看
如果(MA1-MA2,-Point)//MA向下看
我把这个值乘以Bid。
*MarketInfo(OrderSymbol(),MODE_BID)
那是为了什么?
请告诉我如何做到这一点))
双倍的MA1,MA2。
MA1=iMA(....,0)。
MA2=iMA(....,3)。
如果(MA1-MA2>Point)//MA向上看
如果(MA1-MA2,-Point)//MA正在往下看
非常感谢您))。
这是为了什么?
我找不到关于它返回内容的描述
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
我做了一个结论,这是欧元 点的大小,在欧元GBP 报价 ,所以我把它乘以BID,得到它在英镑 中的价格。
关键是
MarketInfo(OrderSymbol(),MODE_TICKVALUE)
返回每手的点值,只针对EURGBP 报价中的GBP ,不针对EUR。
我在任何地方都没有找到关于该值返回的描述
出于某种原因,我一直认为所有的计算都是以存款的货币进行的。
Function MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
返回一个-2的整数值,与所有其他订单的值相同。因此,我们假设这就是点子的价值。
让我们假设这是以我们存款货币的点值表示的掉期价值。
存款货币 = 美元
乘法
MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
按手数计算
*OrderLots()
同时乘以我们每手存款货币的一个点的价值
*10
获取
swap = -9.20000000
而不是
实数互换 = -1.31000000
Function MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
返回一个-2的整数值,与所有其他订单的值相同。因此,我认为这就是点子的价值。
对于欧元兑英镑,空头返回0(这是Alpari),多头返回-0.68,这正好是美元。
粗略地说是这样。