![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что касается предупреждений при компиляции "return value of ''order send/select,modify,close'' были исправлены путем добавления (bool dummyResult) ранее, но теперь я вижу, что вы используете просто (bool dummy), это нормально для всех и каждой ситуации или новый (bool dummy) для некоторых конкретных индикаторов и ситуаций?
с уважением
Уважаемый MLADEN
Что касается предупреждений при компиляции "return value of ''order send/select,modify,close'' were corrected by adding (bool dummyResult) previously but now i see you using simply (bool dummy), is it ok for all and every situation or the new (bool dummy) for some specific indicators and situations ?
regards
Что используется, чтобы действительно проверить, в порядке ли операция(и) ордера, так это GetLastError() (поскольку она дает гораздо больше деталей, чем простой булев возврат, который по умолчанию возвращается от операций ордера) - так что, да, это нормально, и затем, если требуется больше деталей для возможной ошибки, тогда, всеми средствами, GetLastError() должен использоваться
(что мы будем делать после 31 января?) :(
ВойтекПол,
Как это понимать?
ВойтекПол,
Как это понимать?
Но проверьте и этот пост: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated/page4#comment_1849089
Обычно эти предупреждения доброкачественные.
Чтобы действительно проверить, в порядке ли операция(и) заказа, используется GetLastError() (поскольку она дает гораздо больше деталей, чем простой булев возврат, который по умолчанию возвращается от операций заказа) - так что, да, это нормально, и затем, если требуется больше деталей для возможной ошибки, тогда, всеми средствами, следует использовать GetLastError().
Спасибо за помощь.
с уважением
Он имел в виду вот это: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated
Но посмотрите и этот пост: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated/page4#comment_1849089
Младен,
Спасибо за информацию. Это / был мой один из самых любимых форумов, так что это плохая новость для меня тоже. Тем не менее, в сети есть и другие места с готовыми функциями форума и чата. (Я привел один пример в теме "Forex-TSD будет закрыт...").
Привет всем,
Мне нужен кодер, чтобы поставить стрелку с предупреждением для этой стратегии. Вручную эта стратегия дает 100% победу.
Ниже приведена ссылка на стратегию.
http://www.binaryoptionsedge.com/topic/1879-high-power-option-2015/page-2#entry108014
Сообщение #29
Obrigado.
Уважаемый Младен, возможно ли, чтобы две следующие функции:
and
iCustomMa(ma_ema,getPrice(pr_high,Open,Close,High,Low,i),MAPeriod,i,0);(or iCustomMa(ma_ema,iMA(NULL,0,1,0,MODE_SMA,PRICE_HIGH,i),MAPeriod,i,0); )
#define _maWorkBufferx2 2
#define _maWorkBufferx3 3
#define _maWorkBufferx5 5
double iCustomMa(int mode, double price, double length, int i, int instanceNo=0)
{
if (length<=1) return(price);
int r = Bars-i-1;
switch (mode)
{
// ...
case ma_ema : return(iEma(price,length,r,instanceNo));
// ...
default : return(0);
}
}
double workEma[][_maWorkBufferx1];
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars);
//
double alpha = 2.0 / (1.0+period);
workEma[r][instanceNo] = workEma[r-1][instanceNo]+alpha*(price-workEma[r-1][instanceNo]);
return(workEma[r][instanceNo]);
}
что iEma работает немного иначе, чем встроенная EMA?
Уважаемый Младен, возможно ли, чтобы две следующие функции:
and
iCustomMa(ma_ema,getPrice(pr_high,Open,Close,High,Low,i),MAPeriod,i,0);(or iCustomMa(ma_ema,iMA(NULL,0,1,0,MODE_SMA,PRICE_HIGH,i),MAPeriod,i,0); )
#define _maWorkBufferx2 2
#define _maWorkBufferx3 3
#define _maWorkBufferx5 5
double iCustomMa(int mode, double price, double length, int i, int instanceNo=0)
{
if (length<=1) return(price);
int r = Bars-i-1;
switch (mode)
{
// ...
case ma_ema : return(iEma(price,length,r,instanceNo));
// ...
default : return(0);
}
}
double workEma[][_maWorkBufferx1];
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars);
//
double alpha = 2.0 / (1.0+period);
workEma[r][instanceNo] = workEma[r-1][instanceNo]+alpha*(price-workEma[r-1][instanceNo]);
return(workEma[r][instanceNo]);
}
что iEma работает немного иначе, чем встроенная EMA?
Запустите iCustomMa() на всей серии, и результаты должны быть одинаковыми.
PS: эта iEma() устарела. Новая версия выглядит следующим образом (она не изменит значения, но это "строгое доказательство режима")
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars);
//
workEma[r][instanceNo] = price;
if (r>0 && period>1)
workEma[r][instanceNo] = workEma[r-1][instanceNo]+(2.0/(1.0+period))*(price-workEma[r-1][instanceNo]);
return(workEma[r][instanceNo]);
}
Большое спасибо за быстрый ответ! Не могли бы вы, пожалуйста, сказать мне, где я могу
я могу найти текущий код скользящих средних:
enum enMaTypes
{
ma_sma, // simple moving average - SMA
ma_ema, // exponential moving average - EMA
ma_dsema, // double smoothed exponential moving average - DSEMA
ma_dema, // double exponential moving average - DEMA
ma_tema, // tripple exponential moving average - TEMA
ma_smma, // smoothed moving average - SMMA
ma_lwma, // linear weighted moving average - LWMA
ma_pwma, // parabolic weighted moving average - PWMA
ma_alxma, // Alexander moving average - ALXMA
ma_vwma, // volume weighted moving average - VWMA
ma_hull, // Hull moving average
ma_tma, // triangular moving average
ma_sine, // sine weighted moving average
ma_linr, // linear regression value
ma_ie2, // IE/2
ma_nlma, // non lag moving average
ma_zlma, // zero lag moving average
ma_lead, // leader exponential moving average
ma_ssm, // super smoother
ma_smoo // smoother
};
Насколько я знаю, это последний список скользящих средних, доступный в виде открытого кода.
(другие MA уже в формате ex4).