lighting50umt4.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «lighting50umt4.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Lighting50UMT4 — это советник для платформы MetaTrader 4, автоматизирующий торговые операции на валютном рынке. Программа написана на языке MQL4 и использует стандартные торговые функции платформы для открытия, закрытия и модификации позиций.
Советник поддерживает открытие сделок по заданным ценовым уровням: при достижении верхнего или нижнего порога формируются ордера на покупку или продажу. Доступен режим «лестницы» (Stair), при котором при достижении определённой прибыли добавляются дополнительные позиции в направлении тренда.
В product содержатся модули управления рисками: скользящий стоп-лосс (Trailing Stop), фиксация прибыли (Profit Locking), ограничение убытка (Set Lossing). Также реализованы режимы закрытия позиций по ценовым уровням и по уровню прибыли на счёте. При модификации стоп-лосса предусмотрена звуковая уведомление.
Все параметры работы советника настраиваются пользователем через внешние переменные: размеры лотов, магический номер, расстояния стоп-лоссов и тейк-профитов, а также переключатели режимов торговли.
Настройки программы
| Настройка | Описание |
|---|---|
| MagicNumber | Магический номер — Магический номер, идентифицирующий ордера, открытые данным советником. |
| Lots | Размер лота — Размер лота для каждой открытой позиции. |
| Stair | Режим лестницы — Переключатель режима лестницы (пиромидирования), при котором добавляются позиции при достижении определённой прибыли. |
| StairProfit | Прибыль для лестницы — Порог прибыли для открытия дополнительных позиций в режиме лестницы. |
| OpenAreaBelow | Нижняя зона открытия — Нижняя зона ценового коридора для режима лестницы (Stair): при снижении ниже этой цены возможно открытие новых позиций. |
| OpenAreaAbove | Верхняя зона открытия — Верхняя зона ценового коридора для режима лестницы (Stair): при превышении этой цены возможно открытие новых позиций. |
| OpenLevel | Открытие по ценовым уровням — Переключатель, включающий режим открытия позиций по заданным ценовым уровням UpperOpen и LowerOpen. |
| UpperOpen | Верхний уровень открытия — Верхний ценовой уровень для открытия ордера на покупку при включённом режиме OpenLevel. |
| LowerOpen | Нижний уровень открытия — Нижний ценовой уровень для открытия ордера на продажу при включённом режиме OpenLevel. |
| CloseLevel | Закрытие по ценовым уровням — Переключатель, включающий режим закрытия позиций по достижении заданных ценовых уровней. |
| UpperClose | Верхний уровень закрытия — Верхний ценовой уровень для автоматического закрытия позиций продажи при включённом режиме CloseLevel. |
| LowerClose | Нижний уровень закрытия — Нижний ценовой уровень для автоматического закрытия позиций при включённом режиме CloseLevel. |
| CloseProfit | Закрытие по прибыли на счёте — Переключатель, включающий режим закрытия позиций при достижении заданного уровня прибыли на счёте. |
| CPUp | Закрытие по прибыли вверх — Пороговое значение прибыли на счёте для закрытия позиций (при достижении верхней границы). |
| CPDown | Закрытие по прибыли вниз — Пороговое значение прибыли на счёте для закрытия убыточных позиций (при достижении нижней границы). |
| ProfitLockingthenProfitTrailing | Сначала фиксация, потом скользящий стоп — Переключатель: сначала фиксация прибыли, затем скользящий стоп-лосс (комбинированный режим). |
| ProfitTrailingthenProfitLocking | Сначала скользящий стоп, потом фиксация — Переключатель: сначала скользящий стоп-лосс, затем фиксация прибыли (комбинированный режим). |
| ProfitTrailing | Скользящий стоп-лосс — Переключатель режима скользящего стоп-лосса без фиксации прибыли. |
| ProfitLocking | Фиксация прибыли — Переключатель режима фиксации прибыли с фиксированным стоп-лоссом после достижения заданной дистанции. |
| ProfitLockingStop | Дистанция фиксации прибыли — Дистанция от цены открытия, при превышении которой активируется фиксация прибыли. |
| ProfitLockingStep | Шаг фиксации прибыли — Шаг фиксации стоп-лосса от цены открытия при активном режиме фиксации прибыли. |
| TrailingStop | Дистанция скользящего стоп-лосса — Дистанция от цены открытия, при превышении которой активируется скользящий стоп-лосс. |
| TrailingStep | Шаг скользящего стоп-лосса — Шаг перемещения стоп-лосса при активном режиме скользящего стоп-лосса. |
| SetLossing | Ограничение убытка — Переключатель, включающий режим ограничения убытка с фиксацией стоп-лосса при убытке от цены открытия. |
| MaximalLossing | Максимальный убыток — Максимальное расстояние в пунктах для ограничения убытка при включённом режиме SetLossing. |
| UseSound | Звуковые уведомления — Переключатель, включающий звуковое уведомление при модификации стоп-лосса. |
| NameFileSound | Файл звукового уведомления — Имя звукового файла, воспроизводимого при модификации стоп-лосса. |
Поиск по коду файла
extern int MagicNumber = 16384;
extern double Lots = 0.1;
extern bool Stair = true;
extern double StairProfit = 1;
extern double OpenAreaBelow=20000;
extern double OpenAreaAbove=0;
extern bool OpenLevel = false;
extern double UpperOpen=20000;
extern double LowerOpen=0;
extern bool CloseLevel = false;
extern double UpperClose=20000;
extern double LowerClose=0;
extern bool CloseProfit = false;
extern double CPUp=20000;
extern double CPDown=-300;
extern bool ProfitLockingthenProfitTrailing = True;
extern bool ProfitTrailingthenProfitLocking = False;
extern bool ProfitTrailing = False;
extern bool ProfitLocking = False;
extern double ProfitLockingStop = 10;
extern double ProfitLockingStep = 2;
extern double TrailingStop = 11;
extern double TrailingStep = 9;
extern bool SetLossing = False;
extern double MaximalLossing = 90;
extern bool UseSound = False;
extern string NameFileSound = "expert.wav";
int start()
{
// код доступен только после оплаты
}
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
}
}
int ticket, total;
double pBid, pAsk, pp ;
pp = MarketInfo(OrderSymbol(), MODE_POINT);
pBid = MarketInfo(OrderSymbol(), MODE_BID);
pAsk = MarketInfo(OrderSymbol(), MODE_ASK);
double askprice=Ask;
double bidprice=Bid;
if(OpenLevel==true) {
pBid = MarketInfo(OrderSymbol(), MODE_BID);
pAsk = MarketInfo(OrderSymbol(), MODE_ASK);
if (askprice>UpperOpen){
if(OrdersTotal()<1){
ticket=OrderSend(Symbol(),OP_BUY,Lots,askprice,0,0,0,"Buy",MagicNumber,0,Green);
}
}
if (bidprice<LowerOpen){
if(OrdersTotal()<1){
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,0,0,0,"Sell",MagicNumber,0,Red);
}
}
}
if(Stair==true) {
if (OrderType()==OP_BUY) {
if (OpenAreaBelow-Ask>0){
if ( OrderProfit()>((((1+OrdersTotal())*OrdersTotal())/2)*StairProfit)){
ticket=OrderSend(Symbol(),OP_BUY,Lots,askprice,0,0,0,"Buy",MagicNumber,0,Green);
}
}
}
if (OrderType()==OP_SELL) {
if (OpenAreaAbove-Bid<0){
if (OrderProfit()>((((1+OrdersTotal())*OrdersTotal())/2)*StairProfit)){
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,0,0,0,"Sell",MagicNumber,0,Red);
}
}
}
}
if (OrderType()==OP_BUY) {
pBid = MarketInfo(OrderSymbol(), MODE_BID);
if (ProfitTrailingthenProfitLocking){
if ((pBid-OrderOpenPrice())>TrailingStop*pp) {
if ((pBid-OrderOpenPrice())<=ProfitLockingStop*pp) {
if (OrderStopLoss()<pBid-TrailingStep*pp) {
ModifyStopLoss(pBid-TrailingStep*pp);
}
}
if ((pBid-OrderOpenPrice())>ProfitLockingStop*pp) {
ModifyStopLoss(OrderOpenPrice()+ProfitLockingStep*pp);
}
return;
}
}
}
if (OrderType()==OP_SELL) {
pAsk = MarketInfo(OrderSymbol(), MODE_ASK);
if (ProfitTrailingthenProfitLocking){
if (OrderOpenPrice()-pAsk>TrailingStop*pp) {
if (OrderOpenPrice()-pAsk<=ProfitLockingStop*pp) {
if (OrderStopLoss()>pAsk+TrailingStep*pp|| OrderStopLoss()==0) {
ModifyStopLoss(pAsk+TrailingStep*pp);
}
}
if (OrderOpenPrice()-pAsk>ProfitLockingStop*pp) {
ModifyStopLoss(OrderOpenPrice()-ProfitLockingStep*pp);
}
return;
}
}
}
if (OrderType()==OP_BUY) {
pBid = MarketInfo(OrderSymbol(), MODE_BID);
if (ProfitLockingthenProfitTrailing){
if ((pBid-OrderOpenPrice())>ProfitLockingStop*pp) {
if ((pBid-OrderOpenPrice())<=TrailingStop*pp) {
ModifyStopLoss(OrderOpenPrice()+ProfitLockingStep*pp);
}
if ((pBid-OrderOpenPrice())Показано первые 50% кода (символов: 5612)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.