Breakeven EA v1.3
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «breakeven ea v1.3.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Breakeven EA v1.3 — торговый советник для MetaTrader 4, автоматизирующий перевод стоп-лосса открытых ордеров в безубыточную зону. После достижения заданного уровня прибыли советник модифицирует стоп-лосс, фиксируя потенциальный доход и снижая риск убытка. Советник поддерживает фильтрацию ордеров по magic number и номеру ордера, что позволяет применять его выборочно к определённым позициям. Работает как с 3/5-значными, так и с 2/4-значными брокерами, автоматически корректируя расчёты.
Встроенная информационная панель отображает на графике параметры настройки и данные по ордерам с возможностью настройки цвета и размера шрифта. Все графические объекты обновляются и очищаются при каждом запуске. Советник не открывает новые сделки — он только управляет существующими открытыми ордерами.
Настройки программы
| Настройка | Описание |
|---|---|
| Break_Even_After_X_Pips | Break Even After X Pips — Уровень прибыли в пипсах, после достижения которого стоп-лосс ордера переводится в безубыточную зону. |
| XpipsAboveBE | Xpips Above BE — Дополнительное расстояние в пипсах выше безубыточного уровня, на которое устанавливается стоп-лосс после перевода. |
| Show_Info | Show_Info — Переключатель отображения информационных меток на графике с параметрами и данными по ордерам. |
| Text_Color | Text_Color — Цвет текста информационных меток на графике. |
| font_size | font_size — Размер шрифта информационных меток на графике. |
| font_gap_distance | font_gap_distance — Расстояние в пикселях между строками информационных меток на графике. |
| useMagicNumber | useMagicNumber — Переключатель фильтрации ордеров по магическому номеру. При включении обрабатываются только ордера с заданным значением Magic. |
| Magic | Magic — Числовой идентификатор магического номера для фильтрации ордеров, к которым применяется перевод стоп-лосса. |
| Part2 | Part2 — Текстовый параметр-разделитель, объявленный в настройках советника. |
| useOrderNumber | useOrderNumber — Переключатель фильтрации ордеров по номеру ордера. При включении обрабатывается только ордер с заданным значением OrderNumber. |
| OrderNumber | OrderNumber — Номер ордера для выборочной фильтрации — перевод стоп-лосса применяется только к ордеру с указанным тикетом. |
Поиск по коду файла
extern double Break_Even_After_X_Pips = 15.0;
extern double XpipsAboveBE = 1.6;
extern bool Show_Info = true;
extern color Text_Color = Yellow;
extern int font_size = 9;
extern int font_gap_distance = 12;
extern bool useMagicNumber = false;
extern int Magic = 1234567;
extern string Part2="------------------------------";
extern bool useOrderNumber = false;
extern int OrderNumber = 123456789;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
DeleteAllObjects();
return(0);
}
int start()
{
// код доступен только после оплаты
}
void AdjustStopLoss()
{
string commentstr1, commentstr2, commentstr3, commentstr4;
if(Digits == 5 || Digits == 3)
{
commentstr1 = "Break Even After X Pips : "+Break_Even_After_X_Pips/10;
commentstr2 = "X pips Above BE : "+XpipsAboveBE/10;
}
else if(Digits == 4 || Digits == 2)
{
commentstr1 = "Break Even After X Pips : "+Break_Even_After_X_Pips;
commentstr2 = "\nX pips Above BE : "+XpipsAboveBE;
}
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
{
if(useMagicNumber == true)
{
if(useOrderNumber==true)
{
if(OrderTicket()== OrderNumber && OrderMagicNumber()==Magic && OrderStopLoss() != OrderOpenPrice())
{
if(Digits == 5 || Digits == 3)
{
commentstr3="#"+OrderTicket()+" "+OrderSymbol()+" "+FindOpType(OrderType())+" Pips : "+DoubleToStr(( OrderProfit() - OrderCommission() - OrderSwap() ) / OrderLots() / MarketInfo( OrderSymbol(), MODE_TICKVALUE )/10,1);
}
else if(Digits == 4 || Digits == 2)
{
commentstr4="#"+OrderTicket()+" "+OrderSymbol()+" "+FindOpType(OrderType())+" Pips : "+DoubleToStr(( OrderProfit() - OrderCommission() - OrderSwap() ) / OrderLots() / MarketInfo( OrderSymbol(), MODE_TICKVALUE ),1);
}
if(( OrderProfit() - OrderCommission() - OrderSwap()) / OrderLots() / MarketInfo( OrderSymbol(), MODE_TICKVALUE ) >= Break_Even_After_X_Pips)
{
if(OrderType()==OP_SELL)
{
if(OrderStopLoss() != OrderOpenPrice()-(XpipsAboveBE*Point))
{
if(OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-(XpipsAboveBE*Point),OrderTakeProfit(),0,Red))
{
}
}
}
if(OrderType()==OP_BUY)
{
if(OrderStopLoss() != OrderOpenPrice()+(XpipsAboveBE*Point))
{
if(OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+(XpipsAboveBE*Point),OrderTakeProfit(),0,Blue))
{
}
}
}
}
}
}
else
{
if(OrderMagicNumber()==Magic && OrderStopLoss() != OrderOpenPrice())
{
if(Digits == 5 || Digits == 3)
{
commentstr3="#"+OrderTicket()+" "+OrderSymbol()+" "+FindOpType(OrderType())+" Pips : "+DoubleToStr(( OrderProfit() - OrderCommission() - OrderSwap() ) / OrderLots() / MarketInfo( OrderSymbol(), MODE_TICKVALUE )/10,1);
}
else if(Digits == 4 || Digits == 2)
{
commentstr4="#"+OrderTicket()+" "+OrderSymbol()+" "+FindOpType(OrderType())+" Pips : "+DoubleToStr(( OrderProfit() - OrderCommission() - OrderSwap() ) / OrderLots() / MarketInfo( OrderSymbol(), MODE_TICKVALUE ),1);
}
if(( OrderProfit() - OrderCommission() - OrderSwap() ) / OrderLots() / MarketInfo( OrderSymbol(), MODE_TICKVALUE ) >= Break_Even_After_X_Pips)
{
if(OrderType()==OP_SELL)
{
if(OrderStopLoss() != OrderOpenPrice()-(XpipsAboveBE*Point))
{
if(OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-(XpipsAboveBE*Point),OrderTakeProfit(),0,Red))
{
}
}
}
if(OrderType()==OP_BUY)
{
if(OrderStopLoss() != OrderOpenPrice()+(XpipsAboveBE*Point))
{
if(OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+(XpipsAboveBE*Point),OrderTakeProfit(),0,Blue))
{
}
}
}
}
}
}
}
else if(useMagicNumber == false)
{
if(useOrderNumber==true)
{
if(OrderTicket()== OrderNumber && OrderПоказано первые 50% кода (символов: 6622)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.