#property library#property copyright"Copyright 2016, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"#property strictclass CFF{
public:
virtualdouble fun(double & x[]){return(0);}
virtualstring type(){return("");}
virtualdouble value(){return(0);}
virtualstring note(){return("");}
};
здесь участник пишет свои классы, если надоvoid function(CFF * aff,int n,double & params[],double & value) export{
Здесь участник пишет свой код и вызывает функцию так - aff.value(x); // x - это массив double//по окончанию поиска вернуть params (параметры соответствующие лучшему результату), value (лучший результат)
}
здесь участник создает свои вспомогательные функции
一个简单的例子。优化算法挂在某个图表上。专家顾问 在内置测试器中通过全面搜索进行优化。因此,你可以使用你自己的优化算法,而不是常规算法。
另一个例子。专家顾问在图表中工作并进行交易。它在一段时间后将交易结果连同其参数一起保存到算法(可以在专家顾问内部或外部),并接收新的参数回来,然后继续交易(在你的情况下,我们需要运行一个历史运行,而在我的情况下,我们可以使用 "实时 "优化)。
以此类推。也就是说,在这些例子中,算法是完全独立于任务的。
我特意将这些例子应用于交易。我们是商人。
一些不寻常的事情。
专家顾问已经在测试器中进行了优化,那么这与你自己的优化算法有什么关系?
第二种情况更清楚一些。是的,如果你提供单一的独立调用,你可以一个一个地调用。而且你可以通过一个单独的过程一次完成。我明白了,但这是算法的复杂化,我们正在偏离锦标赛的目的。锦标赛的目的是优化算法,而不是其应用。有很多人不了解它,现在它变得更加复杂。
在一般情况下,像这样,当然也会有一个记时的计数器。 纲要。
1.一些不寻常的事情。专家顾问的优化已经在测试器中运行了,它与自己的优化算法有什么关系?
2.第二种情况更清楚一些。是的,如果你提供单一的独立电话,你可以一个一个地打电话给他们。而且你可以通过一个单独的过程一次完成。我明白了,但这是算法的复杂化,偏离了锦标赛的目的。锦标赛的目的是优化算法,而不是其应用。有很多人没有理解它,现在它变得越来越复杂。
1.没有什么出格的事情,这只是一个真实的生活情况。一个内部测试员进行一次又一次的运行(一个参数--计数器被接管),我们控制所有参数的优化,而且数量不限。
2.我们决定使用2种变体与FF合作。所以一切都很好,没有问题,谁想要,谁就会使用优化。
参与者可以自由选择使用哪一个测试脚本,是第一个还是第二个。
在这段代码中,它不是一次性调用,而是将算法的主要部分移到外面,将部分算法强加给参与者。根据初始条件,参与者有权利隐藏整个算法。
那里的强迫性在哪里呢?问算法多少次,算什么,参与者的算法决定这种事情。算法在架构上可以与同一种GA有很大不同,这个例子允许在任何工作原理上使用一个算法。
我在那里展示了服务功能--如果参与者不需要,它们可以是空的。
那里的强迫性在哪里呢?问算法多少次,算什么,参与者的算法决定这种事情。算法在架构上可以与同一种GA有很大不同,这个例子允许在任何工作原理上使用一个算法。
我在那里展示了服务功能--如果参与者不需要,它们可能是空的。
同时,在参与人函数中传递允许的FF调用次数,这样我们就可以分配历时数和个体数。
例如,该算法被告知,你最多可以有100次FF调用...啊哈!--他(算法)想,我要欺骗大家,叫出50个音符的音乐,我只叫50次FF。:)
不,让他按自己的需要去数。而我们将决定何时停止它。毕竟,FF电话的数量将被评估为工作质量的一个指标。
例如,该算法被告知,你最多可以有100次FF调用...啊哈!--他(算法)想,我要欺骗大家,叫出50个音符的音乐,我只叫50次FF。:)
不,让他按自己的需要去数。而我们将决定何时停止它。毕竟,FF被调用的次数将被判断为衡量业绩的标准。
狡猾地称其为少时,有什么意义呢?你可以少做,你不能多做。问题是什么?
FF函数对呼叫进行计数。如果超过了允许的范围,则取消资格。
这大致是一个会员库的模板。
这么狡猾的人,少打几次电话有什么用?你可以少做,你不能多做。有什么问题呢?
ff函数对调用进行计数。如果允许更多,则取消资格。
更少的f跑是更好的,这就是问题所在。这可能有点棘手。
不需要限制算法,让它算。要么它自己决定停止,要么被强行制止。该算法不需要知道多少次运行是上限--没有人会知道上限。不会有取消资格的情况发生。该算法将按照它的能力来解决这个问题。
唯一不合格的是试图保存结果并在随后的检查脚本运行中使用它们。