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

rutka.mq4

Похожие материалы по тегам

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговsma crossover scalper ea for mt4.mq4MQL4 / MetaTrader 4 · 1 общих теговr15 pivot points expert advisor by @fundedmillionairess.mq4MQL4 / MetaTrader 4 · 1 общих теговnewstrader.mq5MQL5 / MetaTrader 5 · 1 общих теговmm3.0_flip_codepro_v3.1_with_cooldown@lifeindreamsworld.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

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

Включает систему управления рисками с возможностью расчёта размера лота на основе свободного маржи счёта или фиксированного значения лота. Использует магический номер для идентификации собственных ордеров и работает на текущем таймфрейме. Советник проверяет минимальное количество баров и корректность параметра тейк-профита перед началом торговой сессии.

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

НастройкаОписание
TakeProfit Тейк-профит — Длина тейк-профита в пунктах, определяет уровень фиксации прибыли для открытых позиций и отложенных ордеров.
TrailingStop Трейлинг-стоп — Расстояние трейлинг-стопа в пунктах, задаёт отступ стоп-лосса от текущей цены при движении позиции в прибыльную сторону.
PipDifference Разница в пипах — Размер смещения цены размещения ордера относительно расчётного уровня в пунктах, используется при формировании цен входа.
LotsIfNoMM Лот без управления рисками — Фиксированный размер лота, применяемый при отключённой системе автоматического управления размером позиции.
MaximumRiskIfMM Максимальный риск при управлении — Параметр максимального допустимого риска, используемый при расчёте размера лота в режиме автоматического управления маржой.
Получить полный код

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

extern int TakeProfit = 999;
extern int TrailingStop = 999;
extern int PipDifference = 25;
extern bool EnableMM? = false;
extern double LotsIfNoMM = 0.1;
extern double MaximumRiskIfMM = 10;

double LastLogTime,NoTouchBarLong,NoTouchBarShort;

int start(){
      // код доступен только после оплаты
   }
   int cnt, ticket;
   if(Bars<100){
      Print("bars less than 100");
      return(0);
   }
   if(TakeProfit<10){
      Print("TakeProfit less than 10");
      return(0);
   }
   string TradeSymbol = Symbol();
   double MA144H = MathRound(iMA(NULL,0,144,0,MODE_EMA,PRICE_HIGH,1)/Point)*Point;
   double MA144L = MathRound(iMA(NULL,0,144,0,MODE_EMA,PRICE_LOW,1)/Point)*Point;
   double Spread = Ask-Bid; // MarketInfo(TradeSymbol,MODE_SPREAD);
   double BuyPrice      = MA144H + Spread+PipDifference*Point;
   double BuyStopLoss   = MA144L - Point;
   double BuyTakeProfit = MA144H +(PipDifference+TakeProfit)*Point;
   double SellPrice     = MA144L -(PipDifference)*Point;
   double SellStopLoss  = MA144H + Spread+Point;
   double SellTakeProfit= MA144L - Spread-(PipDifference+TakeProfit)*Point;
   double lot;
   double close=iClose(NULL,0,1);
   int total=OrdersTotal();

   if (EnableMM?) lot=NormalizeDouble(AccountFreeMargin()*MaximumRiskIfMM/50000,1);
      else lot=LotsIfNoMM;

   bool need_long  = true;
   bool need_short = true;

   for(cnt=0;cnt<total;cnt++) {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderMagicNumber() == 16384){
         if(OrderType() == OP_BUYSTOP){
            need_long = false;
            NoTouchBarLong=iTime(NULL,0,0);
            if (OrderStopLoss()!=BuyStopLoss){
               Print(BuyStopLoss, " ",OrderStopLoss());

               OrderModify(OrderTicket(),BuyPrice,BuyStopLoss,BuyTakeProfit,0,Green);
            }
         }
         if(OrderType() == OP_SELLSTOP){
            need_short = false;
            NoTouchBarShort=iTime(NULL,0,0);
            if (OrderStopLoss()!=SellStopLoss){
               Print(SellStopLoss, " ",OrderStopLoss());
               OrderModify(OrderTicket(),SellPrice,SellStopLoss,SellTakeProfit,0,Green);
            }
         }
         if(OrderType()==OP_BUY){

            if (IsTesting() && LastLogTime != iTime(NULL,PERIOD_H1,1)) 
            {
               LastLogTime=iTime(NULL,PERIOD_H1,1);
               OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit()+Point*1,0,Cyan);
            }

            need

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

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

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

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

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

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

Стоимость полного кода
355,90₽ ≈ $4.35