simplesar_ea2.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «simplesar_ea2.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник автоматизирует процесс управления ордерами, используя концепцию параболического SAR для определения уровней входа и стоп-лосса.
При отсутствии открытых позиций и отложенных ордеров советник выставляет два отложенных ордера — BUYSTOP и SELLSTOP — на уровнях, рассчитанных с учётом параметра SAR_Step. Для защиты позиций используется механизм трейлинга стоп-лосса с шагом, задаваемым параметром TrailingStep.
Советник фильтрует ордера по магическому числу MAGICMA и символу графика, что позволяет использовать его одновременно на нескольких инструментах без взаимного влияния. Все торговые операции выполняются через стандартные торговые функции MetaTrader 4.
Настройки программы
| Настройка | Описание |
|---|---|
| SAR_Step | Шаг параболического SAR в пунктах. Определяет расстояние от текущей цены до уровня отложенного ордера, а также величину стоп-лосса при управлении позициями. |
| TrailingStep | Шаг трейлинга стоп-лосса в пунктах. Задаёт минимальное расстояние перемещения стоп-лосса при обновлении уровня защиты позиции. |
| Lots | Объём торговой сделки в лотах. Используется при открытии отложенных ордеров BUYSTOP и SELLSTOP. |
Поиск по коду файла
#define MAGICMA 3567510
extern int SAR_Step=300;
extern int TrailingStep=50;
extern double Lots=0.1;
int TicketB, TicketS, TicketBS, TicketSS;
double SAR_Step_Point, TrailingStep_Point;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
void CalculateCurrentOrders(string symbol)
{
TicketB=0; TicketS=0; TicketBS=0; TicketSS=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY) TicketB=OrderTicket();
if(OrderType()==OP_SELL) TicketS=OrderTicket();
if(OrderType()==OP_BUYSTOP) TicketBS=OrderTicket();
if(OrderType()==OP_SELLSTOP) TicketSS=OrderTicket();
}
}
}
int start()
{
// код доступен только после оплаты
}
int res;
double Old_Level, New_Level, P_Level;
CalculateCurrentOrders(Symbol());
if (TicketB>0)
{
if (OrderSelect(TicketB,SELECT_BY_TICKET,MODE_TRADES))
{
New_Level=NormalizeDouble(Bid-SAR_Step_Point,Digits);
Old_Level=OrderStopLoss();
if (New_Level-Old_Level>=TrailingStep_Point)
{
New_Level=Old_Level+MathFloor((New_Level-Old_Level)/TrailingStep_Point)*TrailingStep_Point;
New_Level=NormalizeDouble(New_Level,Digits);
OrderModify(OrderTicket(), 0, New_Level, 0, 0);
P_Level=NormalizeDouble(New_Level+SAR_Step_Point-Bid+Ask,Digits);
Показано первые 50% кода (символов: 2462)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.