从专业人员到超级专业人员的任何问题 - 1。 - 页 21

 
向你展示了如何。该帖子已被纠正。
 
我明白了,谢谢你。
我想我可以忘记在MQL中与MySQL的全面工作(没有我的dlls)......遗憾的是......。
 

图书馆有什么不好呢?

在指针返回的情况下,它需要是静态的,并且在同一个过程中。

 
Zhunko:

图书馆有什么不好呢?

如果你制作你自己的dll,把一部分代码分成MQL和一部分分成libe是没有意义的,所有的MySQL都将在这个dll里面。

 
大家好。有什么建议吗?VPS Windows Web Server 2008 32 bit - not R2 (RAM 256) - 能否适用于 MT4 ?
 
sergeev:

如果你做你自己的dll,把一部分代码分成MQL和一部分分成lib是没有意义的。所有的MySQL都会在这个dll里面。

当然了!如果可以的话,你根本不需要用MQL来写。几乎所有的东西都在DLL中。开始把所有东西转到我的应用程序中。我将远程管理该终端。
 

分数列举的算法

I). 需要找到一种列举分数的算法,以便于。

A + B + C + n + ...= 100%

来自集合{A,B,C,n} 的每个元素都必须有标准的标准:最大和最小的侧面约束和增量步骤的类型:开始,停止,陡峭。

一个问题的例子

给定一个集合

Y{A,B,C,n}。

这种集合的每个元素可以从-100%到+100%变化,以10%为单位。所有元素的模数 之和必须等于100%:A+B+C+n=100%。

找到一个描述A、B、C、n之间所有可能的分数分布的矩阵D(x,number_of_elements_multiple_Y),例如:

A B C

100 0 0

90 10 0

90 0 10

80 10 10

80 0 20

...

不正确发现的例子。

A B C

-50 30 120- 元素C大于100%的限度

35 30 35- 台阶不等于10%。

70 30 10- 总数不等于100%

-50 60 90- 所有元素的模数之和不等于100%(50+60+90=200)。

二*)。 用MT5/MT4优化器寻找集合N的分数搜索解决方案,这样,集合中每个元素的约束可以由标准约束Start, Step, Stop给出。

 


作为一个介绍性说明,这里有一个算法,实现了问题的一个特例。

//+------------------------------------------------------------------+
//|                                                  Optimizator.mq5 |
//|                        Copyright 2011, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int A, B, C;
   int handle = FileOpen("test.csv",FILE_WRITE,'\t');
   for(A=0; A<=100;A+=10)
   {
      for(B=0;B<=100-A;B+=10){
         C=100-(A+B);
         FileWrite(handle,A,B,C);      
      }
   }
   FileClose(handle);
  }
//+------------------------------------------------------------------+

正如你所看到的,除了最后一个元素,该集合的每个元素都需要一个额外的for循环。这不是一个好的解决方案,因为当你改变集合中元素的数量时,你必须插入或删除额外的循环。

 
C-4:


作为一个介绍性说明,这里有一个算法,实现了问题的一个特例。

正如你所看到的,除了最后一个元素,该集合的每个元素都需要一个额外的for循环。这不是一个好的解决方案,因为当你改变集合中元素的数量时,你必须插入或删除额外的循环。


只对A或B或C中的一个做一个while循环。

在其中,分析是否有差距

 
sergeev:

只对A、B、C中的一个做一个while循环。

在其内部,分析是否为要达到的差距


重点是,仍然是B和C将相互结合,你需要一个新的循环来实现。也许这个问题可以用递归法解决,尽管可能有更简单的算法。