[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 99

 
ScioMe:

Сохранял, под этими именами, новый график открывается так же, по-старому. В папке 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;                                           // сбрасываем сигнал к покупке
 
 

 

Ребята отзовитесь кто может помоч по созданию робота для торгов, просто есть идея и нужна помощь по её реализации, сам в програмировании не силён, можно даже за деньги, но разумные!

 
ZahvatkiN:

Ребята отзовитесь кто может помоч по созданию робота для торгов, просто есть идея и нужна помощь по её реализации, сам в програмировании не силён, можно даже за деньги, но разумные!

могу за разумные деньги. пишите в личку или скайп abolk1
 

Не могу понять.

Написано по-русски, но понять не могу раздел Cправочника https://docs.mql4.com/ru/basis/variables/formal

Цитирую:

Параметры по ссылке можно передавать только в пределах одного модуля....... (О каком модуле идет речь?)

Массивы также можно передавать по ссылке, все изменения отразятся в исходном массиве. (Изменяет элементы массива?)

 
Всем привет, капаюсь на форуме уже целый день так и не нашел, подскажите, где можно скачать историю котировок euro usd 1 min в формате hst, csv или как ее лучше подгрузить за максимальный период времени, терминал только год выдает. Киньте пожалуйста ссылки или файлы. ЗАРАНЕЕ ПРИЗНАТЕЛЕН.
 
Вопрос???

Я открыл отложенный ордер -

Ticket = OrderSend(...,OP_SELLSTOP,...,TP,SL);

If(Ticket>0)

{всё хорошо, ждём пока исполнится отложенный ордер, если исполнился значит всё хорошо}

else

{ждём пока ЗАКРОЕТСЯ следующий бар и если ордер не открылся, закрываем его принудительно функцией OrderDelite();}

помогите программным кодом

"ждём пока исполнится отложенный ордер"

"ждём пока ЗАКРОЕТСЯ следующий бар и если ордер не открылся, закрываем его принудительно функцией OrderDelite();"

 
for(k=0; k<KPeriod; k++)              // перебрать KPeriod баров
  if(Low[k]<minimum) minimum=Low[k];  // найти минимум

как правильно заменить это функцией iLowest?

minimum=Low[iLowest (NULL, 0, MODE_LOW, KPeriod, 0)] - так?

 
robot:
Вопрос???

{ждём пока ЗАКРОЕТСЯ следующий бар и если ордер не открылся, закрываем его принудительно функцией OrderDelite();}

помогите программным кодом

"ждём пока исполнится отложенный ордер"

"ждём пока ЗАКРОЕТСЯ следующий бар и если ордер не открылся, закрываем его принудительно функцией OrderDelite();"

вы должны немного понять логику и суть работы с ордерами.

Для того, чтоб выполнять отложенную обработку или ожидание какого то события, вы должны запомнить текущее состояние системы и сравнивать его с тем, которое ожидаете.

в вашем случае вы имеете одно событие - Отркылся новый бар, но ордер не сработал.

для этого можно таким путём:

- запомнить параметр Ticket, и время бара, на котором открылись. И постоянно сравнивать запомненное время и текущее. и если появился новый бар, то тут же взять запоменнный тикет и проверить каким типом он является - рыночным или начальным отложенным. И если он отложенный то удалить его.

Этот вариант не предназначен для реала, а только для тестера.

----------

Итого вам понадобится Time[], OrderSelect(), OrderType(), OrderCloseTime()