mmts_expert.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «mmts_expert.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
MMTS_Expert — советник для MetaTrader 4, работающий в рамках торговой сессии, задаваемой пользователем. В начале указанного часа, в течение 15 минут, эксперт рассчитывает уровни для установки отложенных ордеров Buy Stop и Sell Stop на основе сравнения максимумов и минимумов двух последних баров. Если на рынке уже есть открытые позиции в противоположном направлении, соответствующие отложенные ордера удаляются.
Советник позволяет задать объём позиции, стоп-лосс и тейк-профит в пунктах. Все открытые ордера закрываются в конце торговой сессии — в заданном часе, когда минуты достигают 45. Также доступна опция отображения текущих параметров расчёта на графике в виде комментариев.
Эксперт использует стандартные торговые функции MetaTrader 4 для отправки, закрытия и удаления ордеров. Логика работы ограничена временными рамками сессии и не включает управление следящим стопом, несмотря на наличие соответствующего параметра.
Настройки программы
| Настройка | Описание |
|---|---|
| Order_Hour | Час начала торговой сессии и расчёта уровней для входа в рынок. |
| Entry_Pips | Смещение уровня входа в пунктах при расчёте цен для отложенных ордеров Buy Stop и Sell Stop. |
| CloseOrdersHour | Час закрытия всех открытых ордеров (в совокупности с параметром минуты 45). |
| ShowComments | Переключатель отображения комментариев с текущими расчётными параметрами на графике. |
| Lots | Объём лота для открытия ордеров. |
| StopLoss | Стоп-лосс в пунктах для открытых ордеров. |
| TakeProfit | Тейк-профит в пунктах для открытых ордеров. |
| TrailingStop | Значение следящего стопа в пунктах (параметр объявлен, но не используется в логике советника). |
Поиск по коду файла
extern int Order_Hour=13;
extern int Entry_Pips=4;
extern int CloseOrdersHour=20;
extern bool ShowComments=true;
extern double Lots = 1.0;
extern double StopLoss = 30;
extern double TakeProfit = 150;
extern double TrailingStop = 0;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
int cnt,OpenSells,OpenSellStops,OpenBuys,OpenBuyStops,ticket;
if (Hour() >= Order_Hour)
{
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol())//check for opened position and symbol
{
if (OrderType()==OP_SELL) {OpenSells++;}
if (OrderType()==OP_SELLSTOP) {OpenSellStops++;}
if (OrderType()==OP_BUY) {OpenBuys++;}
if (OrderType()==OP_BUYSTOP) {OpenBuyStops++;}
}
}
}
if (Hour() >= Order_Hour)
{
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol())//check for opened position and symbol
{
if (OrderType()==OP_SELLSTOP && OpenBuys>0) OrderDelete( OrderTicket());
if (OrderType()==OP_BUYSTOP && OpenSells>0) OrderDelete( OrderTicket());
if (Hour() >= CloseOrdersHour && Minute() >= 45 && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
if (Hour() >= CloseOrdersHour && Minute() >= 45 && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
}
}
}
double spread=(Ask-Bid);//+Entry_Pips);
double buyPrice=0.0;
double sellPrice=0.0;
double high=0.0,low=0.0,newsSpread=0.0;
datetime AlertTime;
if (Hour()==Order_Hour && Minute() < 15)
{
if (High[1] > High[2])
{
buyPrice=High[1] + spread + Entry_Pips*Point;
high=High[1];
}
else//if (High[1] < High[2])
{
buyPrice=High[2] + spread + Entry_Pips*Point;
Показано первые 50% кода (символов: 2820)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.