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

platinum full.mq4

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

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

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

О программе

Данный продукт представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник автоматически анализирует дневные данные цены (максимум, минимум, закрытие) на часовом графике H1 и размещает отложенные ордера BuyStop и SellStop при выполнении заданных условий.

Советник работает только в торговые дни (понедельник–пятница) и запускается при появлении нового бара в указанный час (по умолчанию 17:00). Перед началом работы проверяется, что таймфрейм графика соответствует H1, в противном случае выводится предупреждение. Для идентификации своих ордеров используется магический номер.

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

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

НастройкаОписание
MaxReqSwing Минимально допустимый диапазон дневного движения цены (разница между максимумом и минимумом предыдущего дня) в пунктах. Условие для размещения ордеров: дневной диапазон должен быть не меньше этого значения.
Margin Минимально допустимое отклонение максимума и минимума предыдущего дня от цены закрытия в пунктах. Оба значения (highdiff и lowdiff) должны быть не меньше этого значения.
DeadBand Смещение от максимума и минимума предыдущего дня для установки цены размещения отложенных ордеров BuyStop и SellStop, измеряемое в пунктах.
StopLoss Расстояние стоп-лосса от цены размещения отложенного ордера, измеряемое в пунктах.
TakeProfit Расстояние тейк-профита от цены размещения отложенного ордера, измеряемое в пунктах.
MinLots Минимальный размер лота (параметр объявлен, но не используется в основной логике расчёта лотов).
MaxLots Максимальный размер лота (параметр объявлен, но не используется в основной логике расчёта лотов).
RiskFactor Коэффициент риска, используемый для расчёта размера лота на основе баланса счёта.
SL_Reverse Логический переключатель (параметр объявлен, но не используется в основной логике советника).
TriggerTime Час суток (0–23), при котором советник выполняет проверку условий и размещает ордера (по умолчанию 17).
ExpirationTime Время истечения срока действия отложенных ордеров в формате ЧЧ:ММ (по умолчанию 23:00).
magicno Магический номер для идентификации ордеров, размещённых данным советником.
Получить полный код

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

extern double    MaxReqSwing=90;
extern double    Margin=20;
extern double    DeadBand=20;
extern double    StopLoss=66;
extern double    TakeProfit=34;
extern double    MinLots=0.01;
extern double    MaxLots=10;
extern double    RiskFactor=0.075;
extern bool      SL_Reverse=false;
extern int       TriggerTime=17;
extern string    ExpirationTime="23:00";
extern int       magicno=888;
int cnbr_uey;
static int       LASTRUN;
static int       buy_orders_open=0;
static int       sell_orders_open=0;

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

int deinit()
  {

   return(0);
  }

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

   double yesterday_high=0;
   double yesterday_low=0;
   double yesterday_close=0;
   double maxdiff=0;
   double highdiff=0;
   double lowdiff=0;
   double stop=0;
   double TP=0;
   double lots=1;
   double price=0;
   int seed=0;
   int slip=5;
   int ticket=0;
   int i=0; // Counter

   double prev_day_highs[24];
   double prev_day_lows[24];

   while((TimeDayOfWeek(Time[0])  > 0) && (TimeDayOfWeek(Time[0]) <6))
      {
      Comment("It's a trading day!!");
      if ((LASTRUN == Time[0]))
         {
         return(0);
         Comment("It's a no go, no new bar!!");
         }
      else
         {
         LASTRUN = Time[0];
         Comment("Now we check whether the trigger time has come up");
         if (TimeHour(Time[0]) != TriggerTime)
            return(0);
         }

      Print("We're now executing the main code!!");

      ArrayCopySeries(prev_day_highs, MODE_HIGH, Symbol(), PERIOD_H1);
      ArrayCopySeries(prev_day_lows, MODE_LOW, Symbol(), PERIOD_H1);
      yesterday_close = iOpen(Symbol(), PERIOD_H1, 0);
      yesterday_high = prev_day_highs[ArrayMaximum(prev_day_highs, 24, 0)];
      yesterday_low = prev_day_lows[ArrayMinimum(prev_day_lows, 24, 0)];
Print("New daily stats : ", "Date : ", Month( ), "/", Day(), "Close ", yesterday_close, "  ", "High ", yesterday_high, "  ", "Low ", yesterday_low);

      maxdiff = yesterday_high - yesterday_low;
      highdiff = yesterday_high-yesterday_close;
      lowdiff = yesterday_close - ye

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

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

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

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

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

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

Стоимость полного кода
300,80₽ ≈ $3.68