BreakdownLevelCandleMA
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «breakdownlevelcandlema.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
BreakdownLevelCandleMA — торговый советник для платформы MetaTrader 4 на языке MQL4. Советник анализирует ценовой уровень предыдущей свечи на выбранном таймфрейме и открывает позиции при пробое этого уровня с заданным смещением. Для фильтрации направления сделок используются скользящие средние, а также реализованы функции управления позициями: трейлинг-стоп, защита от безубыточности и массовое закрытие при достижении целевой прибыли.
Настройки программы
| Настройка | Описание |
|---|---|
| _ | Информационный текст — Текстовая строка, отображающая соответствие таймфреймов их числовым значениям для справки пользователя. |
| ????????? ?????, ??????? ????????? 0 ??????? ?? (TimeCandle) | Таймфрейм свечи — Таймфрейм анализируемой свечи, на основе которой определяется уровень пробоя; значение 0 заменяется текущим периодом графика. |
| ???????????? ?????? ??? risk = 0 (Lot) | Размер лота — Фиксированный размер лота для открытия сделок; при ненулевом параметре risk размер рассчитывается автоматически. |
| ???????????? ???-?? ??????? ?????? ??????????? (MaxOrders) | Максимум ордеров — Максимальное количество одновременно открытых позиций одного направления, ограничивающее число сделок. |
| ???? ???? (color_BAR) | Цвет уровня — Цвет графического объекта прямоугольника, отображающего зону уровня пробоя на графике. |
| ????????? ??? ?????? ??? ????????? ??????? (ProfitClose) | Прибыль для закрытия — Суммарная прибыль в денежных единицах, при достижении которой все позиции закрываются автоматически. |
| ?????? ?? ?? ???? Fast ? Slow = 0 ?? ??? ??????? (periodFastMA) | Период быстрой MA — Период быстрой скользящей средней, используемой для подтверждения направления тренда при открытии сделок. |
| ???? Fast > Slow ?? ????????? ?????? Buy ????? ?????? Sell (periodSlowMA) | Период медленной MA — Период медленной скользящей средней; при условии Fast > Slow сделки открываются только на покупку, при Fast < Slow — только на продажу. |
Поиск по коду файла
extern string _="M15 15 | M30 30 | H1 60 | H4 240 | D1 1440 | W1 10080 | MN1 43200";
extern int TimeCandle = 240; //????????? ?????, ??????? ????????? 0 ??????? ??
extern int Delta = 10, //???? ??? ???? ??????????? ???
SL = 120, //???????? ? ???????
TP = 90, //?????????? ? ???????
risk = 0, //???? 0 ?? ?? ?????????????? ????
NoLoss = 0, //???? 0 ?? ??? ????????? ?????????
trailing = 0; //???? 0 ?? ??? ?????????
extern double Lot = 0.10; //???????????? ?????? ??? risk = 0
extern int MaxOrders = 10; //???????????? ???-?? ??????? ?????? ???????????
extern color color_BAR = DarkBlue; //???? ????
extern double ProfitClose = 100; //????????? ??? ?????? ??? ????????? ???????
extern string ??????..??="???? FastMA ???? SlowMA ?? ?????? Buy";
extern int periodFastMA = 0 ; //?????? ?? ?? ???? Fast ? Slow = 0 ?? ??? ???????
extern int periodSlowMA = 0 ; //???? Fast > Slow ?? ????????? ?????? Buy ????? ?????? Sell
double MaxPrice,MinPrice;
int STOPLEVEL,magic=123321,tip,TimeBarBay,TimeBarSell,LastDay;
string txt;
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
double Profit;
if (Profit>=ProfitClose) CLOSEORDER();
int bay,sel;
for (int i=0; i<OrdersTotal(); i++)
{ if (OrderSelect(i, SELECT_BY_POS))
{
if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic) continue;
tip=OrderType();
if (tip==0) {bay++; Profit+=OrderProfit();}
if (tip==1) {sel++; Profit+=OrderProfit();}
}
}
Comment(txt,"\n?????? ",DoubleToStr(AccountBalance(),2),"\n?????? ",DoubleToStr(AccountEquity(),2),"\n?????? ",DoubleToStr(Profit,2),"\nBuy ",bay,"\nSel ",sel);
if (bay>0 || sel>0)
{
if (trailing!=0) TrailingStop(trailing);
if (NoLoss!=0) No_Loss(NoLoss);
}
bool BUYOK=true,SELLOK=true;
if ( periodFastMA!=0 && periodSlowMA!=0 )
{
double FastMA = iMA(NULL,0,periodFastMA,0,MODE_EMA,PRICE_OPEN,0);
double SlowMA = iMA(NULL,0,periodSlowMA,0,MODE_EMA,PRICE_OPEN,0);
BUYOK = (FastMA>SlowMA);
SELLOK = (FastMA<SlowMA);
}
double TrPr,StLo;
MaxPrice=NormalizeDouble(iHigh(NULL,TimeCandle,1)+Delta*Point,Digits);
MinPrice=NormalizeDouble(iLow(NULL,TimeCandle,1)-Delta*Point,Digits);
if (risk!=0) Lot = LOT();
if (bay<MaxOrders && TimeBarBay!=iTime(NULL,TimeCandle,0) && BUYOK && Ask>=MaxPrice)
{
if (TP!=0) TrPr = NormalizeDouble(MaxPrice + TP * Point,Digits);
if (SL!=0) StLo = NormalizeDouble(MaxPrice - SL * Point,Digits);
if (!OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),3,StLo,TrPr,"BreakdownLevelCandleMA",magic,0,Blue))
Print("Error BUYSTOP ",GetLastError()," ",Symbol()," Lot ",Lot," Price ",MaxPrice," SL ",StLo," TP ",TrPr);
else TimeBarBay=iTime(NULL,TimeCandle,0);
}
if (sel<MaxOrders && TimeBarSell!=iTime(NULL,TimeCandle,0) && SELLOK && Bid<=MinPrice)
{
if (TP!=0) TrPr = NormalizeDouble(MinPrice - TP * Point,Digits);
if (SL!=0) StLo = NormalizeDouble(MinPrice + SL * Point,Digits);
if (!OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),3,StLo,TrPr,"BreakdownLevelCandleMA",magic,0,Red ))
Print("Error SELLSTOP ",GetLastError()," ",Symbol()," Lot ",Lot," Price ",MinPrice," SL ",StLo," TP ",TrPr);
else TimeBarSell=iTime(NULL,TimeCandle,0);
}
if (bay<MaxOrders && sel<MaxOrders)
{
ObjectDelete("bar0");
ObjectCreate("bar0", OBJ_RECTANGLE, 0, 0,0, 0,0);
ObjectSet ("bar0", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet ("bar0", OBJPRПоказано первые 50% кода (символов: 6404)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.