// Глобальная переменная для хендла индикатораint tlHandle;
intOnInit() {
// Создаем хендл индикатора
tlHandle = iCustom(Symbol(), PERIOD_CURRENT, "Market\\Automatic Trendlines", false, 5, 15, clrRed, clrBlue, 2, "My Support", "My Resistance");
// Можем добавить индикатор на график, если хотим. // Для использования в расчетах это необязательноChartIndicatorAdd(ChartID(), 0, tlHandle);
// Вызовем один раз OnTick(), чтобы на выходных у нас что-то в логе отобразилосьOnTick();
return(INIT_SUCCEEDED);
}
voidOnDeinit(constint reason) {}
voidOnTick() {
// Объявляем массивы для буферов индикатораdouble tlBuffer0[], tlBuffer1[]; // ,tlBuffer1, ...int res;
// Копируем нужное количество значений из индикаторных буферов в массивы
res = CopyBuffer(tlHandle, 0, 0, 100, tlBuffer0);
res = CopyBuffer(tlHandle, 1, 0, 100, tlBuffer1);
// У разных индикаторов различное количество индикаторных буферов, // числа из которых используются для построения линий, значков, цветовых меток на графике// Сколько их у данного индикатора и как используются их числа исследуйте самостоятельно// res = CopyBuffer(tlHandle, 2, 0, 100, tlBuffer2);// Пользуемся полученными значениямиArrayPrint(tlBuffer0);
ArrayPrint(tlBuffer1);
}
만일을 대비하여 여러 줄로 작성하는 것보다 제가 보여 드린 것처럼 한 줄로 작성하는 것이 더 쉽습니다.
안녕하세요,
마켓에서 기성 솔루션을 검색해 보세요 - https://www.mql5.com/fr/search#!keyword=money%20management&module=mql5_module_market
프리랜서에서 맞춤형 솔루션을 주문할 수도 있습니다 - https://www.mql5.com/fr/job
안녕하세요, 여러분 새해 복 많이 받으세요! 내 스크립트가 시장의 지표를 사용한다는 것을 어떻게 알 수 있습니까?
보다 구체적으로:
시장에 "자동 추세선"이라는 지표가 있습니다. 이를 기반으로 로봇을 만들고 싶은데, 가격이 지표의 이 선을 넘을 때(그리고 지정된 추가 조건에서) 포지션을 열거나 닫는 로봇을 만들고 싶습니다.
안녕하세요, 새해 복 많이 받으세요! 내 스크립트가 시장의 지표를 사용한다는 것을 어떻게 알 수 있습니까?
보다 구체적으로:
시장에 "자동 추세선"이라는 지표가 있습니다. 이를 기반으로 로봇을 만들고 싶은데, 가격이 지표의 이 선을 넘을 때(그리고 지정된 추가 조건에서) 포지션을 열거나 닫는 로봇을 만들고 싶습니다.
나 자신에게는 문제 없습니다. 시장이나 코드베이스의 경우 시장에서 다른 사람의 공예품을 사용할 수 없습니다 ...
자신은 문제없습니다. 마켓플레이스나 CodeBase에서 다른 사람의 창작물을 사용할 수 없습니다...
자신을 위해. 어떻게 해야 할지 모르겠어요. 오픈 소스에서 코드를 찾을 수 없어요. 또는 내 코드에 줄의 위치를 잡을 수 있도록 나사를 조이는 방법도 모르겠어요.
안녕하세요, @Rad89
iCustom() 및 CopyBuffer() 함수가 필요합니다.
다음은 마켓에서 다운로드한 인디케이터를 Expert Advisor에 추가하는 예제입니다.
enum ENUM_NAME { ENUM_1, ENUM_jsdf .... ENUM_FEF; };
가능한 모든 ENUM_NAME 값에 충분한 메모리가 있도록 (반복없이) E_NAME[] 배열에 메모리를 할당하는 방법은 무엇입니까?그리고 가능한 모든 값으로 E_NAME[] 을 초기화하는 방법은 무엇인가요?
안녕하세요, @pivomoe
열거형 항목에 숫자 값을 강제로 할당하지 않으려는 경우(예제로 판단하면 그렇지 않을 것입니다) 다음과 같이 할 수 있습니다:
이 경우 열거형에 요소를 추가할 때 요소 수를 저장하는 상수도 변경해야 합니다.
또한 열거형 자체의 이름에만 ENUM_ 접두사를 사용하고 그 요소에는 다른 접두사를 사용하는 것이 좋습니다. 이 규칙은 모든 표준 MQL 열거형에 사용됩니다.
안녕하세요, @피보모에
열거형 항목에 숫자 값을 강제로 할당하지 않을 경우(예제로 판단하면 그렇지 않을 것입니다) 다음과 같이 할 수 있습니다:
이 경우 열거형에 항목을 추가할 때 항목 수를 저장하는 상수도 변경해야 합니다.
또한 열거형 자체의 이름에만 ENUM_ 접두사를 사용하고 그 요소에는 다른 접두사를 사용하는 것이 좋습니다. 이 규칙은 모든 표준 MQL 열거형에 사용됩니다.
도와주셔서 감사합니다. 수년 동안 ENUM을 사용해 왔기 때문에 도움말을 읽을 생각조차 하지 못했습니다.