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

rutka1_50smma.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

rutka1_50smma — это торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник рассчитывает уровни входа и стоп-лосса на основе сглаженной скользящей средней (SMMA) периода 13, построенной по ценам High и Low, и размещает отложенные ордера BUYSTOP и SELLSTOP.

При формировании ордеров учитывается текущий спред, заданное расстояние в пунктах (PipDifference) и уровень тейк-профита (TakeProfit). Лот рассчитывается автоматически на основе свободного маркса и параметра MaximumRisk. Советник также отслеживает уже открытые позиции и отложенные ордера с magic number 16384, при необходимости модифицируя или удаляя их.

Управление рисками включает в себя функцию TrailingStop для перемещения стоп-лосса по рынку в сторону прибыли, а также проверку достаточности средств на счёте перед открытием новых позиций. Если свободный маркс недостаточен или количество баров на графике менее 100, советник прерывает работу.

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

НастройкаОписание
TakeProfit Расстояние в пунктах до уровня тейк-профита от цены входа. Значение по умолчанию — 850.
TrailingStop Расстояние в пунктах для активации перемещения стоп-лосса по рынку в сторону прибыли. Значение по умолчанию — 850.
PipDifference Смещение в пунктах для установки цен входа и выхода относительно уровней SMMA. Значение по умолчанию — 25.
Lots Размер лота для открытия позиции. Значение по умолчанию — 0.1.
MaximumRisk Параметр риска, используемый для автоматического расчёта размера лота на основе свободного маркса. Значение по умолчанию — 10.
Получить полный код

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

extern int TakeProfit = 850;
extern int TrailingStop = 850;
extern int PipDifference = 25;
extern double Lots = 0.1;
extern double MaximumRisk = 10;

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 MA13H = MathRound(iMA(NULL,0,13,0,MODE_SMMA,PRICE_HIGH,0)/Point)*Point;
   double MA13L = MathRound(iMA(NULL,0,13,0,MODE_SMMA,PRICE_LOW,0)/Point)*Point;
   double Spread = Ask-Bid; // MarketInfo(TradeSymbol,MODE_SPREAD);
   double BuyPrice      =MA13H + Spread+PipDifference*Point;
   double BuyStopLoss   =MA13L - Point;
   double BuyTakeProfit =MA13H +(PipDifference+TakeProfit)*Point;
   double SellPrice     =MA13L -(PipDifference)*Point;
   double SellStopLoss  =MA13H + Spread+Point;
   double SellTakeProfit=MA13L - Spread-(PipDifference+TakeProfit)*Point;
   double lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/50000,1);
   double close=iClose(NULL,0,0);
   int total=OrdersTotal();

   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;
            if (OrderStopLoss()!=BuyStopLoss){
               Print(BuyStopLoss, " ",OrderStopLoss());
               OrderModify(OrderTicket(),BuyPrice,BuyStopLoss,BuyTakeProfit,0,Green);
            }
         }
         if(OrderType() == OP_SELLSTOP){
            need_short = false;
            if (OrderStopLoss()!=SellStopLoss){
               Print(SellStopLoss, " ",OrderStopLoss());
               OrderModify(OrderTicket(),SellPrice,SellStopLoss,SellTakeProfit,0,Green);
            }
         }
 

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

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

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

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

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

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

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