Сохранял, под этими именами, новый график открывается так же, по-старому. В папке templates есть файл strategytester.htm Не знаю, что делать с этим файлом.
Значит что то сделали не так.Может не перезапустили МТ. Проверенно, должно работать.
zas: Здравствуйте,помогите,как правильно загнать данные из истории в Excel?На форуме не нашел.Дело в том,что после открытия файла в Excel данные представлены в виде даты,а если меняю формат числа то получаются не те данные.Пробовал разные виды числа - одно и тоже.Пробовал при загрузке сразу указать тип данных(Excel спрашивает),вроде числа те что надо,но представлены в виде числа с точкой(напр. 1.5624),и Excel с ними ничего делать не хочет.Начинаешь менять формат числа - таже петрушка.Подскажите пожалуйста.
Вопрос не по теме форума, т.к. Вам необходимо пойти на курсы компьютерной грамотности и научиться пользоваться Word и Excel, или найти книгу по этим программа и изучить.
А по конкретному Вашему вопросу, выделите необходимые ячейки, подводите к ним курсор, кликаете правой клавишей, потом "Формат ячеек..." и выбираете нужный формат представления данных.
Необходимо сравнить первый пик гистограммы со вторым, если второй меньше по абс величине, то открыть бай при условии, что оба они ниже нуля и после этого первому пику присвоить значение второго, Если же после образования первого пика столбец гистограммы перешел с отриц в полож область, то отменить наличие первого пика, как это у меня - т.е. по условию сбрасываем оба флага.
У меня получается следующее, что я когда идентифицирую параметры первого пика, то это же условие (те же параметры) выполняется и для второго - а это ошибка... мне бы как-нибудь "развести" эти факты (с их уникальными параметрами) образования фигур 1 и 2, привожу свой код и рисунок для бая...
double a1,a2,a11,a22;// значения первого и второго пика bool fl1 = false; // флаги наличия 1-го и 2-го пика для их сравнения для входа в рынок по 3-ему варианту АОbool fl2 = false; //bool signal_buy = false;
bool signal_sell = false;
double AO1 = iAO(Symbol(), signal_period, 1);
double AO2 = iAO(Symbol(), signal_period, 2);
double AO3 = iAO(Symbol(), signal_period, 3);
if (AO3 < 0 && AO3 > AO2 && AO2<0 && AO2 < AO1 && AO1 < 0 && fl1==false && fl2==false) {a1 = AO22; fl1=true; Print ("образование первого пика",DoubleToStr(a1,6) );}
// определение наличия 1-го пика, флаг установлен
Print ("первый пик = ", DoubleToStr(a1, 6) );
// в след строке ошибка - получается, что после идентификации 1-го пика - эти же условия выполняются и для 2-го, а этого быть не должно... if (AO3<0 && AO3>AO2 && AO2<0 && AO2<AO1 && AO1<0 && fl1==true && fl2==false) // определение наличия 2-го пика, флаги установлены
{
a11 = AO2; fl1=true; fl2=true; Print ("образование второго пика", DoubleToStr (a11,6));
if (a1<a11 && High [0] > High [1])
{ signal_buy = true; a1=a11; fl1=true;fl2=false;} // активируем бай и запоминаем параметры как первого пика else { a1=a11; fl1=true;fl2=false;} // просто запоминаем новый минимум - первый пик
}
if (AO2>0 || High [0] < High [1]) {fl1=false; fl2=false;} // если какой - либо столбец гистограммы пересекает 0-ю линию между сигналами 2-а пика// то сигнал считается недействительным. Cбрасываем флагиif (Mas_Tip[0]!=0 && signal_buy == true ) return(10); // при доливке и сигнале к покупке открываемся с рынка
signal_buy = false; // сбрасываем сигнал к покупке
Ребята отзовитесь кто может помоч по созданию робота для торгов, просто есть идея и нужна помощь по её реализации, сам в програмировании не силён, можно даже за деньги, но разумные!
Ребята отзовитесь кто может помоч по созданию робота для торгов, просто есть идея и нужна помощь по её реализации, сам в програмировании не силён, можно даже за деньги, но разумные!
могу за разумные деньги. пишите в личку или скайп abolk1
Всем привет, капаюсь на форуме уже целый день так и не нашел, подскажите, где можно скачать историю котировок euro usd 1 min в формате hst, csv или как ее лучше подгрузить за максимальный период времени, терминал только год выдает. Киньте пожалуйста ссылки или файлы. ЗАРАНЕЕ ПРИЗНАТЕЛЕН.
{ждём пока ЗАКРОЕТСЯ следующий бар и если ордер не открылся, закрываем его принудительно функцией OrderDelite();}
помогите программным кодом
"ждём пока исполнится отложенный ордер"
"ждём пока ЗАКРОЕТСЯ следующий бар и если ордер не открылся, закрываем его принудительно функцией OrderDelite();"
вы должны немного понять логику и суть работы с ордерами.
Для того, чтоб выполнять отложенную обработку или ожидание какого то события, вы должны запомнить текущее состояние системы и сравнивать его с тем, которое ожидаете.
в вашем случае вы имеете одно событие - Отркылся новый бар, но ордер не сработал.
для этого можно таким путём:
- запомнить параметр Ticket, и время бара, на котором открылись. И постоянно сравнивать запомненное время и текущее. и если появился новый бар, то тут же взять запоменнный тикет и проверить каким типом он является - рыночным или начальным отложенным. И если он отложенный то удалить его.
Этот вариант не предназначен для реала, а только для тестера.
Сохранял, под этими именами, новый график открывается так же, по-старому. В папке templates есть файл strategytester.htm Не знаю, что делать с этим файлом.
Значит что то сделали не так.Может не перезапустили МТ. Проверенно, должно работать.
Здравствуйте,помогите,как правильно загнать данные из истории в Excel?На форуме не нашел.Дело в том,что после открытия файла в Excel данные представлены в виде даты,а если меняю формат числа то получаются не те данные.Пробовал разные виды числа - одно и тоже.Пробовал при загрузке сразу указать тип данных(Excel спрашивает),вроде числа те что надо,но представлены в виде числа с точкой(напр. 1.5624),и Excel с ними ничего делать не хочет.Начинаешь менять формат числа - таже петрушка.Подскажите пожалуйста.
Вопрос не по теме форума, т.к. Вам необходимо пойти на курсы компьютерной грамотности и научиться пользоваться Word и Excel, или найти книгу по этим программа и изучить.
А по конкретному Вашему вопросу, выделите необходимые ячейки, подводите к ним курсор, кликаете правой клавишей, потом "Формат ячеек..." и выбираете нужный формат представления данных.
Ребята подскажите...
Необходимо сравнить первый пик гистограммы со вторым, если второй меньше по абс величине, то открыть бай при условии, что оба они ниже нуля и после этого первому пику присвоить значение второго, Если же после образования первого пика столбец гистограммы перешел с отриц в полож область, то отменить наличие первого пика, как это у меня - т.е. по условию сбрасываем оба флага.
У меня получается следующее, что я когда идентифицирую параметры первого пика, то это же условие (те же параметры) выполняется и для второго - а это ошибка... мне бы как-нибудь "развести" эти факты (с их уникальными параметрами) образования фигур 1 и 2, привожу свой код и рисунок для бая...
Ребята отзовитесь кто может помоч по созданию робота для торгов, просто есть идея и нужна помощь по её реализации, сам в програмировании не силён, можно даже за деньги, но разумные!
Ребята отзовитесь кто может помоч по созданию робота для торгов, просто есть идея и нужна помощь по её реализации, сам в програмировании не силён, можно даже за деньги, но разумные!
Не могу понять.
Написано по-русски, но понять не могу раздел Cправочника https://docs.mql4.com/ru/basis/variables/formal
Цитирую:
Параметры по ссылке можно передавать только в пределах одного модуля....... (О каком модуле идет речь?)
Массивы также можно передавать по ссылке, все изменения отразятся в исходном массиве. (Изменяет элементы массива?)
Я открыл отложенный ордер -
Ticket = OrderSend(...,OP_SELLSTOP,...,TP,SL);
If(Ticket>0)
{всё хорошо, ждём пока исполнится отложенный ордер, если исполнился значит всё хорошо}
else
{ждём пока ЗАКРОЕТСЯ следующий бар и если ордер не открылся, закрываем его принудительно функцией OrderDelite();}
помогите программным кодом
"ждём пока исполнится отложенный ордер"
"ждём пока ЗАКРОЕТСЯ следующий бар и если ордер не открылся, закрываем его принудительно функцией OrderDelite();"
как правильно заменить это функцией iLowest?
minimum=Low[iLowest (NULL, 0, MODE_LOW, KPeriod, 0)] - так?
Вопрос???
{ждём пока ЗАКРОЕТСЯ следующий бар и если ордер не открылся, закрываем его принудительно функцией OrderDelite();}
помогите программным кодом
"ждём пока исполнится отложенный ордер"
"ждём пока ЗАКРОЕТСЯ следующий бар и если ордер не открылся, закрываем его принудительно функцией OrderDelite();"
вы должны немного понять логику и суть работы с ордерами.
Для того, чтоб выполнять отложенную обработку или ожидание какого то события, вы должны запомнить текущее состояние системы и сравнивать его с тем, которое ожидаете.
в вашем случае вы имеете одно событие - Отркылся новый бар, но ордер не сработал.
для этого можно таким путём:
- запомнить параметр Ticket, и время бара, на котором открылись. И постоянно сравнивать запомненное время и текущее. и если появился новый бар, то тут же взять запоменнный тикет и проверить каким типом он является - рыночным или начальным отложенным. И если он отложенный то удалить его.
Этот вариант не предназначен для реала, а только для тестера.
----------
Итого вам понадобится Time[], OrderSelect(), OrderType(), OrderCloseTime()