Без сомнения, очень просто...
Раньше я бы наверняка возмутился, но судя по тому как работу нашего брата любят оценивать материально ниже плинтуса, скажу просто - жжошь :)
Я не програмист, так что мозгов хватило только на это:
Этот советник открывает одну сделку по указанному времени, ему всё равно сколько времени сейчас на сервере, сделка
откроется по локальному времени компьютера.
В переменную "Тип_операции"можно вписывать только одно из двух значений: 0 - покупка,1 - продажа.
Возможные косяки:
1 При наступлении времени(Дата)ТС в течении 3 минут будет пытаться выставить ордер, если ей по какой либо причине(реквоты, нет
нового тика, и т.д. )не удастся открыть позицию,то значит не повезло.
2 Если всетаки позиция была открыта, и вдруг быстро закрылась(сработал S/L или T/P), но с момента открытия до закрытия позиции
прошло менее 3 минут,то может быть автоматически выставлен еще один ордер.:)
Это точно, не программист. Особенно понравилось выставление нужной даты. :-)
Занялись бы Вы чем-нибудь другим.
extern datetime Дата=1199145600; extern int Тип_операции=1; extern int StopLoss=50; extern int TakeProfit=50; extern double Lots=0.1; int x,ticket; int start() { //---- x=Дата-TimeLocal(); if((x<=0)&&(x>-180)) { if(ticket>0) { OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES); if(OrderCloseTime()==0) { return(0); } } if(Тип_операции==0) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"Открытие по времени",89584,0,Green); }else { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"Открытие по времени",89584,0,Red); } } //---- return(0); }
Все с чего-то начинают, я учусь программировать для себя, и не утверждаю что мой код правильный, но он работает.
Если не сложно скажите в двух словах что в выcтавлении нужной даты вам очень "понравилось"? :)
Это?
extern datetime Дата=1199145600;Или это?
x=Дата-TimeLocal(); if((x<=0)&&(x>-180))
Или то что "х" объявлена как "int"?
Или что ордер откроется по локальному времени ПК?
А оба косяка которые здесь в принципе возможны, я исправлю сегодня будет время, я подумаю и исправлю.
йоп алгоритм же прост
var
т= 09:00:00 \\ время по гринвичу ( +- 5 сек)
l=0,1 \\лот
p=25 \\профит
s=100 \\стоплосс
para= eurusd
goto 1
бегин
если время сервера=t времени по гринвичу то ((открыть Sell( L, para) c параметрами P и S) and (открыть Bay (L, para) c параметрами P и S)) and (goto 2)
иначе goto1
goto 2
энд
как то так.. преведите плиз на MQL4))
в опщем система такова:
при открытии любого рынка (в данном случае азиатского) колебания цен около 25 пипсов в каждую сторону, но менее 100 (просадка).. в этом и суть открываем сразу "замок" вышибает сначала одну позицию по профиту, далее другую.. хотя можно и усовершенствовать переворотом при закрытии первой из позиций -- в теории)
нееее вторую тож по профиту.. грят же колебания около 25 в каждую сторону от точки открытия...
допустим открылись в 0 точке... открыты две позиции замком с профитом в 25 и стопами в 100... сначала рынок пошел в верх вышиб по профиту бай, развернулся ( с просадкой 75) (тут можна открыть вторую позицию на селл), пошел дальше прошел нулевую точку и выбил по профиту селл... теория йоп) но сто пудов по 10 пипсов можна снимать..
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день. Подскажите плиз возможно ли открывать автоматически позицию в конкретно заданное время? киньте сцылку на советника или сюда же кусок кода.
допустим сразу в коде жестко указать:
пара - eurusd
тип - селл
лот - 0,1
тейкпрофит - 50
стоплосс - 50
время открытия - каждый день в 9:00 GTM
+ никаких подтверждений на открытие, автоматом
думается мне, что эт очень просто реализовать.. просто для программеров)