需要编码帮助 - 页 4 1234 新评论 mrmedia 2012.06.04 09:50 #31 你说....... "你的滑点没有调整为4/5位数的经纪人" 我说......,我的理解是,它是以点数或点数或其他方式计算的--已经是这样了。 也就是说,3是可以使用的,3*mypoint是不正确的。 有人能证实这一点吗? RaptorUK: 好的,有一点帮助.. . 在你的代码中找到这一部分,然后把它改成这样 ... . 这并不检查神奇数字 ......如果你想在相同的货币对上放置手动订单,或者你想同时在同一货币对的不同时间段上运行,你需要把它加进去 ......你会吗? Bars 是不可靠的,使用Bars 是个坏主意,你应该使用Time。 你的滑点没有针对4/5位数的经纪商进行调整 ......你的止损或止盈也没有。 如果你把你的SL做得很小,你会得到错误的130,因为你没有检查它是否太近或允许点差的存在。 你的经纪商是ECN经纪商吗?当你向ECN经纪商下市场订单时,你不能设置SL和TP,你必须在下单后用OredrModify()代码添加SL和TP。 这是最基本的 东西 ......这些观点在这个论坛上日复一日地出现 ...... 而你并不了解这些,因为你并没有真正编码过任何东西 ...... 你使用的是别人的代码 ......."专家顾问生成器"。 只有一条捷径。 乔布斯 Tjipke de Vries 2012.06.04 10:20 #32 mrmedia: 你说....... "你的滑点没有调整为4/5位数的经纪人" 我说......,我的理解是,它是以点数或点数或其他方式计算的--已经是这样了。 也就是说,3是可以使用的,3*mypoint是不正确的。 有人能证实这一点吗? 阅读此文https://www.mql5.com/en/forum/138912 Simon Gniadkowski 2012.06.04 15:01 #33 mrmedia: 你说....... "你的滑点没有调整为4/5位数的经纪人" 我说......,我的理解是,它是以点数或点数或其他方式计算的--已经是了。 滑点=3意味着5位数经纪商的滑点为0.3点,4位数经纪商的滑点为3点。 mrmedia 2012.06.09 08:11 #34 RaptorUK: 滑点=3意味着5位数的经纪商有0.3个点,4位数的经纪商有3个点。 再一次清楚地表明了这一点。 误差0.98330 滑点 = 3 = 补仓在哪里? slippage = 3*SymPoints(5位数的经纪人) = 填补在哪里? @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if( SymPoints == 0.001 ) { SymPoints = 0.01; SymDigits = 3; } else if( SymPoints == 0.00001 ) { SymPoints = 0.0001; SymDigits = 5; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Simon Gniadkowski 2012.06.09 08:18 #35 mrmedia: 再一次清楚地表明了这一点。 误差0.98330 滑点 = 3 = 补仓在哪里? slippage = 3*SymPoints(5位数的经纪人) = 填补在哪里? @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if( SymPoints == 0.001 ) { SymPoints = 0.01; SymDigits = 3; } else if( SymPoints == 0.00001 ) { SymPoints = 0.0001; SymDigits = 5; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 看看OrderSend的文档,Slippage是什么类型?slippage=3*SymPoints 怎么会有意义? dabbler 2012.06.09 09:10 #36 价格上允许的滑点总是 你指定的滑点(int)乘以内部变量Point。Point 的值在4位和5位经纪人之间变化。 wei zhang 2012.06.10 02:58 #37 我不知道 Simon Gniadkowski 2012.06.10 07:11 #38 weinux: 我不知道 谢谢,那是一个很大的帮助。 William Roeder 2012.06.10 11:24 #39 你不能用symPoints来计算滑移量 int(3 * symPoints) == 0 没有滑移量。//++++ These are adjusted for 5 digit brokers. int pips2points; // slippage 3 pips 3=points 30=points double pips2dbl; // Stoploss 15 pips 0.015 0.0150 int Digits.pips; // DoubleToStr(dbl/pips2dbl, Digits.pips) int init(){ OptInitialization(); if (Digits % 2 == 1){ // DE30=1/JPY=3/EURUSD=5 forum.mql4.com/43064#515262 pips2dbl = Point*10; pips2points = 10; Digits.pips = 1; } else { pips2dbl = Point; pips2points = 1; Digits.pips = 0; } // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl //---- These are adjusted for 5 digit brokers. /* On ECN brokers you must open first and THEN set stops int ticket = OrderSend(..., 0,0,...) if (ticket < 0) Alert("OrderSend failed: ", GetLastError()); else if (!OrderSelect(ticket, SELECT_BY_TICKET)) Alert("OrderSelect failed: ", GetLastError()); else if (!OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0) Alert("OrderModify failed: ", GetLastError()); */ 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你说....... "你的滑点没有调整为4/5位数的经纪人"
我说......,我的理解是,它是以点数或点数或其他方式计算的--已经是这样了。
也就是说,3是可以使用的,3*mypoint是不正确的。
有人能证实这一点吗?
好的,有一点帮助.. .
在你的代码中找到这一部分,然后把它改成这样 ... .
这并不检查神奇数字 ......如果你想在相同的货币对上放置手动订单,或者你想同时在同一货币对的不同时间段上运行,你需要把它加进去 ......你会吗?
Bars 是不可靠的,使用Bars 是个坏主意,你应该使用Time。
你的滑点没有针对4/5位数的经纪商进行调整 ......你的止损或止盈也没有。
如果你把你的SL做得很小,你会得到错误的130,因为你没有检查它是否太近或允许点差的存在。
你的经纪商是ECN经纪商吗?当你向ECN经纪商下市场订单时,你不能设置SL和TP,你必须在下单后用OredrModify()代码添加SL和TP。
这是最基本的 东西 ......这些观点在这个论坛上日复一日地出现 ......
而你并不了解这些,因为你并没有真正编码过任何东西 ...... 你使用的是别人的代码 ......."专家顾问生成器"。 只有一条捷径。 乔布斯
你说....... "你的滑点没有调整为4/5位数的经纪人"
我说......,我的理解是,它是以点数或点数或其他方式计算的--已经是这样了。
也就是说,3是可以使用的,3*mypoint是不正确的。
有人能证实这一点吗?
阅读此文https://www.mql5.com/en/forum/138912
你说....... "你的滑点没有调整为4/5位数的经纪人"
我说......,我的理解是,它是以点数或点数或其他方式计算的--已经是了。
滑点=3意味着5位数的经纪商有0.3个点,4位数的经纪商有3个点。
再一次清楚地表明了这一点。
误差0.98330
滑点 = 3 = 补仓在哪里?
slippage = 3*SymPoints(5位数的经纪人) = 填补在哪里?
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
if( SymPoints == 0.001 ) { SymPoints = 0.01; SymDigits = 3; }
else if( SymPoints == 0.00001 ) { SymPoints = 0.0001; SymDigits = 5;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
再一次清楚地表明了这一点。
误差0.98330
滑点 = 3 = 补仓在哪里?
slippage = 3*SymPoints(5位数的经纪人) = 填补在哪里?
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
if( SymPoints == 0.001 ) { SymPoints = 0.01; SymDigits = 3; }
else if( SymPoints == 0.00001 ) { SymPoints = 0.0001; SymDigits = 5;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
我不知道