算法优化锦标赛。 - 页 4

 
Dmitry Fedoseev:
看看上面列出的通用方法。而如果通过中间人进行一次性调用,那就需要对查找功能进行非常严重的调整,这正是没有人会做的。
不要夸大其词。有一个解决方案。想一想如何从你的算法库中摆脱对FF的内部调用。
 
Andrey Dik:
不要夸大其词。有一个解决方案。想一想如何从你的算法库中摆脱对FF的内部调用。
你甚至不应该考虑这个问题,没有理由在这上面浪费精力。
 
Dmitry Fedoseev:

...

没有其他选择。除非可以传递一个指向函数的指针,如果可能的话(但到目前为止,没有人建议在帮助中寻找)。该成员必须具有调用ff函数的完整能力。

这里提到了一个例子:MetaTrader 5的新版本build 1325:用对冲交易和真实点数测试>>

例子。

MQL5:为了便于组织事件模型,增加了对函数指针的支持。

要声明一个指向函数的指针,请定义 "指向函数的指针 "类型,例如。

typedef int (*TFunc)(int,int);

TFunc现在是一个类型,你可以声明一个函数指针变量。

TFunc func_ptr;

一个函数的地址可以存储在func_ptr变量中,以便以后可以调用它。

int sub(int x,int y) { return(x-y); }
int add(int x,int y) { return(x+y); }
int neg(int x)       { return(~x);  }

func_ptr=sub;
Print(func_ptr(10,5));

func_ptr=add;
Print(func_ptr(10,5));

func_ptr=neg;           // ошибка: neg не имеет тип  int (int,int)
Print(func_ptr(10));    // ошибка: должно быть два параметра

函数的指针可以被存储并作为一个参数传递。你不能得到一个指向类的非静态方法的指针。

 

例如,这是我在班上的方法。

      void Evolution(){ 
         

         for(int c=0;c<GenerationsCount;c++){
         
            f0(); // расчет значений фф для каждого индивида
            f1();         
            f2();
            f3();
            f4();
            
         }
         
         f5();
         f6();

      }

那么,我们如何才能做到这一点呢?最重要的是,在现实中永远没有必要,为什么要考虑这个问题。优化算法的冠军变成了适应功能的冠军,以通过吉奥的工作。

一个函数可以计算它被调用了多少次。如果选手做了导入,可以在运行前将数字写入文件并清零。

最好是用一个类,那么数量就可以了。这里排除了作弊行为。

 
Dmitry Fedoseev:
你甚至不应该考虑这个问题,没有理由在这上面浪费精力。

好的。没问题。然后,有两个选择,让冠军来操作算法。

1.与从算法内部调用FF(毕竟,算法不会知道FF在一个封闭的圣经里面是什么)。

2.不在算法中调用FF,只是将结果传递给算法。

我想这两个选项可以涵盖优化算法使用中所有可能的变化。我们需要满足参与者,不是每个人都有很高的编程知识(我不是专业人员,例如,我花了几个月的时间把算法锯成了universality)))) 的部分。

 

谢谢你。

不比在班上容易。我甚至想说,有了班级,就更容易了。

 
Andrey Dik:

好的。没有任何问题。然后,有两个选择,让冠军来操作算法。

1.与从算法内部调用FF(毕竟,算法不会知道FF在一个封闭的圣经内是什么)。

2.不在算法中调用FF,只是将结果传递给算法。

我想这两个选项可以涵盖优化算法使用中所有可能的变化。我们需要满足参与者,不是每个人都有很高的编程知识(我不是专业人员,例如,我花了几个月的时间把算法锯成了universality)))) 的部分。

如果你有多余的时间,我们欢迎你。只在。2、不会有需求。
 
Dmitry Fedoseev:
如果你有多余的时间,欢迎你来。只在。2、不会有需求。
嗯,这不是由我们来判断的。你有选项1,我有选项2。 谁知道其他参与者会怎么做。那么现在是什么时候呢?- 我在5分钟内写了上面的例子脚本,我们来看看既定的2个变体,我想。
 
Andrey Dik:
好吧,我们不允许评判这个问题。你有选项1,我有选项2。 谁知道其他参与者会怎么做。那么现在是什么时候呢?- 上面写的脚本的例子在5分钟内,所以我们来看看既定的2个选项,我想。
甚至不能想出任何东西来猜测,所以可以选择2?这是不自然的。
 
Dmitry Fedoseev:
我甚至想不出有什么可以让人猜测变体2会如何发生?这是不自然的。

一个简单的例子。优化算法挂在某个图表上。专家顾问 在内置测试器中通过全面搜索进行优化。因此,你可以使用你自己的优化算法,而不是常规算法。

另一个例子。专家顾问在图表中工作并进行交易。它在一段时间后将交易结果连同其参数一起保存到算法(可以在专家顾问内部或外部),并接收新的参数回来,然后继续交易(在你的情况下,我们需要运行一个历史运行,而在我的情况下,我们可以使用 "实时 "优化)。

以此类推。也就是说,在这些例子中,算法是完全独立于任务的。

我特意将这些例子应用于交易。我们是商人。