[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 287

 
rid писал(а)>>

这样的修复是行不通的。它将无法开启第一笔交易。因为在你的变体中开出第一笔交易的条件是,在采取或停止时关闭任何先前的交易

即是说,这是一个恶性循环。

因此,应该改变工作的逻辑。

 
让我问你一个问题。在第五次追踪中,是否会有类(OOP)这种东西?
 

你能给我一个解决方案,如何计算一个整数变量的前N位的值?

只有通过转换为字符串?

 
goldtrader >> :

你能给我一个解决方案,如何计算一个整数变量的前N位的值?

它是什么数字系统的?以十进制计算?

只有通过转换为字符串?

当然不是。

 
TheXpert писал(а)>>

什么数字系统中的数字?十进制?

是的,以十进制计算。

我是这样做的:int -> double -> string -> Substr -> compare。

它是有效的,但它看起来莫名其妙地别扭、土气。我希望它能更优雅地))))

 
goldtrader >> :

是的,以十进制计算。

我是这样做的:int -> double -> string -> Substr -> compare。

它是有效的,但它看起来莫名其妙地扭曲和质朴。我希望它能更优雅地))))

//+------------------------------------------------------------------+
//|                                                NElementsTest.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, TheXpert"
#property link      "theforexpert@gmail.com"

int FirstN(int N, int value)
{
   int value_ = value;
   
   int length = 0;
   
   while( value_ != 0) 
   {
      value_ /= 10;
      length++;   
   }
   
   int toDivide = MathMax( length - N, 0);
   return ( value/NormalizeDouble(MathPow(10, toDivide), 0));
}

void Out(int N, int value)
{
   Print("Value = ", value, " , First ", N, " = ", FirstN( N, value));
}

int start()
{
   Out(5, 12345678);
   Out(1, 12345678);
   Out(6, 12345);
   Out(5, -1234567);

   return(0);
}
MathPow很慢,取代它是个好主意,但它应该比字符串快。
 
TheXpert писал(а)>>
MathPow很慢,取代它是个好主意,但它应该比字符串快。

我刚刚开始使用MathPow,我想澄清一下...它有多慢? 我应该什么时候开始替换x^2=x*x? 如果程度 "不大",是否值得替换...。或 "高"...?

 
TheXpert писал(а)>>
MathPow -- 这个东西很慢,最好能取代它,但它应该比字符串快。

谢谢你,安德鲁!

这是真正的程序化!

 
Rosh >> :

如果MetaTrader 4像你说的那样是 "为DC定制的",那么它就不会如此受到交易者的欢迎。这种谣言的传播只能是为了证明自己的软件是正确的。

100分!市场上有很多需求,但供不应求,很明显,新的经纪公司使用不同的伎俩来吸引客户,并从他们那里获得最高收益。

 
DDFedor >> :

我刚刚开始使用MathPow,我想澄清一下...它有多慢? 我应该什么时候开始替换x^2=x*x? 如果程度 "不大",是否值得替换...。或 "高"...?

图特。你引用的表达方式绝对值得一试。

黄金交易商>>:

>> 谢谢你,安德鲁!

很高兴能提供帮助。

原因: