← К каталогу
Исходный код · ID 27

Breakeven EA

breakeven.mq4
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный продукт представляет собой торговый советник для платформы MetaTrader 4, предназначенный для автоматической корректировки стоп-лоссов на открытых ордерах. Когда прибыль по ордеру достигает заданного уровня, советник перемещает стоп-лосс до уровня безубыточности с дополнительным отступом в пунктах.

Советник поддерживает фильтрацию ордеров по магическому номеру, что позволяет применять его к определённым сделкам. Также предусмотрена возможность отображения информации по ордерам в виде текстовых меток на графике с настраиваемыми параметрами шрифта и цвета.

Продукт корректно работает как с четырёх-, так и с пятизначными котировками брокеров, автоматически адаптируя расчёты. Управление основными параметрами осуществляется через внешние настройки, доступные в интерфейсе советника.

Настройки программы

НастройкаОписание
Break_Even_After_X_Pips Безубыточность после X пунктов — Уровень прибыли в пунктах, после достижения которого стоп-лосс перемещается до безубыточности.
XpipsAboveBE Пунктов выше безубыточности — Количество пунктов выше уровня безубыточности, на который устанавливается стоп-лосс после срабатывания.
Show_Info Показывать информацию — Включает или отключает отображение информационных меток на графике.
Text_Color Цвет текста — Цвет текста информационных меток на графике.
font_size Размер шрифта — Размер шрифта информационных меток на графике.
font_gap_distance Расстояние между метками — Вертикальный отступ между текстовыми метками на графике в пикселях.
useMagicNumber Использовать магический номер — Включает или отключает фильтрацию ордеров по магическому номеру.
Magic Магический номер — Магический номер для фильтрации ордеров, к которым применяется советник.
Получить полный код

Поиск по коду файла

extern int Break_Even_After_X_Pips = 300;
extern int XpipsAboveBE = 10;
extern bool Show_Info = true;
extern color Text_Color = Red;
extern int font_size = 9;
extern int font_gap_distance = 12;
extern bool useMagicNumber = false;
extern int Magic = 1234567;

int init()
{
      // код доступен только после оплаты
   }

int deinit()
{
   DeleteAllObjects();
   return(0);
}

int start()
{
      // код доступен только после оплаты
   }

void AdjustStopLoss()
{
   string commentstr1, commentstr2, commentstr3, commentstr4;
   int index;
   if(Digits == 5)
   {
      commentstr1 = "Break Even After X Pips : "+Break_Even_After_X_Pips/10;
      commentstr2 = "X pips Above BE : "+XpipsAboveBE/10;
   }
   else if(Digits == 4)
   {
      commentstr1 = "Break Even After X Pips : "+Break_Even_After_X_Pips;
      commentstr2 = "\nX pips Above BE : "+XpipsAboveBE;   
   }
   for(int cnt=0;cnt<OrdersTotal();cnt++)
   {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(useMagicNumber == true)
      {
         if(OrderMagicNumber()==Magic && OrderStopLoss() != OrderOpenPrice())
         {
            if(Digits == 5)
            {
               commentstr3="#"+OrderTicket()+" "+OrderSymbol()+" "+FindOpType(OrderType())+" Pips : "+DoubleToStr(( OrderProfit() - OrderCommission() ) / OrderLots() / MarketInfo( OrderSymbol(), MODE_TICKVALUE )/10,1);         
            }
            else if(Digits == 4)
            {
               commentstr4="#"+OrderTicket()+" "+OrderSymbol()+" "+FindOpType(OrderType())+" Pips : "+DoubleToStr(( OrderProfit() - OrderCommission() ) / OrderLots() / MarketInfo( OrderSymbol(), MODE_TICKVALUE ),1);         
            }
            if(( OrderProfit() - OrderCommission() ) / OrderLots() / MarketInfo( OrderSymbol(), MODE_TICKVALUE ) >= Break_Even_After_X_Pips)
            {
               if(OrderType()==OP_SELL){
                  OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-(XpipsAboveBE*Point),OrderTakeProfit(),0,Red);
               }
               if(OrderType()==OP_BUY){
                  OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+(XpipsAboveBE*Point),OrderTakeProfit(),0,Blue);
               }  
            }        
         }
      }
      else if(useMagicNumber == false)
      {
         if(OrderStopLoss() != OrderOpenPrice())
         {
            if(Digits == 5)
            {
               commentstr3="#"+OrderTicket()+" "+OrderSymbol()+" "+FindOpType(OrderType())+

Показано первые 50% кода (символов: 3903)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
390,30₽ ≈ $4.77