// Глобальная переменная для хендла индикатора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,您不能使用市场上其他人的工艺品......
自己用,没问题。您不能使用市场或 CodeBase 上别人的手工艺品...
自己用我不知道怎么做。我在开放源代码中找不到代码。也不知道如何在我的代码中拧上螺丝,让它捕捉到行的位置。
你好,@Rad89
您需要iCustom() 和CopyBuffer() 函数。
下面是将从市场下载的指标添加到智能交易系统的示例
enum ENUM_NAME { ENUM_1, ENUM_jsdf .... ENUM_FEF; };
如何为 E_NAME[] 数组分配内存,以便有足够的内存容纳所有可能的 ENUM_NAME 值(不重复)?并用所有可能的值初始化E_ INAME[]?
你好,@pivomoe
如果您不打算强制为枚举项赋值(从示例来看不会),您可以这样做:
在这种情况下,当向枚举中添加元素时,您还需要更改存储元素个数的常量。
此外,最好只在枚举本身的名称中使用ENUM_ 前缀,而在其元素中使用其他前缀。在所有标准的 MQL 枚举中都使用了这一约定。
你好,@pivomoe
如果您不强制为枚举项赋值(根据示例判断--不会),您可以这样做:
在这种情况下,当向枚举中添加项时,您还需要更改存储项数的常量。
另外,最好只在枚举本身的名称中使用ENUM_ 前缀,而在其元素中使用其他前缀。所有标准的 MQL 枚举都使用了这种约定。
感谢您的帮助。我使用 ENUM 已经很多年了,我甚至都没有想到要阅读帮助。