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

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

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

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

О программе

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

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

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

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

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 MA50H = MathRound(iMA(NULL,0,50,0,MODE_LWMA,PRICE_HIGH,0)/Point)*Point;
   double MA50L = MathRound(iMA(NULL,0,50,0,MODE_LWMA,PRICE_LOW,0)/Point)*Point;
   double Spread = Ask-Bid; // MarketInfo(TradeSymbol,MODE_SPREAD);
   double BuyPrice      =MA50H + Spread+PipDifference*Point;
   double BuyStopLoss   =MA50L - Point;
   double BuyTakeProfit =MA50H +(PipDifference+TakeProfit)*Point;
   double SellPrice     =MA50L -(PipDifference)*Point;
   double SellStopLoss  =MA50H + Spread+Point;
   double SellTakeProfit=MA50L - 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