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

night.mq5

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

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

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

О программе

Night.mq5 — торговый советник для платформы MetaTrader 5, работающий на таймфрейме M15. Советник анализирует данные ценовых котировок и показатели индикатора Stochastic, а также проверяет текущее время для определения торговых сессий. В коде реализована обработка событий тиков через OnTick, инициализация и деинициализация через OnInit и OnDeinit.

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

НастройкаОписание
Stop Loss (StopLoss) Стоп-лосс — Целочисленный уровень стоп-лосса в пунктах, задаёт максимальный допустимый убыток по позиции.
Take Profit (TakeProfit) Тейк-профит — Целочисленный уровень тейк-профита в пунктах, задаёт целевой уровень фиксации прибыли.
??????? ??????????????? Stochastic (Stoch_OverSold) Stoch_OverSold — Пороговое значение перепроданности индикатора Stochastic, при достижении которого рассматривается возможность открытия длинной позиции.
??????? ??????????????? Stochastic (Stoch_OverBought) Stoch_OverBought — Пороговое значение перекупленности индикатора Stochastic, при достижении которого рассматривается возможность открытия короткой позиции.
?????????? ????? ??? ???????? (Lot) Lot — Числовой параметр размера лота, задаёт номинальный объём сделки.
Magic Number ????????? (EA_Magic) EA_Magic — Целочисленный магический номер, используемый для идентификации ордеров, размещённых советником.
Получить полный код

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

#property version   "1.00"

input int      StopLoss=40;        // Stop Loss
input int      TakeProfit=20;      // Take Profit  
input int      Stoch_OverSold=30;  // ??????? ??????????????? Stochastic
input int      Stoch_OverBought=70;// ??????? ??????????????? Stochastic
input double   Lot=1;              // ?????????? ????? ??? ????????
input int      EA_Magic=1072010;   // Magic Number ?????????

int stochHandle;                   // ????? ?????????? Stochastic
double stochVal[5];                // ??????????? ?????? ??? ???????? ???????? ?????????? Stochastic ??? ??????? ????
int STP,TKP;                       // ????? ???????????? ??? ???????? Stop Loss ? Take Profit
double Lots=0.1;                   // ?????????? ????? ??? ????????  

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

void OnDeinit(const int reason)
  {

   IndicatorRelease(stochHandle);
  }

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

   MqlTradeRequest mrequest;   // ????? ?????????????? ??? ??????? ???????? ????????
   MqlTradeResult mresult;     // ????? ?????????????? ??? ????????? ??????????? ?????????? ???????? ????????  
   MqlDateTime dt;
   datetime t[];

   ZeroMemory(mrequest);
   ZeroMemory(mresult);
/*
     ????????? ?????????? ? ???????? ????????? ? ??????????? 
     ??? ? ??????????
*/

   ArraySetAsSeries(stochVal,true);
   ArraySetAsSeries(t,true);
   TimeCurrent(dt);

   int i=(dt.hour+1)*60;
   if(CopyTime(Symbol(),0,0,i,t)<0)
     {
      Print("?? ??????? ??????????? ?????????!");
      return;
     }

   if(CopyBuffer(stochHandle,0,0,3,stochVal)<0)
     {
      Alert("?????? ??????????? ??????? ?????????? Stochastic - ????? ??????:",GetLastError(),"!!");
      return;
     }
/*
    1. ???????? ??????? ??? ??????? :
    Stochastic ???? ???? ?????? ??????????????? 
*/
   double Ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK);            // ?????? ??????????? ?? ???????
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID);            // ?????? ??????????? ?? ???????

   bool Buy_Condition=(stochVal[1]<Stoch_OverSold);               // Stochastic ???? ?????? ???????????????

   if(Buy_Condition && (!PositionSelect(_Symbol)))
     {
      if(dt.hour>=21 || dt.hour<6)
        {
         mrequest.action = TRADE_ACTION_DEAL;                       // ??????????? ??????????
         mrequest.price = Ask;                                      // ????????? ???? ask
         mrequest.sl = NormalizeDouble(Ask - STP*_Point,_Digits);   // Stop Loss
         mrequest.tp = NormalizeDouble(Ask + TKP*_Point,_Digits);   // Take Profit
         mrequest.symbol = _Symbol;                                 // ??????
         mrequest.volume = CalculateVolume();                       // ?

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

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

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

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

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

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

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