snowman647 писал(а)>> подскажите если кто видел советник, который просто рендомом торгует - любая реализация... (по идее он должен просто медленно сливать за счет спреда)
Что нужно изменить в индикаторе МА, чтобы линия рисовалась с другой стороны цены ? Например, если цена идет вниз, то линия индикатора отображается как бы справа, а если вверх, то слева.
Что нужно изменить в индикаторе МА, чтобы линия рисовалась с другой стороны цены ? Например, если цена идет вниз, то линия индикатора отображается как бы справа, а если вверх, то слева.
Как сделать наоборот ?
Наверно нужно сдвинуть индикатор на период назад, в прошлое, хотя насколько сдвигать зависит от периода задержки индикатора. У SMA полпериода.
Так что сдвигая SMA на период назад, то можно будет видеть на истории то что вы хотите
Здравствуйте. Который день бьюсь над кодом создания пользовательского индикатора, основанного на теории ДеМарка. Суть индикатора - путь пройденный ценой (Close[i]-Open[i])/(High[i]-Low[i]) за единицу времени, например, день умножается на объем того же периода. Если цена повышается, то величина этого значения умнож. на объем, прибавляется к предыдущему значению. Если, цена понижается - величина этого дня вычитается из предыдущего дня. Т.е., положительные величины складываются с предыдущем днем, а отрицательные - вычитаются. Отношение положительных и отрицательных величин одного периода -есть процентное выражение величины давления покупателей/продавцов, иначе, накопление/распределение данного фин. инструмента.
Привожу код только специальной функции start, т.к. с инициализацией переменных нет проблем. При запуске кода происходит - при нулевой i итерации кривая индикатора "уходит" в потолок/пол окна индикатора.
Что неправильно делаю? Как надо? Спасибо за помощь.
int start() { int i,j,nCountedBars; double V,X,Y,Z;
Здравствуйте. Который день бьюсь над кодом создания пользовательского индикатора, основанного на теории ДеМарка. Суть индикатора - путь пройденный ценой (Close[i]-Open[i])/(High[i]-Low[i]) за единицу времени, например, день умножается на объем того же периода. Если цена повышается, то величина этого значения умнож. на объем, прибавляется к предыдущему значению. Если, цена понижается - величина этого дня вычитается из предыдущего дня. Т.е., положительные величины складываются с предыдущем днем, а отрицательные - вычитаются. Отношение положительных и отрицательных величин одного периода -есть процентное выражение величины давления покупателей/продавцов, иначе, накопление/распределение данного фин. инструмента.
Деление на ноль получается.
Если перед любым делением добавить контроль на ноль, то рисовать начинает.
Но надо было бы логику индикатора переделать. При каждом новом тике переменные X и Y принимают значение равное нулю. Работает корректно на истории
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
подскажите если кто видел советник, который просто рендомом торгует - любая реализация... (по идее он должен просто медленно сливать за счет спреда)
Посмотри этот вариант. http://vinin.ucoz.ru/forum/10-38-1
Последний пост
Граждане! Кто соединял МТ4 с Матлабом по ДДЕ, подскажите, почему не инициализируется соединение?
Пишу channel = ddeinit('MT4','BID');
в ответ - channel = 0
метатрадер запущен если что.
Добрый день.
Подскажите мне пожалуйста.
Что нужно изменить в индикаторе МА, чтобы линия рисовалась с другой стороны цены ? Например, если цена идет вниз, то линия индикатора отображается как бы справа, а если вверх, то слева.
Как сделать наоборот ?
Добрый день.
Подскажите мне пожалуйста.
Что нужно изменить в индикаторе МА, чтобы линия рисовалась с другой стороны цены ? Например, если цена идет вниз, то линия индикатора отображается как бы справа, а если вверх, то слева.
Как сделать наоборот ?
Наверно нужно сдвинуть индикатор на период назад, в прошлое, хотя насколько сдвигать зависит от периода задержки индикатора. У SMA полпериода.
Так что сдвигая SMA на период назад, то можно будет видеть на истории то что вы хотите
Граждане! Кто соединял МТ4 с Матлабом по ДДЕ, подскажите, почему не инициализируется соединение?
Пишу channel = ddeinit('MT4','BID');
в ответ - channel = 0
метатрадер запущен если что.
А вы включили в Сервис-Настройки-Сервер-Разрешить DEE Сервер ?
а то вообще надобы.
А вы включили в Сервис-Настройки-Сервер-Разрешить DEE Сервер ?
а то вообще надобы.
все, эту проблемму поборол. channel принял нужное значение. теперь пытаюсь получить данные
rc = ddeadv(channel, 'EURUSD','disp(x)','x',[1 1]); - пытаюсь вывести на консоль значение приходящего тика,
но не работает, хотя rc=1. что не так, подскажите?
Здравствуйте. Который день бьюсь над кодом создания пользовательского индикатора, основанного на теории ДеМарка. Суть индикатора - путь пройденный ценой (Close[i]-Open[i])/(High[i]-Low[i]) за единицу времени, например, день умножается на объем того же периода. Если цена повышается, то величина этого значения умнож. на объем, прибавляется к предыдущему значению. Если, цена понижается - величина этого дня вычитается из предыдущего дня. Т.е., положительные величины складываются с предыдущем днем, а отрицательные - вычитаются. Отношение положительных и отрицательных величин одного периода -есть процентное выражение величины давления покупателей/продавцов, иначе, накопление/распределение данного фин. инструмента.
Привожу код только специальной функции start, т.к. с инициализацией переменных нет проблем. При запуске кода происходит - при нулевой i итерации кривая индикатора "уходит" в потолок/пол окна индикатора.
Что неправильно делаю? Как надо? Спасибо за помощь.
int start(){
int i,j,nCountedBars;
double V,X,Y,Z;
if(Bars<=Fi) return(0);
nCountedBars=IndicatorCounted();
//----
i=Bars-Fi-1;
if(nCountedBars>Fi)
i=Bars-nCountedBars-1;
while(i>=0)
{
V=(Close[i]-Open[i])/(High[i]-Low[i]);
if(V>0)
X+=V*Volume[i];
else
Y+=V*Volume[i];
Alert("V=",V," X=",X," Y=",Y," i=",i);
ExtDMFiBuffer[i]=100-100/(1+MathAbs(X/Y));
i--;}
return(0);
Здравствуйте. Который день бьюсь над кодом создания пользовательского индикатора, основанного на теории ДеМарка. Суть индикатора - путь пройденный ценой (Close[i]-Open[i])/(High[i]-Low[i]) за единицу времени, например, день умножается на объем того же периода. Если цена повышается, то величина этого значения умнож. на объем, прибавляется к предыдущему значению. Если, цена понижается - величина этого дня вычитается из предыдущего дня. Т.е., положительные величины складываются с предыдущем днем, а отрицательные - вычитаются. Отношение положительных и отрицательных величин одного периода -есть процентное выражение величины давления покупателей/продавцов, иначе, накопление/распределение данного фин. инструмента.
Деление на ноль получается.
Если перед любым делением добавить контроль на ноль, то рисовать начинает.
Но надо было бы логику индикатора переделать. При каждом новом тике переменные X и Y принимают значение равное нулю. Работает корректно на истории
Спасибо. Осмыслю ВАШУ редакцию. Но
Все равно в "пол" кривая графика уходит. Попробуйте у себя.
Я пост поправил предыдущий. Файл то же поменял.
Переделать индикатор можно. Но нужны будут дополнительные буферы для промежуточных вычислений.
Деление на ноль получается.
Если перед любым делением добавить контроль на ноль, то рисовать начинает.
Но надо было бы логику индикатора переделать. При каждом новом тике переменные X и Y принимают значение равное нулю. Работает корректно на истории
На истории?. Т.е., получается, что сегодняшний день надо исключить из расчетов? Отсчет начинаем с вчерашнего дня и i-- ?