최적화 알고리즘 챔피언십. - 페이지 50 1...434445464748495051525354555657...132 새 코멘트 Andrey Dik 2016.06.21 14:49 #491 Andrey Dik : 오늘은 사례를 보여드릴 시간이 있는 것 같습니다. 우리 모두는 질문에 대해 더 많이 알고 있는 사람들의 관점에서 어리석은 질문을 합니다. 괜찮아요.) 테스트 케이스를 테스트하고 동어반복을 용서하십시오.) Andrey Dik 2016.06.21 17:13 #492 매우 간단한 FF, 2개의 매개변수의 예. 이 간단한 기능에서 이미 알고리즘을 테스트할 수 있습니다. #property library #property strict int countRuns = 0 ; //+------------------------------------------------------------------+ int GetParamCountFF () export { return ( 2 ); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ double FF ( double &array []) export { countRuns++; int sizeArray = ArraySize (array); if (sizeArray != 2 ) return (- DBL_MAX ); return (-( pow ( 2.4 + array [ 0 ], 2.0 ) + pow (array [ 1 ] - 2.3 , 2.0 ))+ 3.1415926 ); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ int GetCountRunsFF () export { return (countRuns); } //+------------------------------------------------------------------+ 얻을 수 있는 최대값: 3.1415926 더 이상 1000개 출시에 집중하세요. 챔피언십에는 500개의 매개변수가 있는 FF가 있으며 1000개 이하의 시작이 가능합니다. FF는 0.1 단계로 -10.0에서 10.0 범위의 매개변수를 허용합니다. 이 범위를 초과하면 매개변수가 이러한 제한으로 잘립니다. 위의 예에서 잘라냄). 남. 회원님들께서는 이 점 유의하시기 바랍니다. Andrey Dik 2016.06.21 17:33 #493 알고리즘의 첫 번째 버전에 대한 테스트 스크립트: #property script_show_inputs #property strict //+------------------------------------------------------------------+ // алгоритм оптимизации участника #import "\\Projects\\OAC\\lib\\ao_v1.ex5" // инициализация АО void InitAO ( int paramCount, int maxFFruns); // функции алгоритма перед началом оптимизации void ServiceFunc1 (); // функции алгоритма на каждой "эпохе" (итерации) вначале void ServiceFunc2 (); // функции алгоритма на каждой "эпохе" (итерации) вконце void ServiceFunc3 (); // запрос количества пакетной обрабобки (аналог колонии ГА) int GetReplaysCount (); // получение параметров void GetOptParam ( double ¶m []); // отправить в алгоритм значение ФФ соответствующее параметрам void SendFFvolue ( double volue); // этой функцией алгоритм по может остановить оптимизацию bool StopAlgo (); // получить максимальное значение ФФ double GetMaxFF (); #import //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ // тестовая фитнес функция чемпионата, не известна участникам #import "\\Projects\\OAC\\lib\\ff.ex5" // запросить количество параметров ФФ int GetParamCountFF (); // запуск ФФ, получеие значения соответствующее параметроам ФФ double FF ( double &array []); // произведённое количество запусков ФФ int GetCountRunsFF (); #import //+------------------------------------------------------------------+ //--- input parameters input int MaxFFruns_P = 1000 ; //+------------------------------------------------------------------+ void OnStart () { // узнаем, сколько параметров нужно оптимизировать int paramCount = GetParamCountFF (); bool stopAlgo = false ; int ffRuns = 0 ; double param []; ArrayResize (param, paramCount); ulong startTime = GetMicrosecondCount (); //------------------------------------------------------------------ InitAO (paramCount, MaxFFruns_P); ServiceFunc1 (); while (!stopAlgo) { if (StopAlgo ()) break ; ServiceFunc2 (); for ( int i = 0 ; i < GetReplaysCount (); i++) { GetOptParam (param); SendFFvolue (FF (param)); ffRuns++; if (ffRuns == MaxFFruns_P) { stopAlgo = true ; break ; } } ServiceFunc3 (); if (StopAlgo () || stopAlgo) break ; } //------------------------------------------------------------------- startTime = GetMicrosecondCount () - startTime; Print ( "Макс: " + DoubleToString (GetMaxFF (), 8 )); Print ( "Запусков ФФ: " + ( string )GetCountRunsFF ()); Print ( "Время: " + ( string )startTime + " мкс; " + DoubleToString (( double )startTime/ 1000000.0 , 8 ) + " c" ); Print ( "---------------------------------" ); } //+------------------------------------------------------------------+ Andrey Dik 2016.06.21 17:38 #494 테스트 스크립트는 이제 다음 숫자를 제공합니다. 2016.06.21 22:36:15.214 OAC 변형 1(GBPUSD,H1) ---------------------------------- 2016.06.21 22:36:15.214 OAC 변형 1(GBPUSD,H1) 시간: 1119 µs; 0.00111900초 2016.06.21 22:36:15.214 OAC 변형 1(GBPUSD,H1) FF 시작: 1000 2016.06.21 22:36:15.213 OAC 변형 1(GBPUSD,H1) 최대: 3.14159260 나는 결론을 내립니다. 불평할 것은 없지만 모든 것이 올바르게 작동합니다. Algorithm Optimisation Championship. Weekly performance 엘리엇 파동 이론에 기반한 Avals 2016.06.21 17:47 #495 최적화는 특정 필터(구현하는 아이디어)를 연구하기 위한 도구이지 전역 극한값을 찾는 것이 아니라는 사실에서 출발해야 합니다. 그렇지 않으면 일반 투자회사의 박사와 자원에 비하면 후배에 불과한 분야에서 싸우고 있는 것입니다. 아무도 소프트웨어 자위를 취소하지 않았지만)) Dmitry Fedoseev 2016.06.21 17:55 #496 ОПТИМИЗАЦИЯ ( optimization ) Выбор из всех возможных вариантов использования ресурсов тех , 최고의 결과 를 제공 합니다. 종종 목적 함수 최대화 의 관점 에서 설명 됩니다 . Andrey Dik 2016.06.21 18:00 #497 Avals : 최적화는 특정 필터(구현하는 아이디어)를 연구하기 위한 도구이지 전역 극한값을 찾는 것이 아니라는 사실에서 출발해야 합니다. 그렇지 않으면 일반 투자회사의 박사와 자원에 비하면 후배에 불과한 분야에서 싸우고 있는 것입니다. 아무도 소프트웨어 자위를 취소하지 않았지만)) 그것이 바로 악기입니다. 스레드 앞부분에서 최적화 알고리즘이 어떻게 사용될 수 있는지 방정식의 근을 찾는 예제로 설명했습니다. 필터, 지표, 신경망 및 일반적인 모든 것에 사용할 수도 있습니다. 누군가는 자위하고 누군가는 일하고 누군가는 일하면서 자위합니다. 각자에게. 우리는 자유로운 나라입니다. Andrey Dik 2016.06.21 20:47 #498 알고리즘의 두 번째 버전에 대한 테스트 스크립트 : #property script_show_inputs #property strict //+------------------------------------------------------------------+ // алгоритм оптимизации участника #import "\\Projects\\OAC\\lib\\ao_v2.ex5" // инициализация АО void InitAO ( int paramCount, int maxFFruns); void StartAlgo (); // получить максимальное значение ФФ double GetMaxFF (); #import //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ // тестовая фитнес функция чемпионата, не известна участникам #import "\\Projects\\OAC\\lib\\ff.ex5" // запросить количество параметров ФФ int GetParamCountFF (); // запуск ФФ, получеие значения соответствующее параметроам ФФ double FF ( double &array []); // произведённое количество запусков ФФ int GetCountRunsFF (); #import //+------------------------------------------------------------------+ //--- input parameters input int MaxFFruns_P = 1000 ; //+------------------------------------------------------------------+ void OnStart () { // узнаем, сколько параметров нужно оптимизировать int paramCount = GetParamCountFF (); ulong startTime = GetMicrosecondCount (); //------------------------------------------------------------------ InitAO (paramCount, MaxFFruns_P); StartAlgo (); //------------------------------------------------------------------ startTime = GetMicrosecondCount () - startTime; Print ( "Макс: " + DoubleToString (GetMaxFF (), 8 )); Print ( "Запусков ФФ: " + ( string )GetCountRunsFF ()); Print ( "Время: " + ( string )startTime + " мкс; " + DoubleToString (( double )startTime / 1000000.0 , 8 ) + " c" ); Print ( "---------------------------------" ); } //+------------------------------------------------------------------+ Andrey Dik 2016.06.21 20:50 #499 내 알고리즘을 확인하고 두 번째 실행 옵션에 대해 - 결과는 첫 번째와 유사합니다. 즉, 나는 개인적으로 알고리즘 내부 또는 외부에서 FF를 호출하는 방법에 신경 쓰지 않습니다. 동일한 방식으로 작동합니다. 참고: 지금과 같은 상태의 참가자를 위해 챔피언십에서 사용되는 것은 이 두 가지 테스트 스크립트입니다. 최적화된 파라미터를 파일로 저장하는 기능만 추가될 예정이며, 컨트롤을 위해 챔피언십 전에 반영될 사소한 변경 사항이 있을 수 있습니다. Andrey Dik 2016.06.21 20:54 #500 이제 동일한 기본 및 사랑받는 RNG에서 두 가지 유형의 FF 호출에 대한 실제 알고리즘의 예를 추가하겠습니다. 특히 초보자 분들에게 많은 사랑 부탁드립니다. 그것들은 이해하기 쉽고, 기본적으로 간단하고 동시에 작동하는 최적화 알고리즘을 구축하는 방법의 예입니다. 1...434445464748495051525354555657...132 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
오늘은 사례를 보여드릴 시간이 있는 것 같습니다.
우리 모두는 질문에 대해 더 많이 알고 있는 사람들의 관점에서 어리석은 질문을 합니다. 괜찮아요.)
테스트 케이스를 테스트하고 동어반복을 용서하십시오.)
매우 간단한 FF, 2개의 매개변수의 예.
이 간단한 기능에서 이미 알고리즘을 테스트할 수 있습니다.
얻을 수 있는 최대값: 3.1415926
더 이상 1000개 출시에 집중하세요.
챔피언십에는 500개의 매개변수가 있는 FF가 있으며 1000개 이하의 시작이 가능합니다. FF는 0.1 단계로 -10.0에서 10.0 범위의 매개변수를 허용합니다. 이 범위를 초과하면 매개변수가 이러한 제한으로 잘립니다. 위의 예에서 잘라냄). 남. 회원님들께서는 이 점 유의하시기 바랍니다.
알고리즘의 첫 번째 버전에 대한 테스트 스크립트:
테스트 스크립트는 이제 다음 숫자를 제공합니다.
2016.06.21 22:36:15.214 OAC 변형 1(GBPUSD,H1) ----------------------------------
2016.06.21 22:36:15.214 OAC 변형 1(GBPUSD,H1) 시간: 1119 µs; 0.00111900초
2016.06.21 22:36:15.214 OAC 변형 1(GBPUSD,H1) FF 시작: 1000
2016.06.21 22:36:15.213 OAC 변형 1(GBPUSD,H1) 최대: 3.14159260
나는 결론을 내립니다. 불평할 것은 없지만 모든 것이 올바르게 작동합니다.
최적화는 특정 필터(구현하는 아이디어)를 연구하기 위한 도구이지 전역 극한값을 찾는 것이 아니라는 사실에서 출발해야 합니다. 그렇지 않으면 일반 투자회사의 박사와 자원에 비하면 후배에 불과한 분야에서 싸우고 있는 것입니다. 아무도 소프트웨어 자위를 취소하지 않았지만))
ОПТИМИЗАЦИЯ ( optimization ) Выбор из всех возможных вариантов использования ресурсов тех ,
최고의 결과 를 제공 합니다. 종종 목적 함수 최대화 의 관점 에서 설명 됩니다 .
최적화는 특정 필터(구현하는 아이디어)를 연구하기 위한 도구이지 전역 극한값을 찾는 것이 아니라는 사실에서 출발해야 합니다. 그렇지 않으면 일반 투자회사의 박사와 자원에 비하면 후배에 불과한 분야에서 싸우고 있는 것입니다. 아무도 소프트웨어 자위를 취소하지 않았지만))
그것이 바로 악기입니다. 스레드 앞부분에서 최적화 알고리즘이 어떻게 사용될 수 있는지 방정식의 근을 찾는 예제로 설명했습니다. 필터, 지표, 신경망 및 일반적인 모든 것에 사용할 수도 있습니다.
누군가는 자위하고 누군가는 일하고 누군가는 일하면서 자위합니다. 각자에게. 우리는 자유로운 나라입니다.
알고리즘의 두 번째 버전에 대한 테스트 스크립트 :
내 알고리즘을 확인하고 두 번째 실행 옵션에 대해 - 결과는 첫 번째와 유사합니다. 즉, 나는 개인적으로 알고리즘 내부 또는 외부에서 FF를 호출하는 방법에 신경 쓰지 않습니다. 동일한 방식으로 작동합니다.
참고: 지금과 같은 상태의 참가자를 위해 챔피언십에서 사용되는 것은 이 두 가지 테스트 스크립트입니다. 최적화된 파라미터를 파일로 저장하는 기능만 추가될 예정이며, 컨트롤을 위해 챔피언십 전에 반영될 사소한 변경 사항이 있을 수 있습니다.