night.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.