파일에서 Expert Advisor 자동 초기화 및 재초기화 - 페이지 6

 
Romal001 :
안녕히 주무세요. 로봇이 몇 년 동안 수익성이 없는 거래를 해서는 안 되는지 테스트하는 품질을 알려주세요???????? 답변을 해주실 수 있다면 개인적으로 작성해주시면 감사하겠습니다!
출처에 관계없이 과거 데이터의 품질이 낮기 때문에 몇 년이라도 지표가 아닙니다. Expert Advisor는 특정 브로커에 대해 최적화되고 테스트되어야 하지만 "특정" 브로커에는 그 역사에 많은 "구멍"이 있다는 것을 잊지 마십시오. 따라서 테스트는 Expert Advisor가 작동하는 기간에 따라 다릅니다. M1-M5의 경우 6-12개월이면 충분합니다. М15 이상이면 12개월 동안의 과거 데이터의 정확성을 테스트하고 희망해야 합니다. 그리고 Ducascopy 및 그들과 같은 다른 사람들은 여기에 저장하지 않을 것입니다.
 
Vasiliy Sokolov :
당신은 당신의 신화적인 경험으로 여기에서 밀어붙이는 것이 아닙니다. 여기에서 많은 사람들이 실제 거래 경험을 가지고 있습니다. MetaTrader 5 사용을 포함하여 FORTS에서. FORTS에 존재한다고 주장되는 대부분의 문제는 실제로 귀하의 머리에만 있습니다(글쎄, 귀하로부터 충분한 조언을 듣고 포럼의 벽에 글을 쓸 "학생" "OnTradeTransaction이 보장되지 않는 이유는 무엇입니까!?" 스타일)

마이클의 경험에 대해.

1년 이상 전에 우리는 그와 서비스를 교환했습니다. 나는 그에게 호의를 베풀었고 그 대가로 그는 나에게 MT5 FORTS의 고문을 썼습니다. 한 해 동안 증권 거래소의 폭락과 정전 및 단절도 있었지만 그가 쓴 로봇은 한 번도 실수하지 않았습니다.

돈에 대한 유일한 타격은 거래 열거를 위해 Exchange 서버가 떨어졌을 때였습니다. 그러나 이것은 개발자가 여전히 정상적인 거래 서버 반환 코드 를 만들지 않았기 때문입니다.

우리는 그와 이 문제에 대해 논의했으며 무역 서버가 때때로 정상 작동에서 이 반환 코드(코드 10013)를 반환하기 때문에 잘못된 요청의 반환 코드에서 EA를 차단하고 싶지 않았습니다.

이것이 그의 머리 속에만 있는 터무니없는 문제라고 생각한다면 어떻게 대처해야 하는지 조언을 구합니다.

 
kond777 :

마이클의 경험에 대해.

1년 이상 전에 우리는 그와 서비스를 교환했습니다. 나는 그에게 호의를 베풀었고 그 대가로 그는 나에게 MT5 FORTS의 고문을 썼습니다. 한 해 동안 증권 거래소의 폭락과 정전 및 단절도 있었지만 그가 쓴 로봇은 한 번도 실수하지 않았습니다.

돈에 대한 유일한 타격은 거래 열거를 위해 Exchange 서버가 떨어졌을 때였습니다. 그러나 이것은 개발자가 여전히 정상적인 거래 서버 반환 코드 를 만들지 않았기 때문입니다.

우리는 그와 이 문제에 대해 논의했으며 무역 서버가 때때로 정상 작동에서 이 반환 코드(코드 10013)를 반환하기 때문에 잘못된 요청의 반환 코드에서 EA를 차단하고 싶지 않았습니다.

이것이 그의 머리 속에만 있는 터무니없는 문제라고 생각한다면 어떻게 대처해야 하는지 조언을 구합니다.

Mikhail의 경험에 대해 다른 이야기를 하는 이유는 무엇입니까? 인터넷에서 그의 고문이 어리석게 주문을 삭제한 다음 모든 것이 다시 시작되는 등 모든 출시가 시작될 때마다 이미 말했습니다. 글쎄, 무슨 이야기 할 것이 있니?

그리고 조언할 것이 없습니다. 왜냐하면 그의 머리나 그의 수비수들의 머리 속에서 넌센스의 전체 양을 알 수 없기 때문입니다. 여기에 "리턴 코드로 조언자를 차단하기 위해"라고 썼습니다. 왜 아예 차단하지? 올바른 일을 해야 합니다. 거기에는 프로그래밍 어드바이저에 대한 자신만의 특별한 원칙이 있으므로(아무도 코드를 본 적이 없고 볼 가능성도 낮음) 자신의 특수한 상황에서 벗어날 방법을 스스로 생각하십시오.

 
Romal001 :
안녕히 주무세요. 로봇이 몇 년 동안 수익성이 없는 거래를 해서는 안 되는지 테스트하는 품질을 알려주세요???????? 답변을 해주실 수 있다면 개인적으로 작성해주시면 감사하겠습니다!
수 있습니다. 이익이 없으면 비현실적이고 의심스럽습니다.
 
Dmitry Fedoseev :

Mikhail의 경험에 대해 다른 이야기를 하는 이유는 무엇입니까? 인터넷에서 그의 고문이 어리석게 주문을 삭제한 다음 모든 것이 다시 시작되는 등 모든 출시가 시작될 때마다 이미 말했습니다. 글쎄, 무슨 이야기 할 것이 있니?

그리고 조언할 것이 없습니다. 왜냐하면 그의 머리나 그의 수비수들의 머리 속에서 넌센스의 전체 양을 알 수 없기 때문입니다. 여기에 "리턴 코드로 조언자를 차단하기 위해"라고 썼습니다. 왜 아예 차단하지? 올바른 일을 해야 합니다. 거기에는 프로그래밍 어드바이저에 대한 자신만의 특별한 원칙이 있으므로(아무도 코드를 본 적이 없고 볼 가능성도 낮음) 자신의 특수한 상황에서 벗어날 방법을 스스로 생각하십시오.

 
네. 성인용 컬러 사진은 매우 강력한 주장입니다.
 
Dmitry Fedoseev :

Mikhail의 경험에 대해 다른 이야기를 하는 이유는 무엇입니까? 인터넷에서 그의 고문이 어리석게 주문을 삭제한 다음 모든 것이 다시 시작되는 등 모든 출시가 시작될 때마다 이미 말했습니다. 글쎄, 무슨 이야기 할 것이 있니?

그리고 조언할 것이 없습니다. 왜냐하면 그의 머리나 그의 수비수들의 머리 속에서 넌센스의 전체 양을 알 수 없기 때문입니다. 여기에 "리턴 코드로 조언자를 차단하기 위해"라고 썼습니다. 왜 아예 차단하지? 올바른 일을 해야 합니다. 거기에는 프로그래밍 어드바이저에 대한 자신만의 특별한 원칙이 있으므로(아무도 코드를 본 적이 없고 볼 가능성도 낮음) 자신의 특수한 상황에서 벗어날 방법을 스스로 생각하십시오.

나는 누구를 변호하는 것이 아니라 내가 마음대로 할 수 있는 사실을 진술했을 뿐입니다.

반환 코드로 오류로 돌아갑니다. Mikhail은 이것이 개발자 측의 결함이라는 사실을 언급하면서 세 번의 잘못된 요청 후에 고문의 작업을 중단할 것을 제안합니다.

https://www.mql5.com/ru/forum/58012/page2#comment_2017705

저도 님처럼 어드바이저의 일꾼이 멈춰서는 안 된다고 생각하는데, 위 링크에서 지적한 문제는 어떻게 풀 수 있다고 생각하시나요?

ФОРТС: OnTradeTransaction() коды возврата
ФОРТС: OnTradeTransaction() коды возврата
  • www.mql5.com
Сейчас, коды возврата торгового сервера функции OnTradeTransaction() выглядят так:. - Страница 2 - Категория: автоматические торговые системы
 

분명히 다음과 같은 경우:

Когда "подглючивает" сервер МТ5 или сбой на бирже, то происходит следующее:

EA는 기존 주문을 삭제 하라는 명령을 보내고 이에 대한 응답이 옵니다.

"잘못된 요청" !!!! 그리고 전문가는 삭제 명령으로 서버를 계속 "비우기"합니다.

명령.

계속 망치질을 해야 합니다. 그러나 적어도 확실히 전문가를 차단하지 마십시오. 망치질하는 것이 덜 뻔뻔할 수 있습니다. 오류 수가 증가하면 시도 사이의 일시 중지가 증가합니다. 가장 간단한 해결책은 몇 번의 시도와 다음 막대가 열릴 때까지 일시 중지하는 것입니다.

 
Dmitry Fedoseev :

여기에 이미 썼습니다. 다시 계산하기 위해 모두 새로 작성했습니다. 저것들. 명령으로 상황을 분석합니다. 일부 데이터를 파일이나 다른 것( 전역 변수 에 저장)에 저장하는 것은 중요하지 않습니다. 일부 데이터가 필요한 경우 주문 티켓과 관련하여 저장하는 것이 기본입니다. 이 경우 오래된 데이터의 문제가 없고 주문이 있으면 데이터가 있고 주문이 없으면 데이터가 없습니다 . 특정 순서에 얽매이지 않은 데이터가 있을 수 있지만 여기서는 각각의 특정 경우에 대해 생각해야 하며 일반적으로 작업이 해결됩니다.

청산은 정말 가장 혼란스러운 문제입니다. 그러나 이것은 장기 데이터 저장(또는 노후화)의 문제가 아닙니다. Expert Advisor에서 간단한 변수에 데이터를 저장할 수도 있습니다(약간 위험하지만 단 5분). 여기서 어려움은 나중에 알아내는 방법입니다. 각 주문에 대한 글로벌 터미널 변수 그룹을 생성할 수 있으며, 여기에 시가를 저장할 수도 있습니다. 그런 다음 표시되지 않은 주문이 나타날 때(또는 새 날이 시작될 때) 기록에서 마지막으로 마감된 주문을 보고 가능한 기호(예: lot)에 따라 비교하고 모두 전송합니다. 닫힌 주문에서 새 주문으로 전역 변수.

고맙습니다. 주요 아이디어는 명확합니다. 모든 상황에 대한 간단하고 보편적인 솔루션이 있다고 생각했습니다.
 
Andrey Khatimlianskii :

나는 이전 연사들(거의 모두)에 동의합니다.

  1. 가능한 모든 것을 시장 환경에서 복원합니다.
  2. 우리는 무언가를 참조하여 다른 모든 것을 저장합니다( 주문 티켓 , 하루의 시작 시간 등).
저장된 각 변수에 대해 다른 "만료 날짜"를 정의하고(모든 사람에게 동일할 수는 없음) 만료되지 않은 경우에만 업로드하십시오.

응용 프로그램 수가 있는 귀하의 예에서: 마지막 날의 시작 시간인 변수를 하나 더 추가하는 것으로 충분합니다. 요일이 변경되었습니다. 카운터가 재설정되고 새 날짜가 기록되었습니다.

포지션 재개의 예: 이 정보를 사용할 수 없게 만들 수 있는 이벤트를 결정해야 합니다. 예를 들어 Mikhail이 조언한 대로 - 위치가 없으면 모든 것을 잊어버리고 있는 경우 관련 정보를 고려하십시오.

일반적으로 일반적인 조리법이 아니라 세부 사항이 필요합니다.

분명한.

세부 사항: 내일 FORTS에서 "즉석에서" 위치를 잡는 방법에 대해 생각할 것입니다. 사실 저는 무엇보다 청산을 통과한(청산가격으로 재오픈한) 포지션의 실제 시가를 알아야 합니다.

FORTS의 위치는 하나(또는 여러 주문)에 대한 거래 금액으로 획득됩니다. 티켓 없이 청산하는 기술 거래가 있습니다. 청산 전의 POSITION_PRICE_OPEN 가격을 결정하는 방법을 파악해야 합니다.