특정 계산을 수행하는 EA가 있습니다. 다른 매트 연산, 배열, 루프를 사용합니다. 결과 는 파일에 기록됩니다 . 모든 단계를 완료한 후에는 처음부터 모든 것을 시작해야 합니다. 그러나 모든 계산을 한 번만 수행하고 두 번째 시작하고 정지하면 아무 작업도 수행되지 않습니다. 새 계산을 시작하기 전에 변수를 재설정하거나 배열을 지우는 등의 작업이 필요할 수 있습니다.
안녕하세요! 나는 이와 같은 가장 작은 지식으로 지표를 만들려고 노력하는 인도주의자(나)의 도움이 필요합니다))) 그러나 무엇이 나타나야 하는지에 대한 이해가 있습니다)) 그래서: 예 를들어소스 파일 형식:
EUR;TF;1.192;1.1733
EUR;TN;1.2037;1.1663
EUR;AB1;1.1906499615;1.1797479615
CHF;TF;1.0362;1.0183
CHF,TN,1.0479,1.0121
CHF;AB1;1.03484132734247;1.02549513556164
저것들. 표시기는 파일에서 기록된 데이터를 가져와 세그먼트(TF, TA) 형태의 차트에 주석 과 함께 삽입하거나길이 매개변수가 정확히 "일"인 색상 범위(EA)(경계에서 경계까지 MT4의 세로 구분자 중), 행의 경우 행의 색상, 행 유형, 텍스트 색상 및 주석 크기 선택, 주석 세그먼트를 행으로 대체(예: "TF - 1,192" 파일의 해당 라인에서 가져온 두 번째 라인 "TF - 1,1733". 동시에 세그먼트는 순전히 수평이며 EUR;TF;1.192;1.1733 라인에서 수평선으로 정확히 한 세그먼트의 첫 번째 숫자와 세그먼트 1.192의 시작으로 두 번째 세그먼트의 두 번째 숫자가 필요합니다. 끝 1.192. 범위도 있습니다(예: EA). 원칙은 하루의 시작부터 끝까지 동일하지만 가격 매개변수가 다르며 시작 및 종료 라인은 CHF;AB1;1.03484132734247;1.02549513556164 시작입니다.1.03484132734247 범위 끝1.02549513556164. MT4가 켜져 있을 때(차트 위에 서 있는 일반 칠면조처럼) 매일 차트에 시작하여 현재 날짜의 모든 데이터를 정확히 한 번만 추가하고 차트에서 이전에 그린 모든 선을 삭제하지 않으며 중복되지 않습니다. 이 모든 것을 통해 활성 창이 현재 있고 다른 활성 창(즉, 실행 중인 위치)에만 해당 날짜의 모든 세그먼트와 범위를 선택하고 표시합니다(즉, 쌍을 열고 표시기가 모든 세그먼트와 범위를 그렸습니다. 현재 일과 진정 등 쌍).
예를 들어 표시기 탭이입력 매개변수 와 같은 모양이어야 합니다 .
변수_________값
Funtik_______//--일반 설정--//
그리기 TF_______true
그리기 TN ____true
그리기 AB1______참
그리기 AB2______거짓
텍스트 비문의 색상 _______검정
서명 글꼴____Arial
텍스트 캡션의 글꼴 크기 ________9
라인 색상 TF _________________
라인 유형 TF _______________
선 색상 TN _________________
라인 유형 TN _______________
범위 색상 AB1__________
범위 색상 AB2__________
파일 폴링 빈도(초) ______2
파일 이름 _______________5.csv
제가 직접 써보려고 했는데 잘 안되네요 쉬울 것 같아도 (글쎄요, 저는 휴머니스트인데 어떡하죠....) 물에 빠진 남자 좀 도와주세요!!!!!!! !
외부 정수 Period_MA = 365; //MA 기간 1 외부 이중 델타 = 0.0010; // 주문을 여는 거리
문자열 기호; //거래 상품의 이름 //int 합계; //주문수
//+----------------------------------------------- --------------------+ //| 전문가 초기화 기능 | //+----------------------------------------------- --------------------+ 정수 초기화() { //----
//---- 리턴(0); } //+----------------------------------------------- --------------------+ //| 전문가 초기화 해제 기능 | //+----------------------------------------------- --------------------+ 정수 초기화() { //---- ObjectDelete("Obj_Label"); ObjectDelete("Obj_Label2"); //---- 리턴(0); } //+----------------------------------------------- --------------------+ //| 전문가 시작 기능 | //+----------------------------------------------- --------------------+ 정수 시작() {
이중 상금 = 입찰; //현재 가격 이중 CurrMAValue = iMA(Symb, Period(),Period_MA, 0,Mode_EMA, PRICE_CLOSE, 0); // 이동 평균 값 이중 Price2MA = 가격 - CurrMAValue; // MA에 대한 가격까지의 거리 날짜/시간 NextClose = 시간(0) + 기간()*60*2; //닫을 시간 int MinutesToNextClose = (NextClose - TimeCurrent())/60 + 1; //닫는 시간(분)
if ((MathAbs(Price2MA) < Delta) && // MA까지의 거리가 delta보다 작은 경우 (Price > CurrMAValue) && // 가격이 MA보다 높음 (Open(0) > CurrMAValue+Delta)) // 현재 캔들은 MA+Delta보다 높게 열렸습니다. ( 경고("가격이 위에서 MA에 접근했습니다"); )
if ((MathAbs(Price2MA) < Delta) && // MA까지의 거리가 delta보다 작은 경우 (price < CurrMAValue) && // 그리고 가격이 MA보다 낮습니다. (Open(0) < CurrMAValue-Delta)) // 현재 캔들은 MA-델타보다 낮게 열렸습니다. (
Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. Куда исчезли "Сообщения"? У меня в профиле исчез раздел...
prev_calculated - 전역적으로(또는 정적으로) 선언하고 현재 반복에서 실제로 계산된 막대 수를 기록하여 아날로그를 직접 만듭니다. 즉, 표시기 값을 성공적으로 계산한 후에는 현재 막대 수를 입력해야 합니다. 계산에 실패하면 다음 반복에서 기록의 각 막대에 표시기 값을 다시 계산하기 위해 재설정하는 것이 좋습니다.
안녕하세요!
특정 계산을 수행하는 EA가 있습니다. 다른 매트 연산, 배열, 루프를 사용합니다. 결과 는 파일에 기록됩니다 . 모든 단계를 완료한 후에는 처음부터 모든 것을 시작해야 합니다. 그러나 모든 계산을 한 번만 수행하고 두 번째 시작하고 정지하면 아무 작업도 수행되지 않습니다. 새 계산을 시작하기 전에 변수를 재설정하거나 배열을 지우는 등의 작업이 필요할 수 있습니다.
파일을 닫으셨습니까?
예 를 들어 소스 파일 형식:
저것들. 표시기는 파일에서 기록된 데이터를 가져와 세그먼트(TF, TA) 형태의 차트에 주석 과 함께 삽입하거나 길이 매개변수가 정확히 "일"인 색상 범위(EA)(경계에서 경계까지 MT4의 세로 구분자 중), 행의 경우 행의 색상, 행 유형, 텍스트 색상 및 주석 크기 선택, 주석 세그먼트를 행으로 대체(예: "TF - 1,192" 파일의 해당 라인에서 가져온 두 번째 라인 "TF - 1,1733". 동시에 세그먼트는 순전히 수평이며 EUR;TF;1.192;1.1733 라인에서 수평선으로 정확히 한 세그먼트의 첫 번째 숫자와 세그먼트 1.192의 시작으로 두 번째 세그먼트의 두 번째 숫자가 필요합니다. 끝 1.192.
범위도 있습니다(예: EA). 원칙은 하루의 시작부터 끝까지 동일하지만 가격 매개변수가 다르며 시작 및 종료 라인은 CHF;AB1;1.03484132734247;1.02549513556164 시작입니다. 1.03484132734247 범위 끝 1.02549513556164. MT4가 켜져 있을 때(차트 위에 서 있는 일반 칠면조처럼) 매일 차트에 시작하여 현재 날짜의 모든 데이터를 정확히 한 번만 추가하고 차트에서 이전에 그린 모든 선을 삭제하지 않으며 중복되지 않습니다. 이 모든 것을 통해 활성 창이 현재 있고 다른 활성 창(즉, 실행 중인 위치)에만 해당 날짜의 모든 세그먼트와 범위를 선택하고 표시합니다(즉, 쌍을 열고 표시기가 모든 세그먼트와 범위를 그렸습니다. 현재 일과 진정 등 쌍).
예를 들어 표시기 탭이 입력 매개변수 와 같은 모양이어야 합니다 .
제가 직접 써보려고 했는데 잘 안되네요 쉬울 것 같아도 (글쎄요, 저는 휴머니스트인데 어떡하죠....) 물에 빠진 남자 좀 도와주세요!!!!!!! !
안녕하세요!
제발 도와주세요. 오류 추적을 찾습니다. 프로그램!!!
//+----------------------------------------------- --------------------+
//| test.mq4 |
//| Copyright 2018, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+----------------------------------------------- --------------------+
#재산권 "365_MA"
#속성 링크 "https://www.mql5.com"
#속성 버전 "1.00"
#속성엄격
외부 정수 Period_MA = 365; //MA 기간 1
외부 이중 델타 = 0.0010; // 주문을 여는 거리
문자열 기호; //거래 상품의 이름
//int 합계; //주문수
//+----------------------------------------------- --------------------+
//| 전문가 초기화 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
//----
//----
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 전문가 초기화 해제 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
//----
ObjectDelete("Obj_Label");
ObjectDelete("Obj_Label2");
//----
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 전문가 시작 기능 |
//+----------------------------------------------- --------------------+
정수 시작()
{
이중 상금 = 입찰; //현재 가격
이중 CurrMAValue = iMA(Symb, Period(),Period_MA, 0,Mode_EMA, PRICE_CLOSE, 0); // 이동 평균 값
이중 Price2MA = 가격 - CurrMAValue; // MA에 대한 가격까지의 거리
날짜/시간 NextClose = 시간(0) + 기간()*60*2; //닫을 시간
int MinutesToNextClose = (NextClose - TimeCurrent())/60 + 1; //닫는 시간(분)
//int 오류;
//차트의 정보 텍스트 업데이트
ObjectSetText("Obj_Label", "TF" + Period() + ", " + DoubleToStr(price, 4) + ", tick " + TimeToStr(TimeCurrent(), TIME_SECONDS) + ", O@" + TimeToStr(Time[0 ], TIME_MINUTES) + ", NC@" + TimeToStr(NextClose, TIME_MINUTES) + "(" + MinutesToNextClose + " min)", 10,
ObjectSetText("Obj_Label2", "Delta" + DoubleToStr(Delta,4) + ", MA 값 " + DoubleToStr(CurrMAValue, 4) + ", MA까지의 거리 " + DoubleToStr(Price2MA, 4), 10, "Arial", 짙은 녹색);
//가격 분석 및 알림
if ((MathAbs(Price2MA) < Delta) && // MA까지의 거리가 delta보다 작은 경우
(Price > CurrMAValue) && // 가격이 MA보다 높음
(Open(0) > CurrMAValue+Delta)) // 현재 캔들은 MA+Delta보다 높게 열렸습니다.
(
경고("가격이 위에서 MA에 접근했습니다");
)
if ((MathAbs(Price2MA) < Delta) && // MA까지의 거리가 delta보다 작은 경우
(price < CurrMAValue) && // 그리고 가격이 MA보다 낮습니다.
(Open(0) < CurrMAValue-Delta)) // 현재 캔들은 MA-델타보다 낮게 열렸습니다.
(
경고("가격이 아래에서 MA에 접근했습니다");
)
리턴(0);
//+----------------------------------------------- --------------------+
컴파일 후 다음 실수
안녕하세요!
제발 도와주세요. 오류 추적을 찾습니다. 프로그램!!!
컴파일 후 다음 실수
잊혀진 중괄호
그런 질문, 나는 내 칠면조에 지그재그를 통합해야합니다 (이제는 핸들로 간주됩니다)
사실 내 칠면조는 OnCalculate()를 전혀 사용하지 않으며 모든 것이 OnChartEvent()에 있습니다.
지그재그로 작동하게 할 수 있으므로 rate_total 및 prev_calculated를 어디에서 가져와 계산할 수 있습니까?
rate_total은 차트의 막대 수입니다 . Bars 함수를 사용하여 결정됩니다.
prev_calculated - 전역적으로(또는 정적으로) 선언하고 현재 반복에서 실제로 계산된 막대 수를 기록하여 아날로그를 직접 만듭니다. 즉, 표시기 값을 성공적으로 계산한 후에는 현재 막대 수를 입력해야 합니다. 계산에 실패하면 다음 반복에서 기록의 각 막대에 표시기 값을 다시 계산하기 위해 재설정하는 것이 좋습니다.
Re: 알렉세우 페도토프
중괄호 란 무엇입니까
Re: 알렉세우 페도토프
중괄호 란 무엇입니까
정사각형 배열 인덱스 x[25]
무효 시작()
{
중괄호 문 블록
}
괄호 안은 sin(30) 함수의 인수
정사각형 배열 인덱스 x[25]
무효 시작()
{
중괄호 문 블록
}