初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1055 1...104810491050105110521053105410551056105710581059106010611062...1503 新评论 Konstantin Nikitin 2019.06.04 17:46 #10541 Igor Makanu:这一切都很清楚,但你如何正确计算2个价格之间的整数点差?这就是可以应用四舍五入的地方。由你来决定哪种方式,或者只决定一个整数。 int pips_profit = (int)MathFloor(OrderOpenPrice()-OrderClosePrice())/_Point); fxsaber 2019.06.04 17:47 #10542 Igor Makanu:在订单循环中,SymbolInfoDouble(OrderSymbol(),SYMBOL_POINT);会不会每次都被重新计算,因为OrderSymbol()每次都不同?那里的问题略有不同--所有符号的总利润以点为单位。 Igor Makanu 2019.06.04 17:50 #10543 Konstantin Nikitin:这就是可以应用四舍五入的地方。由你来决定哪种方式,或者只决定一个整数。 嗯,是的,忘记了这种结构,在金的地段计算函数中,有正确的四舍五入。fxsaber:所以那里的任务略有不同--所有符号的总利润,以点为单位。好的,但为什么是常数呢?如果循环会改变常数,编译器会有什么表现? PS:代码是可读的,但需要检查,从未使用过这个 fxsaber 2019.06.04 17:51 #10544 Igor Makanu:好的,但为什么是const - 如果在循环中改变了const,编译器会有什么表现? PS:代码是可读的,但需要检查,从未使用过这个每一步都将创建一个变量。 const - 在这一步,不打算改变任何地方。 Igor Makanu 2019.06.04 17:53 #10545 fxsaber:每一步都将创建一个变量。 const - 在这一步中没有计划改变任何地方。这一步是循环的迭代吗? 目前还不清楚这样的结构将如何表现,我们需要一个脚本来检查 Konstantin Nikitin 2019.06.04 17:58 #10546 fxsaber:因此,那里的目标略有不同--所有符号的总利润为点。好吧,那么它是这样的 short pipsProfitOrder = (short)MathFloor( ( OrderProfit()+OrderSwap()+OrderCommission() ) / (SymbolInfoDouble(_OrderSymbol(), SYMBOL_TRADE_TICK_VALUE)*OrderLots()) ); 我是以一个头寸的点数来计算利润的,但我想把它应用到自己身上不会有问题。 fxsaber 2019.06.04 17:59 #10547 Igor Makanu:一个步骤是一个周期的迭代? 是的。 我们还不清楚这样的结构会有什么表现,我们需要一个脚本来检查下面是一个方便使用变量寿命的例子 关于交易、自动交易系统和策略测试的论坛 关于 "交易者的生活秘诀:将ForEach混入定义中(#define)"的讨论 fxsaber, 2018.02.14 10:54 绩效衡量 #define BENCH(A) \ { \ const ulong StartTime = GetMicrosecondCount(); \ A; \ Print("Time[" + #A + "] = " + (string)(GetMicrosecondCount() - StartTime)); \ } double GetAsk() { static MqlTick tick = {0}; return(SymbolInfoTick(Symbol(),tick) ? tick.ask : 0); } #define AMOUNT 1 e6 void OnStart() { double Sum = 0; BENCH(for (int i = 0; i < AMOUNT; i++) Sum += GetAsk()) BENCH(for (int i = 0; i < AMOUNT; i++) Sum += SymbolInfoDouble(_Symbol, SYMBOL_ASK)) Print(Sum); } 结果 Time[for(inti=0;i<AMOUNT;i++)Sum+=GetAsk()] = 78952 Time[for(inti=0;i<AMOUNT;i++)Sum+=SymbolInfoDouble(_Symbol,SYMBOL_ASK)] = 162606 fxsaber 2019.06.04 18:03 #10548 关于交易、自动交易系统和策略测试的论坛 初学者的常见问题 MQL5 MT5 MetaTrader 5 Konstantin Nikitin, 2019.06.04 19:58 那么 short pipsProfitOrder = (short)MathFloor( ( OrderProfit()+OrderSwap()+OrderCommission() ) / (SymbolInfoDouble(_OrderSymbol(), SYMBOL_TRADE_TICK_VALUE)*OrderLots()) ); 我是以一个头寸的点数来计算利润的,但我想我把它应用到自己身上没有问题。这就是所谓的将有成本的利润转换为真正的(非收盘时)点数。 Konstantin Nikitin 2019.06.04 18:13 #10549 fxsaber: 这被称为成本利润转移到当前(不是在关闭时)的点数。这就是他需要将利润转化为积分的方法。在计算关闭的时候,你仍然需要以点值为基础。以点为单位的利润不一定等于开盘价和收盘价之间的点差。 和收盘价。 fxsaber 2019.06.04 18:17 #10550 Konstantin Nikitin:所以他需要将利润转化为积分。 有时他们认为,利润=OrderProfit()。 当计算一个封闭的符号时,你仍然应该使用点的价值。利润的点值不一定要等于开盘价 和收盘价 之间的点差。 收盘时的点值不等于计算时的点值。此外,在计算时,该符号可能根本不在市场观察中。 这就是为什么要计算点的价值和它们在关闭时的价值。 1...104810491050105110521053105410551056105710581059106010611062...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这一切都很清楚,但你如何正确计算2个价格之间的整数点差?
这就是可以应用四舍五入的地方。由你来决定哪种方式,或者只决定一个整数。
在订单循环中,SymbolInfoDouble(OrderSymbol(),SYMBOL_POINT);会不会每次都被重新计算,因为OrderSymbol()每次都不同?
那里的问题略有不同--所有符号的总利润以点为单位。
这就是可以应用四舍五入的地方。由你来决定哪种方式,或者只决定一个整数。
嗯,是的,忘记了这种结构,在金的地段计算函数中,有正确的四舍五入。所以那里的任务略有不同--所有符号的总利润,以点为单位。
好的,但为什么是常数呢?如果循环会改变常数,编译器会有什么表现?
PS:代码是可读的,但需要检查,从未使用过这个
好的,但为什么是const - 如果在循环中改变了const,编译器会有什么表现?
PS:代码是可读的,但需要检查,从未使用过这个
每一步都将创建一个变量。 const - 在这一步,不打算改变任何地方。
每一步都将创建一个变量。 const - 在这一步中没有计划改变任何地方。
这一步是循环的迭代吗?
目前还不清楚这样的结构将如何表现,我们需要一个脚本来检查
因此,那里的目标略有不同--所有符号的总利润为点。
好吧,那么它是这样的
我是以一个头寸的点数来计算利润的,但我想把它应用到自己身上不会有问题。
一个步骤是一个周期的迭代?
是的。
我们还不清楚这样的结构会有什么表现,我们需要一个脚本来检查
下面是一个方便使用变量寿命的例子
关于交易、自动交易系统和策略测试的论坛
关于 "交易者的生活秘诀:将ForEach混入定义中(#define)"的讨论
fxsaber, 2018.02.14 10:54
绩效衡量
结果
关于交易、自动交易系统和策略测试的论坛
初学者的常见问题 MQL5 MT5 MetaTrader 5
Konstantin Nikitin, 2019.06.04 19:58
那么
我是以一个头寸的点数来计算利润的,但我想我把它应用到自己身上没有问题。
这就是所谓的将有成本的利润转换为真正的(非收盘时)点数。
这被称为成本利润转移到当前(不是在关闭时)的点数。
这就是他需要将利润转化为积分的方法。在计算关闭的时候,你仍然需要以点值为基础。以点为单位的利润不一定等于开盘价和收盘价之间的点差。 和收盘价。
所以他需要将利润转化为积分。
有时他们认为,利润=OrderProfit()。
当计算一个封闭的符号时,你仍然应该使用点的价值。利润的点值不一定要等于开盘价 和收盘价 之间的点差。
收盘时的点值不等于计算时的点值。此外,在计算时,该符号可能根本不在市场观察中。
这就是为什么要计算点的价值和它们在关闭时的价值。