유전자 알고리즘 외환 거래


외환 거래의 유전 알고리즘.


이 튜토리얼에서는 유전 알고리즘을 활용하여 내 Forex 로봇을 최적화하는 비밀 방법을 보여 드리겠습니다.


다이빙을 바로 시작하십시오.


아래에 의견 및 질문을 남겨주세요. & # 8211; 저는 언제나 기꺼이 도와 드리겠습니다.


외환 트레이딩 아카데미로 시작하십시오.


나는 Forex Trader, Data Scientist, Entrepreneur, Online Coach입니다. 그것들은 나의 주요 직업이다. 나는 2007 년부터 Forex Trading에 뛰어 들었고, 나는 그들이 선과 악, 못생긴 것을 보았습니다. 나는 GFC에서 살아 남았고 그 길을 따라 많은 것을 배웠다. 오늘 나는 너와 내 지식과 통찰력을 나누고 싶다.


안녕 키릴 & # 8230; 당신은 모든 과정에서 멋진 교사와 멋진 내용입니다. 당신의 노력에 감사드립니다. 나는 거의 한 코스를 마쳤으며 네 코스에 등록했습니다. 이 EA를 어떻게 확보 할 수 있습니까?


안녕 빌! 큰 피드백에 감사드립니다. 불행히도이 EA는 비공개입니다. 친절 하네, 키릴.


와우 & # 8211; 수학자 * lol * & # 8211; 매우 매혹적인 일 이었지만 나는 그 일을 어떻게해야하는지에 대한 단서를 얻지 못했습니다. 나는 단순한 단순한 단순한 😉을 선호한다.


좋은 날. 나는이 지위를 더 이상 감시하는지 모르겠다. 정말로 도움을 주시면 감사하겠습니다. 나는 당신이 매우 바쁘다는 것을 알고 있지만, 올바른 방향으로 나를 가리키면 세상이 나에게 의미 될 것입니다. 나는 MQL4에서 GA를 가지고 노는 중이다. 실제로 GA를 거래에 사용하는 것은 아니지만 이것이 GA를 프로그래밍 할 수있는 유일한 언어입니다. 그러나 인구는 진화하는 것처럼 보이지 않습니다. 빨리 죽이지 않거나 빨리 죽이지 않을지는 모르겠다. 아마도 GA를 충분히 오래 실행시키지 않을 수도 있습니다. 그러나 대략 50 년 (2000-2016 년에, 계속해서 또 다시) 나는 그들이 말하기 위하여 구석에서 다만 앉고 침을 흘리는 것 이상을해야한다고 생각한다. 내 [보호되어 있습니다] 또는 원하는 경우이 게시물에 답장 할 수 있습니다. 어느 쪽이든 어떤 도움이라도 대단히 감사하겠습니다.


카테고리.


알고리즘 트레이딩 (1) 코스 : 초보자를위한 외환 거래 (6) 코스 : 초보자를위한 MQL4 코스 : 초급 전략 테스터 (11) 외환 (76) 외환 전략 (14) 외환 전략 (62) 초보자를위한 외환 거래 (67) Forex VPS (1) 기본 분석 (2) 인터뷰 (1) MQL4 (2) 기술 분석 (8) 분류되지 않은 (24)


최근 게시물.


인기 태그.


외환 트레이딩 아카데미로 시작하십시오.


Forexboat Pty Ltd (ABN : 29 609 855 414)는 호주 금융 서비스 라이센스 (AFSL no. 435746)를 보유한 HLK Group Pty Ltd (ACN : 161 284 500)의 Corporate Authorized Representatives (AR 번호 001238951)입니다. 이 웹 사이트에 포함 된 모든 정보 또는 조언은 본질 상 일반적이며 개인적 또는 투자에 대한 조언이 아닙니다. 우리는 그러한 정보의 사용 또는 의존으로 인해 직접 또는 간접적으로 발생할 수있는 이익 손실을 포함하여 어떠한 손실이나 손해에 대해서도 책임을지지 않습니다. 금융 상품을 구입하기 전에 독립적 인 재정 자문을 받아야합니다. 모든 유가 증권 및 금융 상품 또는 금융 상품 거래에는 위험이 관련됩니다. 과거 성과 결과가 반드시 미래 결과를 나타내는 것은 아님을 기억하십시오.


이 사이트의 정보는 전 세계적으로 접근 할 수 있지만 그러한 배포 또는 사용이 현지 법률 또는 규정에 위배되는 모든 국가 또는 관할 지역의 거주자를 대상으로하지 않습니다. Forexboat Pty Ltd는 National Futures Association (NFA & # 8221;) 및 Commodity Futures Trading Commission (CFTC)과 같은 미국 규제 기관에 등록되어 있지 않으므로이 웹 사이트에 제공된 제품 및 서비스는 미국 거주자를위한 것입니다.


유전자 알고리즘에 기반한 외환 거래 시스템.


Luís Mendes Pedro Godinho Joana Dias 작성자.


이 논문에서는 Forex 시장을위한 거래 시스템을 구성하는 일련의 규칙을 최적화하는 것을 목표로하는 유전자 알고리즘에 대해 설명합니다. 모집단의 각 개인은 10 개의 기술 거래 규칙 (5 개는 입장에 들어가고 나머지 5 명은 퇴장)을 나타냅니다. 이 규칙에는 총 31 개의 매개 변수가 있으며 이는 개인의 유전자에 해당합니다. 인구는 특정한 통화 쌍의 시계열에 의해 정의 된 주어진 환경에서 진화 할 것입니다. 주어진 개인의 적합성은 환경에 얼마나 잘 적응했는지를 나타내며, 해당 규칙을 시계열에 적용한 다음 이익과 최대 손실 (스털링 비율) 간의 비율을 계산하여 계산됩니다. . EUR / USD와 GBP / USD의 두 가지 통화 쌍이 사용되었습니다. 다른 데이터는 인구의 진화와 최고의 인물 테스트에 사용되었습니다. 시스템에 의해 얻어진 결과가 논의된다. 최고의 개인은 교육 시리즈에서 아주 좋은 결과를 얻을 수 있습니다. 테스트 시리즈에서 개발 된 전략은 거래 비용을 고려할 때 긍정적 인 결과를 얻는 데 어려움을 나타냅니다. 거래 비용을 무시하면 그 결과는 대부분 긍정적 인 결과를 낳습니다.


노트.


감사 인사.


익명의 심판에게 감사의 말을 전한다.


참조.


저작권 정보.


저자 및 제휴사.


Luís Mendes 1 Pedro Godinho 2 Joana Dias 3 저자 1. Coimbra Universidade de Coimbra 코임브라 포르투갈 2. Economia 및 GEMF Facildade de Coimbra Universite de Coimbra Coimbra 포르투갈 3. Economia 및 Inesc-Coimbra Universidade de Coimbra Coimbra 포르투갈.


이 기사에 관하여.


개인화 된 권장 사항.


기사를 인용하십시오.


.RIS 논문 참조 관리자 RefWorks Zotero.


.BIB BibTeX JabRef Mendeley.


기사 공유.


해당 기사에 대한 무제한 액세스 즉석 다운로드 해당되는 경우 현지 판매 세 포함.


기사를 인용하십시오.


.RIS 논문 참조 관리자 RefWorks Zotero.


.BIB BibTeX JabRef Mendeley.


기사 공유.


손끝에서 천만 가지 이상의 과학적 문서를 제공합니다.


전환 판.


&부; 2017 Springer International Publishing AG. 스프링거 자연의 일부입니다.


금융 시장을 예측하기위한 유전 알고리즘의 사용.


버튼 교수는 자신의 저서 "무작위로 걷는 월스트리트"(1973)에서 "신문의 금융 페이지에서 다트를 던지는 눈 가리개 원숭이가 전문가들에 의해 엄선 된 것뿐만 아니라 똑같이 할 수있는 포트폴리오를 선택할 수있다"고 제안했다. 진화가 사람을 주식 따기에 더 이상 지능을 갖게 만들지는 않았지만 Charles Darwin의 이론은 더 직접적으로 적용 할 때 매우 효과적입니다. (주식 선택을 돕기 위해 주식 선택 방법을 확인하십시오.)


유전 알고리즘이란 무엇입니까?


금융 시장에서 유전 알고리즘은 거래 규칙에서 매개 변수의 최적 조합 값을 찾는 데 가장 일반적으로 사용되며 주식을 선택하고 거래를 식별하도록 설계된 ANN 모델에 내장 될 수 있습니다. Rama의 "Genetic Algorithms : Genesis of Stock Evaluation"(2004), Lin, Cao, Wang의 "Stock Market Data Mining Optimization에서의 유전자 알고리즘의 응용"(2004) 등의 여러 연구에서 이러한 방법이 효과적임을 입증했다. , Zhang. ANN에 대한 자세한 내용은 신경망 : 이익 예측을 참조하십시오.


유전자 알고리즘의 작동 원리.


예를 들어, 거래 규칙에는 이동 평균 수렴 - 발산 (MACD), 지수 이동 평균 (EMA) 및 Stochastics과 같은 매개 변수 사용이 포함될 수 있습니다. 유전자 알고리즘은 순이익을 극대화한다는 목표로이 매개 변수에 값을 입력합니다. 시간이 지남에 따라 작은 변화가 도입되고 다음 세대를 위해 바람직한 영향을 미치는 변화가 유지됩니다.


다음 세 가지 유형의 유전 조작이 수행 될 수 있습니다.


크로스 오버 (crossover)는 생물학에서 볼 수있는 번식과 생물학적 교차를 나타내며, 이로 인해 아이는 부모의 특성을 나타냅니다. 돌연변이는 생물학적 돌연변이를 나타내며 임의의 작은 변화를 도입하여 인구의 한 세대에서 다음 세대로 유전 적 다양성을 유지하는 데 사용됩니다. 선택은 이후의 번식 (재조합 또는 교차)을위한 집단으로부터 개별 게놈을 선택하는 단계이다.


이 세 연산자는 다음 5 단계 프로세스에서 사용됩니다.


각 염색체가 n 길이이고, n이 매개 변수의 수인 임의의 모집단을 초기화합니다. 즉, 매개 변수의 무작위 수가 각각 n 개의 요소로 설정됩니다. 바람직한 결과 (아마 순이익)를 높이는 염색체 또는 매개 변수를 선택하십시오. 선택한 부모에게 돌연변이 또는 교차 연산자를 적용하고 자손을 생성합니다. 선택 연산자로 새 모집단을 만들기 위해 자식과 현재 모집단을 재조합합니다. 2 ~ 4 단계를 반복하십시오.


시간이 지남에 따라이 프로세스는 거래 규칙에서 사용하기에 점점 유리한 염색체 (또는 매개 변수)를 가져옵니다. 그런 다음 프로세스는 실행 시간, 적합성, 세대 수 또는 기타 기준을 포함 ​​할 수있는 중지 기준이 충족 될 때 종료됩니다. MACD에 대한 자세한 내용은 MACD Divergence 거래를 참조하십시오.


거래에서 유전 알고리즘 사용하기.


이러한 응용 프로그램을 사용할 때 거래자는 유전 알고리즘과 일련의 기록 데이터를 사용하여 최적화 된 일련의 매개 변수를 정의 할 수 있습니다. 일부 응용 프로그램은 사용되는 매개 변수와 그 값을 최적화 할 수 있지만 다른 응용 프로그램은 주어진 매개 변수 집합의 값을 간단히 최적화하는 데 주로 중점을 둡니다. (이러한 프로그램 파생 전략에 대한 자세한 내용은 The Power of Program Trades를 참조하십시오.)


중요한 최적화 요령과 요령.


매개 변수를 선택하는 것은 프로세스의 중요한 부분이며, 거래자는 주어진 보안의 가격 변화와 관련된 매개 변수를 찾아야합니다. 예를 들어, 다른 지표를 시험해보고 주요 시장 전환과 상관 관계가 있는지 확인하십시오.


스노우 크론.


무료 E. Mail 클래스.


유전 알고리즘을 사용하여 수익성있는 외환 거래 전략 수립. Cortex Neural Networks 소프트웨어의 유전자 알고리즘 Feedforward Backpropagation 신경 회로망 유전학 계산을 기반으로 한 Forex 거래 응용 프로그램입니다.


이 예제는 이전 기사의 개념과 아이디어를 사용하므로 FOREX Trading Systems의 신경망 유전자 알고리즘을 먼저 읽으십시오. 필수 사항은 아니지만 먼저이 기사를 읽으십시오.


이 원본에 관하여.


먼저 면책 조항을 읽어보십시오. 이것은 Cortex Neural Networks 소프트웨어 유전 알고리즘 기능을 사용하는 예입니다. 수익성있는 거래를 수행하는 방법의 예는 아닙니다. 나는 당신의 전문가가 아니며, 귀하의 손실에 대해 책임지지도 않습니다.


Cortex Neural Networks 소프트웨어는 신경망을 가지고 있으며, 앞서 논의한 FFBP는 외환 거래 전략을 선택하는 유일한 방법 일뿐입니다. 그것은 강력하고 적절한 적용을하면 훌륭한 기술입니다. 그러나 신경망을 가르치기 위해서는 "원하는 결과물"을 알아야합니다.


우리가 함수 근사를 할 때 수행하기가 쉽습니다. 함수의 "실제"값을 취합니다. 왜냐하면 우리는 그것이 무엇인지 알아야하기 때문입니다.


우리가 신경망 예측을 할 때, 신경망을 역사에 가르치는 기술 (이전 기사에서 설명한)을 사용합니다. 다시 말하면, 환율을 예측하면 정확한 예측이 무엇인지 (훈련 중에) 알 수 있습니다. .


그러나 우리가 거래 시스템을 구축 할 때 환율을 안다고하더라도 올바른 거래 결정이 무엇인지 알 수 없습니다! 사실상, 우리는 언제든지 사용할 수있는 많은 외환 거래 전략을 가지고 있으며, 좋은 방법을 찾아야합니다 - 어떻게? 우리는 신경망의 원하는 결과물로 무엇을 공급해야합니까?


우리가 이전 기사를 읽었다면, 우리는이 문제를 해결하기 위해 속임수를 쓰고 있다는 것을 알고 있습니다. 우리는 신경망에 환율 (또는 환율 기준 지표) 예측을 수행하도록 강의 한 다음이 예측을 거래에 사용했습니다. 그런 다음, 프로그램의 신경망 부분을 벗어나서, 우리는 어떤 신경 네트워크가 최선인지 결정했습니다.


유전자 알고리즘은이 문제를 직접 처리 할 수 ​​있으며 "최상의 거래 신호 찾기"라는 문제를 해결할 수 있습니다.


이 기사에서는 그러한 프로그램을 작성하기 위해 Cortex 신경망 소프트웨어를 사용할 것입니다.


유전 알고리즘 사용.


유전자 알고리즘은 매우 잘 개발되어 매우 다양합니다. 이 기사는 Cortex Neural Networks 소프트웨어가 수행 할 수있는 것에 관한 내용이므로 Wikipedia를 사용하는 것이 좋습니다.


Cortex Neural Networks 소프트웨어를 사용하면 표시기의 값을 입력 받아 몇 가지 출력, 즉 거래 신호 (구매, 판매, 보류)를 생성하고 위치에 대한 손실 / 이익 수준을 정지시키는 신경망을 만들 수 있습니다 열릴.


물론 우리가이 신경망의 가중치를 무작위로 분류하면 거래 결과는 끔찍합니다. 그러나 그런 NN을 12 개 만들었다 고 가정 해 봅시다. 그런 다음 각 팀의 실적을 테스트하고 최고의 팀을 선정 할 수 있습니다.


이것이 NN의 "1 세대"였습니다. 2 세대를 계속하려면 우승자가 "창작"할 수 있도록해야하지만, 동일한 사본을 얻는 것을 피하기 위해 자손의 가중치에 임의의 노이즈를 추가하십시오.


2 세대에서는 1 세대 우승자가 있으며 불완전한 사본입니다. 다시 테스트 해 봅시다. 우리는 또 다른 승자를 얻게 될 것인데, 그 세대의 다른 신경 네트워크보다 더 낫습니다.


등등. 우리는 단순히 승자가 번식하고 실재 진화와 마찬가지로 패자를 없애기 때문에 거래 시스템 (유전 알고리즘)이 어떤 것인지에 대한 사전 지식 없이도 최상의 거래 신경망을 얻을 수 있습니다.


신경망 유전자 알고리즘 : 예 0.


이것은 최초의 유전자 알고리즘 예제이고, 아주 간단한 알고리즘입니다. 우리는 예제를 통해 사용할 모든 트릭을 배우기 위해 단계별로 살펴볼 것입니다.


코드에는 인라인 코멘트가 있으므로 중요한 순간에만 집중하겠습니다.


첫째, 우리는 신경망을 만들었습니다. 그것은 무작위 무게를 사용하고 있으며, 아직 가르쳐지지 않았습니다.


그런 다음 주기적으로 MUTATION_NN fumction을 사용하여 14 개의 복사본을 만듭니다. 이 함수는 소스 뉴럴 네트워크의 복사본을 만들어 0부터 (이 경우) 0.1의 무작위 값을 모든 가중치에 더합니다.


핸들은 15 개의 NN을 배열로 유지합니다. handle은 정수형이므로 처리 할 수 ​​있습니다.


우리가 15 개의 NN을 사용하는 이유는 거래와는 아무런 관련이 없습니다. Cortex Neural Networks 소프트웨어는 최대 15 개의 라인을 동시에 차트에 표시 할 수 있습니다.


우리는 테스트에 대해 다른 접근법을 사용할 수 있습니다. 첫째, 학습 집합을 한 번에 사용할 수 있습니다. 두 번째로, 우리는 말하자면, 12000 명 (100000 명 중)의 여덟 명을 테스트 할 수 있으며 처음부터 끝까지 학습 세트를 살펴볼 수 있습니다. 그것은 learnigs를 다른 것으로 만들 것입니다, 우리가 신경 네트워크의 모든 특정 부분에 수익성이 있는지, 전체 집합에 대해서만 찾을 것입니다. 두 번째 방법은 데이터가 처음부터 끝까지 변하면 문제를 일으킬 수 있습니다. 그러면 네트워크가 진화하여 데이터 세트의 끝에서 거래 할 수있는 능력을 얻게되고 처음부터 거래 할 능력을 잃게됩니다.


이 문제를 해결하기 위해 데이터에서 12000 개의 레코드 조각을 무작위로 추출하여 신경망에 공급합니다.


아래에서는 각 네트워크에 대해 하나씩 하위 가중치를 추가합니다. 사실 돌연변이 tange에 대한 0.1이 유일한 선택은 아니며, 이 매개 변수조차 유전 알고리즘을 사용하여 최적화 할 수 있습니다.


새로 생성 된 NN은 15 개의 기존 NN 뒤에 추가됩니다. 이렇게하면 배열에 30 개의 NN이 있고 15 개의 기존 노드와 15 개의 NN이 있습니다. 그런 다음 두 번째 세대의 패자를 죽이기 위해 테스트의 다음 사이클을 수행 할 것입니다.


테스트를 수행하기 위해 데이터에 신경망을 적용하고 출력을 생성 한 다음이 출력을 사용하여 거래를 시뮬레이션하는 테스트 함수를 호출합니다. 거래 결과는 어떤 NN이 최선인지를 판단하는 데 사용됩니다.


nStart에서 nStart + nLearn까지 nLearn 레코드의 간격을 사용합니다. 여기서 nStart는 학습 집합 내의 임의의 지점입니다.


아래의 코드는 트릭입니다. 우리가 사용하는 이유는 유전 알고리즘이 유전 알고리즘을 만들 수 있다는 사실을 설명하는 것입니다. 그러나 그것은 반드시 최선의 알고리즘이 될 필요는 없으며 또한 학습에 대한 제한을 암시한다면 우리가 결과를 향상시킬 수 있다고 제안 할 것입니다 방법.


가능한 한, 우리의 거래 시스템은 긴 거래에서 아주 잘 작동하고, 짧은 거래에서는 매우 가난합니다. 말하자면, 긴 거래가 아주 좋은 경우, 이 유전 알고리즘은 짧은 거래에서 큰 손실을 입더라도 승리 할 수 ​​있습니다.


이를 방지하기 위해 우리는 홀수의 긴 거래에 더 많은 가중치를 할당하고 짝수주기의 짧은 거래에 할당합니다. 이것은 단지 예일 뿐이며 어떤 것을 개선 할 것이라는 보장은 없습니다. 아래에서 수정에 대한 논의에서 더 자세히 설명합니다. 기술적으로, 당신은 그것을 할 필요가 없거나 그것을 다르게 할 수 있습니다.


정렬 된 배열에 이익을 추가하십시오. 그것은 삽입 위치를 반환하고, 그런 다음이 위치를 사용하여 신경망 핸들을 추가하고 정렬되지 않은 배열에 이익을 학습하고 테스트합니다. 이제 우리는 이익과 동일한 배열 인덱스에서 현재 신경 네트워크에 대한 데이터를 얻었습니다.


아이디어는 수익성별로 정렬 된 NN 배열에 도달하는 것입니다. 어레이는 이익에 따라 분류되기 때문에 수익이 적은 네트워크의 1/2을 제거하려면 NN 0 ~ 14 만 제거하면됩니다.


거래 결정은 Neural Network 신호의 가치에 기반하며, 이 관점에서 프로그램은 이전 기사의 예와 동일합니다.


FOREX 무역 전략 : 예 0을 논의하십시오.


먼저 차트를 살펴 보겠습니다. 첫 번째 반복 동안 수익에 대한 첫 번째 차트는 전혀 좋지 않습니다. 신경망이 손실됩니다 (이미지 폴더에서 첫 번째 반복 후 이미지 evolution_00_gen_0.png이 복사 됨).


사이클 15에서 이익을 얻는 이미지가 더 좋으며 때로는 유전 알고리즘이 매우 빠르게 배울 수 있습니다.


그러나 채도가 수익 곡선에 표시됩니다.


커브 번호 3은 항상 같은 신경망을위한 것이 아니라, 항상 태어나고 종료된다는 점을 명심하면서 개인 이익이 어떻게 변하는지를 보는 것이 흥미 롭습니다.


또한 외환 거래 시스템이 부족한 경우 짧은 거래에서 실적이 좋지 않으며, 그 기간 동안 유로화에 비해 달러가 떨어지고 있다는 사실과 관련이있을 수도 있고 아닐 수도있는 long에서 훨씬 잘 수행됩니다. 또한 지표의 매개 변수와 관련이있을 수 있습니다 (아마도 반바지에 다른 기간이 필요합니다). 지표의 선택이 필요할 수 있습니다.


다음은 92 사이클과 248 사이클 후의 역사입니다.


놀랍게도 유전 알고리즘은 완전히 실패했습니다. 왜, 어떻게 상황을 돕는 지 알아 내려고합시다.


우선, 각 세대가 이전 세대보다 낫지 않다고 생각하지 않습니까? 대답은 아니오입니다. 적어도 우리가 사용한 모델은 아닙니다. 한 번에 전체 학습을 설정하고 NN을 가르치기 위해 반복적으로 사용하면 그렇습니다. 각 세대마다 향상 될 것입니다. 그러나 대신 우리는 무작위적인 조각 (시간에 12000 개의 레코드)을 가져 와서 사용했습니다.


두 가지 질문 : 시스템이 무작위로 설정된 학습 집합에서 실패한 이유는 무엇입니까? 왜 전체 학습 집합을 사용하지 않았습니까? 잘. 두 번째 질문에 대답하기 위해, 나는했다. NN은 학습 세트에서 크게 성과를 냈습니다. 테스트 세트에서 실패했습니다. FFPB 학습을 사용할 때와 동일한 이유로 실패합니다. 다른 말로 표현하자면, 우리의 NN은 과도하게 특화되어 왔고, 익숙하지 않은 환경에서 생존하는 법을 배웠습니다. 이것은 자연에서 많은 일이 발생합니다.


대신 우리가 취한 접근법은 NN이 데이터 집합의 임의의 조각에 대해 좋은 수행을하도록함으로써 보완하기위한 것이므로 잘 알려지지 않은 테스트 집합에서 수행 할 수 있기를 바랍니다. 대신 그들은 테스트와 학습에 실패했습니다.


사막에 사는 동물을 상상해보십시오. 태양이 많고 눈이 전혀 없습니다. 이것은 우리의 NN 데이터가 환경의 역할을하기 때문에 리징 시장을위한 메타 포어입니다. 동물들은 사막에서 사는 법을 배웠습니다.


추운 기후에 사는 동물을 상상해보십시오. 눈과 태양이 전혀 없습니다. 글쎄, 그들은 조정했다.


그러나 실험에서 우리는 NN을 사막, 눈, 물, 나무에 무작위로 배치했습니다. 데이터의 다른 조각 (무작위로 상승, 떨어지는, 평평하게.)으로 그들을 제시함으로써. 동물들이 죽었다.


또는 달리 말하자면, 우리는 상승 시장을 겨냥한 무작위 데이터 세트 1을위한 최상의 신경망을 선택했습니다. 그런 다음 우승자와 자녀에게 낙찰 시장 데이터를 제공했습니다. NN은 제대로 수행되지 못했지만, 우리는 가난한 사람들, 아마도 돌연변이 어린이 중 한 명 이었지만 상승하는 시장에서 거래 할 수있는 능력을 상실했지만 낙상에 대처할 능력이있었습니다.


그런 다음 테이블을 다시 돌렸고 다시 최고의 연기자를 얻었습니다. 우리는 NN에게 보편적 인 기회를주지 않았습니다.


유전자 알고리즘은 오래된 정보에 대한 성능을 잃지 않고 새로운 정보를 배울 수있는 기술이 있습니다 (결국 동물은 여름과 겨울에 살 수 있습니다. 그래서 진화는 반복되는 변화를 처리 할 수 ​​있습니다). 우리는 나중에이 기술에 대해 논의 할 수 있습니다. 이 기사에서는 성공적인 외환 자동 거래 시스템을 구축하는 것보다 Cortex 신경망 소프트웨어를 사용하는 방법에 대해 자세히 설명합니다.


신경망 유전자 알고리즘 : 예 1.


이제는 교정에 대해 말할 때입니다. 이전 단계에서 생성 한 간단한 유전자 알고리즘에는 두 가지 주요 결함이 있습니다. 첫째, 이익으로 거래하지 못했습니다. 그것은 괜찮습니다, 우리는 부분적으로 훈련 된 시스템을 사용할 수 있습니다 (처음에는 수익이있었습니다). 두 번째 결함은 더 심각합니다. 우리는이 시스템이하는 일에 대한 통제권이 없습니다. 예를 들어 수익성이 있다는 것을 배울 수 있지만 엄청난 손실을 감수해야합니다.


실생활에서 진화가 하나 이상의 매개 변수를 동시에 최적화 할 수 있다는 것은 잘 알려진 사실입니다. 예를 들어 우리는 빨리 달릴 수 있고 추위에 잘 견디는 동물을 얻을 수 있습니다. 왜 우리의 외환 자동 거래 시스템에서 같은 일을하려고하지?


우리가 수정을 사용하는 것은 추가 징계의 집합 일뿐입니다. 말하자면, 우리 시스템은 drawdown 0.5로 거래하고, 0-0.3 간격으로 확인하고 싶습니다. 시스템에 실수를했다고 "알리기"위해 우리는 DD의 크기에 비례하여 그 이익을 줄입니다 (어떤 유전자 알고리즘을 결정할 지 결정했습니다). 그런 다음 진화 알고리즘이 나머지를 처리합니다.


우리가 고려해야 할 몇 가지 요소가 더 있습니다. 구매 및 판매 운영의 횟수를 동일하게 유지하거나, 수익성있는 운영을 더 원하고, 실패로 이어지기를 원합니다. 선형 등등.


evolution_01.tsc에서 우리는 간단한 수정 세트를 구현합니다. 우선, 초기 보정 값으로 큰 숫자를 사용합니다. 우리가 적용하고자하는 "처벌"에 따라 작은 값 (일반적으로 0에서 1 사이의 값)을 곱합니다. 그런 다음 우리는이 이익에 이익을 곱합니다. 결과적으로, 유전자 알고리즘이 우리의 다른 기준과 얼마나 일치하는지 반영하기 위해 이익이 수정됩니다. 그런 다음 결과를 사용하여 승자 신경망을 찾습니다.


FOREX 무역 전략 : 토론 예 1.


예제 1은 예제 0보다 훨씬 잘 작동합니다. 처음 100 사이클 동안 많은 것을 배웠고 수익 차트는 안심했습니다. 그러나 예제 0에서와 같이 긴 거래는 훨씬 수익성이 높습니다. 이는 우리의 접근 방식에 문제가 있음을 의미합니다. 그럼에도 불구하고이 시스템은 상반되는 초기 조건들 사이의 균형을 발견했다.


학습 집합과보다 중요한 테스트 집합에서 긍정적 인 동력이 있습니다.


추후 학습에 관해서는 사이클 278에서 우리 시스템이 과도 해졌다는 것을 알 수 있습니다. 즉, 우리는 여전히 학습 집합에 진전이 있음을 의미합니다.


그러나 테스트 세트는 약점을 보여줍니다.


이것은 NN의 공통적 인 문제입니다 : 우리가 학습 집합에 대해 가르치면, 학습 집합에 대해 학습 할 때 배우고 때로는 학습 집합에서 성능을 잃어 버릴 때까지 너무 잘 학습합니다.


이 문제를 해결하기 위해 "전통적인"솔루션이 사용됩니다. 신경망은 계속해서 새로운 최고치에 도달 할 때마다 이전 세트를 덮어 쓰고 신경 쓰는 것이 좋습니다. 이것은 FFBP 교육에서 사용한 것과 같은 접근법입니다. 이번에는 코드를 추가하고 테스트 세트에서 최상의 신경망을 찾고 SAVE_NN을 호출하거나 뉴럴 네트워크의 가중치를 파일). 이렇게하면 훈련을 중단 할 때 최고의 테스트 수행자가 저장되고 기다리고 있습니다.


또한 최대 값이 아님을 유의하십시오. 이익은 있지만 최적의 성과이므로 테스트 세트에서 최고의 연기자를 찾을 때 수정을 고려하십시오.


FOREX 기술 분석을위한 유전 알고리즘 : 지금 어디 있습니까?


승자 신경망을 얻은 후에는 이전 기사에서 설명한 단계를 수행하여 해당 신경망의 가중치를 내 보낸 다음 Meta Trader, Trade Station 등과 같은 실시간 거래 플랫폼에서 사용할 수 있습니다.


또는 신경 회로망을 최적화하는 다른 방법에 집중할 수 있습니다. FFBP 알고리즘과 달리 학습 및 테스트 세트를 사용하여 avay를 얻고 순차 학습을 이동할 수 있습니다.

Comments

Popular posts from this blog

소득 발생기 거래 전략

옵션 거래를 통한 수익 창출

싱가포르 외환 거래자