BaceK1>>: А как открыть позицию в точно назначенное время? К примеру необходимо открыть позицию в 00.15 локального времени.
если (час == 0 && минута==15) {то делаем вот это;}
по советнику разберитесь там гдето потеряны (а гдето для компенсации лишние) скобки:
//+------------------------------------------------------------------+//| Полуночник.mq4 |//| BaceK |//+------------------------------------------------------------------+#property copyright "BaceK"#property link ""//---- input parametersexternint Dist_SL=20;externint Dist_TP=30;externdouble Prots=0.35;int start(){string Symb=Symbol();// Финанс. инструментint Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Мин. дистанция //Alert("Мин. дистанция = ",Min_Dist);double Min_Lot=MarketInfo(Symb,MODE_MINLOT);// Мин. размер лота//Alert("Мин. размер лота = ",Min_Lot);double Free =AccountFreeMargin();// Свободн средства//Alert("Свободн средства = ",Free);double One_Lot=MarketInfo(Symb,MODE_MARGINREQUIRED);//Стоим.лота//Alert("Стоим.лота = ",One_Lot);double Lot=MathFloor((Free*Prots)/(One_Lot*Min_Lot))*Min_Lot;// Лоты//Alert("Лоты = ",Lot);//Alert("Bars = ",Bars);//-----------------------------------------------if( Lot !=0)// Проверка свободных срелств {//Alert("Работа дальше = ",OrderSymbol());// Проверка рабочего времениint h=TimeHour(TimeCurrent());if( h <1){for(int i=1; i<=OrdersTotal(); i++)// Цикл перебора ордер{if(OrderSelect(i-1,SELECT_BY_POS)==true)// Если есть следующий{// Анализ ордеров:if(OrderSymbol()!= Symb)// Не наш фин.инструм.{//Alert("Работа дальше = ",OrderSymbol());// Определение в какую сторону открыватьсяif(iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)<0){//Alert("Длинная позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));int ticket=OrderSend(Symb,OP_BUY,Lot,Ask,3,Bid-Dist_SL*Point,Bid+Dist_TP*Point);}else{//Alert("Короткая позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));int ticket1=OrderSend(Symb,OP_SELL,Lot,Bid,3,Bid+Dist_SL*Point,Bid-Dist_TP*Point);}if(ticket>0|| ticket1>0)// Получилось :){// Alert ("Установлен ордер SELL ",ticket || ticket1);Sleep(5000);}else{int Error=GetLastError();// Не получилось :(switch(Error)// Преодолимые ошибки{case129:...................................
}switch(Error)// Критические ошибки{case2: ...................................
}//Alert (GetLastError());return(0);}}else{//Alert("Выход по Symb = ",Symb);return(0);}}//это скобка закрывающая for() почему после неё идёт else ???????? else{//Alert("Выход по ордеров нет = ",Symb);if(iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)<0){//Alert("Длинная позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));int ticket2=OrderSend(Symb,OP_BUY,Lot,Ask,3,Bid-Dist_SL*Point,Bid+Dist_TP*Point);}else{//Alert("Короткая позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));int ticket3=OrderSend(Symb,OP_SELL,Lot,Bid,3,Bid+Dist_SL*Point,Bid-Dist_TP*Point);}if(ticket2>0|| ticket3>0)// Получилось :){Sleep(5000);//Alert ("Установлен ордер SELL ",ticket2 || ticket3); }else{int Error1=GetLastError();// Не получилось :(switch(Error1)// Преодолимые ошибки{case129:................................
}switch(Error1)// Критические ошибки{case2: ..........................
}Alert(GetLastError());return(0);}}}// дальше я не могу отследить что откуда ?????????????????????????????????????????????????????????//?????????????????????????????????????????????????????????????????????????????????????????????????}else{// Alert("Выход по времени = ",Hour());return(0);}}else{return(0);}//Alert("Выход по Lot = ",Lot);return(0);//Alert ("Скрипт закончил работу -----------------------------");}//+------------------------------------------------------------------+
блин бот не даёт весь код выложить, прийдётся резать. Порезал switch() чтоб влезло.
Как бы мне всю доступную историю записать в файл в ввиде таких строк
O;H;L;C;volume;MA3;MA5;MA7;MA13; ... и другие индикаторы далее
На H1 таймфрейме?
Спасибо
//+------------------------- WritingLineInFile() ----------------------------//| Дописывание строки в конец файла//+---------------------------------void WritingLineInFile(string FlName,string Text){int file_handle=FileOpen(FlName, FILE_CSV|FILE_READ|FILE_WRITE," ");if(file_handle>0){FileSeek(file_handle,0,SEEK_END);FileWrite(file_handle,Text);FileClose(file_handle);}else{Print("Ошибка ",GetLastError()," - Не удалось открыть файл ",FlName);}}//---------------------------------------------------------------------------
Это пользовательская подпрограмма, которая дописывает текстовую строку в конец файла. Её размещаем за функцией старт. В самом же старте используем приметно так:
// --------- Генерируем имя файла ------------
FileName=Symbol()+"_"+DoubleToStr(Day(),0)+"_"+DoubleToStr(Month(),0)+"_"+DoubleToStr(Year(),0)+".txt";
TextInFile=TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);
TextInFile=TextInFile+" "+DoubleToStr(Bid,Digits);
Только вчера впервые опробовал MQL5. И получил проблему с кнопкой. Подскажите пожалуйства как задать координату кнопки, изменить цвет, задать текст и как получить ответный сигнал от нее о нажатии. Где можно почитать, а то я старой справкой пользовался, которая еще до выхода MT5 была опубликована. Где можно почитать никто не подскажет? Спасибо. :)
Только вчера впервые опробовал MQL5. И получил проблему с кнопкой. Подскажите пожалуйства как задать координату кнопки, изменить цвет, задать текст и как получить ответный сигнал от нее о нажатии. Где можно почитать, а то я старой справкой пользовался, которая еще до выхода MT5 была опубликована. Где можно почитать никто не подскажет? Спасибо. :)
А как открыть позицию в точно назначенное время? К примеру необходимо открыть позицию в 00.15 локального времени.
если (час == 0 && минута==15) {то делаем вот это;}
по советнику разберитесь там гдето потеряны (а гдето для компенсации лишние) скобки:
блин бот не даёт весь код выложить, прийдётся резать. Порезал switch() чтоб влезло.
Как бы мне всю доступную историю записать в файл в ввиде таких строк
O;H;L;C;volume;MA3;MA5;MA7;MA13; ... и другие индикаторы далее
На H1 таймфрейме?
Спасибо
Как бы мне всю доступную историю записать в файл в ввиде таких строк
O;H;L;C;volume;MA3;MA5;MA7;MA13; ... и другие индикаторы далее
На H1 таймфрейме?
Спасибо
Это пользовательская подпрограмма, которая дописывает текстовую строку в конец файла. Её размещаем за функцией старт. В самом же старте используем приметно так:
спасибо!
а подскажите еще как организовать проход по всей истории?
чтобы у меня файл содержал данные H1 с 1999 по 2009 год
Планирую ставить новую операционную систему чисто под тестер, кто знает в какой ОС быстрее тесты идут?
Добрый вечер.
Только вчера впервые опробовал MQL5. И получил проблему с кнопкой. Подскажите пожалуйства как задать координату кнопки, изменить цвет, задать текст и как получить ответный сигнал от нее о нажатии. Где можно почитать, а то я старой справкой пользовался, которая еще до выхода MT5 была опубликована. Где можно почитать никто не подскажет? Спасибо. :)
Добрый вечер.
Только вчера впервые опробовал MQL5. И получил проблему с кнопкой. Подскажите пожалуйства как задать координату кнопки, изменить цвет, задать текст и как получить ответный сигнал от нее о нажатии. Где можно почитать, а то я старой справкой пользовался, которая еще до выхода MT5 была опубликована. Где можно почитать никто не подскажет? Спасибо. :)
Вам сюда... 'Бета-тестирование MetaTrader 5 началось!'
Вам сюда... 'Бета-тестирование MetaTrader 5 началось!'
Спасибо большое. :)Планирую ставить новую операционную систему чисто под тестер, кто знает в какой ОС быстрее тесты идут?
И все таки, ну не открывать же новую тему по этому вопросу?
ХР и тему закрываем...
)))