여기요! 얘들아, 도와줘! 기능이 생각이 안나네요. EA는 하루에 하나의 포지션(00:00에서 23:59 사이), 즉 1일 1주문을 엽니다. 작업은 --> 일련의 연속 손실을 찾아 로그에 출력하는 것입니다(Print() 명령을 통해 한 번 표시). 계열의 요소 수는 키보드에서 입력합니다(예를 들어, 키보드에서 값 5를 입력하고 계열이 4개의 무익한 날로 구성되어 있으면 무시합니다. --> 5일 이상 나타날 때까지 기다립니다. ). 수익이 나지 않는 날이 연속적으로 발생하거나 같은 날 주문이 마감되면 시리즈로 간주됩니다(하루에 한 번 열리며 이미 시장에 판매 중인 날은 하루 이상 "중단"될 수 있음). 로그는 (예를 들어) "최근 시리즈 패배: 01.05, 02.05, 03.05, 04.05, 05.05"를 표시해야 합니다. 중요한 조건: 키보드(extern)에서 입력한 값보다 크거나 같은 계열을 인식하고 그에 따라 로그에 출력합니다. // // 제 개인적인 생각은 이렇습니다. 1. Fiya는 Losing Orders 배열을 마감 값으로 채웁니다( Mass[i] = OrderCloseTime();). 즉, 어레이는 수익성이 없는 주문을 마감한 날짜와 시간만 저장합니다. 2. 위치 i와 위치 i-1(인접한 2개)의 요소를 비교하기 시작합니다. 2.1 셀 데이터를 날짜의 숫자로 변환하여 비교합니다( TimeDayOfYear(Mass[i]) 및 TimeDayOfYear(Mass[i-1]) 2.2, 이러한 비교를 통해 무익한 날이 연이어 가는지 알 수 있습니다(첫 번째 무익한 날 = 178, 이전 날 = 176이라고 가정합시다. --> 날이 연속으로 가지 않기 때문에 시리즈가 없습니다. , 각각 첫 번째 = 178이고 두 번째 177 --> 시리즈인 경우) 2.3 for 루프를 통해 배열의 모든 셀을 살펴보고 인접한 셀을 비교합니다. 이웃에 일련의 손실이 있는 경우 배열 요소 --> 1까지 운전을 시작합니다. 필요한 최소값에 도달합니다. 시리즈로 계산할 수익성 없는 일 수. 2. (항목 1이 충족되는 경우) 시리즈가 종료될 때까지. 2.4 THE SERIES TERMINATES --> 끝나는 배열 요소의 인덱스를 기억하고 시리즈의 요소 수를 기억하십시오(시리즈는 == 또는 키보드에서 입력한 값보다 클 수 있음) 3. ---여기서 구현 문제가 시작됩니다--- 3.1 일련의 무익한 날 동안 어떻게든 "뒤로 물러나"는 것이 필요합니다. 각 요소의 날짜를 인식하면서 이 날짜를 datetime --> 문자열에서 번역하고, 3.11 이를 바탕으로 문자열을 채우고(모르겠습니다. 아마도 StringAdd()를 통해?) LOG 파일에 출력합니다(백만 번이 아니라 한 번만).
Переменные должны быть объявлены перед их использованием. Для идентификации переменных используются уникальные имена. Описания переменных используются для их определения и объявления типов. Описание не является оператором. Индексом массива может быть только целое число. Допускаются не более чем четырехмерные массивы. Нумерация элементов массива...
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론
드미트리 쿠스투로프 , 2020.08.27 13:10
인사말.
MT4에는 다음과 같은 것이 있습니다.
이 코드는 특정 Expert Advisor를 시작하기 위해 터미널 창에 명령을 보냅니다.
MT5에도 비슷한 기능이 있나요?
다음과 같이 시도했습니다.
초과하지 않습니다.
spy++를 검색해 보았지만 MT4와 달리 MT5에는 단어에서 메시지가 전혀 없습니다.
전문가 설정 창을 호출하기만 하면 됩니다.
WinAPI를 통해 스크립트를 실행할 수 있어야 합니다. 5개를 위한 해결책이 있습니까?
// //
제 개인적인 생각은 이렇습니다.
1. Fiya는 Losing Orders 배열을 마감 값으로 채웁니다( Mass[i] = OrderCloseTime();). 즉, 어레이는 수익성이 없는 주문을 마감한 날짜와 시간만 저장합니다.
2. 위치 i와 위치 i-1(인접한 2개)의 요소를 비교하기 시작합니다.
2.1 셀 데이터를 날짜의 숫자로 변환하여 비교합니다( TimeDayOfYear(Mass[i]) 및 TimeDayOfYear(Mass[i-1])
2.2, 이러한 비교를 통해 무익한 날이 연이어 가는지 알 수 있습니다(첫 번째 무익한 날 = 178, 이전 날 = 176이라고 가정합시다. --> 날이 연속으로 가지 않기 때문에 시리즈가 없습니다. , 각각 첫 번째 = 178이고 두 번째 177 --> 시리즈인 경우)
2.3 for 루프를 통해 배열의 모든 셀을 살펴보고 인접한 셀을 비교합니다. 이웃에 일련의 손실이 있는 경우 배열 요소 --> 1까지 운전을 시작합니다. 필요한 최소값에 도달합니다. 시리즈로 계산할 수익성 없는 일 수. 2. (항목 1이 충족되는 경우) 시리즈가 종료될 때까지.
2.4 THE SERIES TERMINATES --> 끝나는 배열 요소의 인덱스를 기억하고 시리즈의 요소 수를 기억하십시오(시리즈는 == 또는 키보드에서 입력한 값보다 클 수 있음)
3. ---여기서 구현 문제가 시작됩니다---
3.1 일련의 무익한 날 동안 어떻게든 "뒤로 물러나"는 것이 필요합니다. 각 요소의 날짜를 인식하면서 이 날짜를 datetime --> 문자열에서 번역하고,
3.11 이를 바탕으로 문자열을 채우고(모르겠습니다. 아마도 StringAdd()를 통해?) LOG 파일에 출력합니다(백만 번이 아니라 한 번만).
어드바이저 알고리즘은 역할을 하지 않으며 사용자 정의 기능 자체가 중요합니다.
그리스도를 위해, 도와주세요!
안녕하세요.
알고리즘 조언이 필요합니다.
주문 개시 블록을 처리하기 전에 다음 요구 사항을 발행하려고 합니다.
이미 매수/매도 주문 이 있고 마지막 주문의 시작 가격이 현재 가격보다 X포인트 낮은 경우 블록을 무시하거나 주문을 열지 마십시오.
알려주십시오 - 코드의 구현 옵션은 무엇입니까?
아마도 누군가가 5산을 위해 주문을 보낸 순간부터 실제로 나타날 때 까지 5산을 측정했을 것입니다. 얼마나 시간이 지나갈 수 있습니까?
나는 주문이 전송되고 거래가 표시되는 순간부터 거래가 통보되는 경우에 더 관심이 있습니다. 얼마나 걸릴 수 있습니까?
k = {1,2,4,8,16,.......}
cn = k[c]
멋진 솔루션))))
MQ는 모바일 플랫폼에 맞춤형 지표 를 추가할 계획이 있습니까?
가까운 장래가 아니라 새로운 모바일 단말기에 대한 응답으로 판단합니다. 펜만.
멋진 솔루션))))
음, 계수를 미리 알고 있다면 어떻게 계산합니까? )))
음, 계수를 미리 알고 있다면 어떻게 계산합니까? )))
계산하면 더 보편적으로 나타납니다.
동료 여러분, 모두 좋은 하루 되십시오. 솔루션은 직관적으로 명확합니다. 나는 당신에게서 그것을 원합니다.
후속 폐쇄를 위해 로트의 일부를 선택하는 가장 좋은 방법은 무엇입니까(일반 로트의 부분 폐쇄 - 부품 - 부품 5개 단위).
예를 들어, 로트 2.58이 이해됩니다. 결과적으로 0.51랏으로 4개 부품을 마감하고 5분의 1로 0.54로트를 5로 나눕니다.
이것을 코드로 표현하는 가장 좋은 방법은 무엇입니까? 어떤 체크메이트가 나눗셈의 나머지 부분 을 닫는 데 0.54가 걸리나요?
동료 여러분, 모두 좋은 하루 되십시오. 솔루션은 직관적으로 명확합니다. 나는 당신에게서 그것을 원합니다.
후속 폐쇄를 위해 로트의 일부를 선택하는 가장 좋은 방법은 무엇입니까(일반 로트의 부분 폐쇄 - 부품 - 부품 5개 단위).
예를 들어, 로트 2.58이 이해됩니다. 결과적으로 0.51랏으로 4개 부품을 마감하고 5분의 1로 0.54로트를 5로 나눕니다.
이것을 코드로 표현하는 가장 좋은 방법은 무엇입니까? 어떤 체크메이트가 나눗셈의 나머지 부분 을 닫는 데 0.54가 걸리나요?
문서를 읽는 것은 어떻습니까?