MT4를 위한 빠르고 무료 라이브러리인 신경망 전문가의 기쁨을 위해 - 페이지 8

 
newerty >> :

말해 주세요. 그리고 고문이 한 번에 여러 상품을 거래하도록 하는 방법은 무엇입니까?

예를 들어 gold, gbpusd, nzdusd, audusd 등...

각 쌍에는 분명히 고유한 S/L이 있습니다.

클론 MT4... 클론 EA....???? 그리고 동시에 실행?

고문을 다른 차트에 올려 놓기만 하면 됩니다.

각 쌍의 StopLoss는 다릅니다.


불가능한 유일한 것은 고문이 차지하는 쌍에 다른 고문을 매달거나 수동으로 거래하는 것입니다. 매직넘버는 사용하지 않습니다. 저것들. 각 쌍에 대해 한 명 이상의 고문이 없습니다.

 

Yuriy, 거래가 많이 발생하는 설정(기간, 기간 등)의 예를 들어 주시겠습니까?

 
Solver.it >> :

유리님, 거래량이 많은 설정(기간, 기간 등)의 예를 들어 주시겠습니까?

이 주제의 6페이지에 백테스트에서 발췌한 내용이 있습니다. 모든 것이 거기에 표시됩니다.

 

만약 라인

if (IsOptimization() || IsTesting()) {


~로 교체되다

if (IsOptimization()){


그러면 단일 실행의 결과 가 더 안정적이 됩니다.

나는 또 다른 문제에 부딪쳤다. 네트워크는 데이터에 매우 빠르게 적응하고 테스터에서 눈금자처럼 그래프를 작성하지만 순방향 및 역방향 테스트는 곡선의 완전히 다른 특성을 보여줍니다.

 
Kharin >> :

만약 라인

if (IsOptimization() || IsTesting()) {


~로 교체되다

if (IsOptimization()){


그러면 단일 실행의 결과가 더 안정적이 됩니다.

나는 또 다른 문제에 부딪쳤다. 네트워크는 데이터에 매우 빠르게 적응하고 테스터에서 눈금자처럼 그래프를 작성하지만 순방향 및 역방향 테스트는 곡선의 완전히 다른 특성을 보여줍니다.

이것은 생각할 필요가 없습니다. 이 기능을 삭제하면 테스트 모드에서 적응이 비활성화됩니다. 그러나 나는 고의로 이것을 고문에게 남겼습니다. 적응된 테스트의 여러 실행에서 결과가 더 불안정할수록 네트워크가 특별히 학습한 것이 없을 확률이 더 높아집니다. 다른 시대일 뿐이고 모든 것이 완전히 다릅니다. 저것들. 불안정한 결과가 테스트 샘플에서 그리드의 의도적인 불확실성을 나타내는 경우 앞으로 언급조차 할 수 없습니다. 나는 거기에서 뉴런의 인용문조차 본 적이 없습니다.

 
물론 취향의 문제지만 나는 외부 변수에서 이 선택의 가능성을 배제할 것이다. 그러나 그것은 내가 한 일입니다 :)
 
Reshetov >> :

다시 한 번 반복합니다. 이 줄에는 정보 로드가 없습니다. ret의 부호는 변하지 않으며 ret의 양수 또는 음수 값에 따라 거래가 종료됩니다.

표지판에 관한 모든 것이 분명합니다. 듀스가 없으면 이 함수가 그리드 위원회의 평균 응답 값의 의미 있는 값을 반환하지만 듀스가 있는 것도 분명합니다. 훈련 후 일반 그리드 실행에서 동일한 함수가 호출되고 거래를 생성하지 않고 작은 ret 값(양수 및 음수 모두)을 버리는 것이 더 낫다는 점을 고려하면 이 줄은 여전히 중요한 정보를 전달합니다.

왜 부정적인 예에 대해서만 그리드를 훈련하는지 아직 대답하지 못하셨습니까?

 
Kharin >> :

나는 또 다른 문제에 부딪쳤다. 네트워크는 데이터에 매우 빠르게 적응하고 테스터에서 눈금자처럼 그래프를 작성하지만 순방향 및 역방향 테스트는 곡선의 완전히 다른 특성을 보여줍니다.

예, 현재 형태에서는 고문이 교육의 질을 평가하지 않습니다. 데이터 수집 논리를 변경하면 f2M_test(훈련 데이터가 아닌 검증 데이터 포함) 및 f2M_get_MSE와 같은 몇 가지 호출을 삽입하여 오류가 커지기 시작하면 훈련을 중지할 수 있습니다.

 

유리, 나는 주제에서 벗어난 질문을 하고 싶습니다. SL에 대해 별도의 그리드를 구성할 수 있습니까?

패턴 그리드가 더 안정적으로 학습하는 데 도움이 될까요?

 

Yuri, 코드의 부정확성에 대한 또 다른 찬가를 파헤친 것 같습니다... 이상한 학습 결과에 대해 코드를 샅샅이 뒤지다가 이것을 발견했습니다.

double ann_pnn() {
...
    ret = 2 * ret / AnnsNumber;

필요:

ret = ret / AnnsNumber;

사실은 Expert Advisor의 라이브러리 작성자가 저에게 알려지지 않은 이유로 해당 주기에 따라 짧고 긴 위치의 그리드를 각각 짝수와 홀수로 분할했다는 것입니다.

for (i = 0; i < AnnsNumber; i += 2) - для четных С ПРИРАЩЕНИЕМ "2" !!!
for (i = 1; i < AnnsNumber; i += 2) - для нечетных

따라서 분모의 2입니다. 우리의 경우에는 필요하지 않습니다. 이것이 훈련의 결과에 큰 영향을 미치지 않을 것이 분명하지만 ...

나에게 일반적으로 이 주기의 의미(ann_pnn 및 run_anns 기능)는 완전히 벗어납니다.

for (i = 0; i < AnnsNumber; i++) {    ret += AnnOutputs[i];    }

하나의 출력 뉴런이 있는 그리드가 있는데 왜 16개의 출력이 있습니까?!... 아니면 16개의 그리드로 구성된 위원회인가요? 내가 실제로 무엇에 기대고 있습니까 ... 그렇다면 질문은 : 무엇을 위해? 지금까지 나는 이 작품을 그대로 두고 그 의미를 마침내 알아낼 때까지 ... 혹시 누군가가 이에 대해 생각하고 있을까? 공유해주세요...