neuro-martingailexpertstochastic_v3.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «neuro-martingailexpertstochastic_v3.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Торговый советник для платформы MetaTrader 4, который формирует торговые сигналы на основе индикатора стохастик и пользовательского перцептрона. Советник работает на каждом тике, обрабатывая текущие рыночные данные и принимая решения об открытии или закрытии позиций.
Поддерживает мартингейл-подход управления лотами: при необходимости советник открывает дополнительные ордера с увеличенными лотами, используя множитель и настраиваемый шаг между позициями. Доступен режим фиксированного шага и режим с постепенным увеличением шага.
Встроены стоп-лосс и тейк-профит для управления рисками, а также ограничения на максимальный допустимый размер лота. Советник отслеживает прибыль по открытым позициям и при достижении заданных условий закрывает ордера. Позиции разделяются по магическим номерам для покупок и продаж.
Настройки программы
| Настройка | Описание |
|---|---|
| StopLoss | Уровень стоп-лосса в пунктах для управления рисками по открытым позициям. |
| TakeProfit | Уровень тейк-профита в пунктах для фиксации прибыли по открытым позициям. |
| step | Размер шага в пунктах между дополнительными ордерами при мартингейл-управлении. |
| StepMode | Режим шага между дополнительными ордерами: фиксированный или постепенно увеличивающийся. |
| proffactor | Фактор прибыли, определяющий условие закрытия прибыльных позиций. |
| mult | Множитель лотов, используемый при открытии дополнительных ордеров. |
| lotsbuy | Начальный размер лота для открытия позиций на покупку. |
| lotssell | Начальный размер лота для открытия позиций на продажу. |
| MaxLotBuy | Максимально допустимый размер лота для позиций на покупку. |
| MaxLotSell | Максимально допустимый размер лота для позиций на продажу. |
| per_K | Числовой параметр, влияющий на расчёт линии K стохастика. |
| per_D | Числовой параметр, влияющий на расчёт линии D стохастика. |
| slow | Параметр замедления индикатора стохастика. |
| zoneBUY | Пороговое значение зоны покупки для индикатора стохастика. |
| zoneSELL | Пороговое значение зоны продажи для индикатора стохастика. |
| Magicbuy | Магический номер для идентификации ордеров на покупку, открытых советником. |
| Magicsell | Магический номер для идентификации ордеров на продажу, открытых советником. |
| Parameters | Строковый параметр, задающий набор настроек для торговой стратегии. |
| Parameters_Stochastic | Строковый параметр, задающий набор настроек для индикатора стохастика. |
| OrderComment | Текстовый комментарий, добавляемый к каждому ордеру, открытому советником. |
| Kperiod | Период K индикатора стохастика, определяющий скорость расчёта линии. |
| Dperiod | Период D индикатора стохастика, определяющий усреднение основной линии. |
| slowing | Параметр замедления стохастика, задаваемый целочисленным значением. |
| Parameters_Perceptron | Строковый параметр, задающий набор настроек для перцептрона. |
| shag | Шаг смещения для считывания значений индикатора перцептроном. |
| x1 | Первый весовой коэффициент перцептрона. |
| x2 | Второй весовой коэффициент перцептрона. |
| x3 | Третий весовой коэффициент перцептрона. |
| x4 | Четвёртый весовой коэффициент перцептрона. |
Поиск по коду файла
extern double StopLoss =0;
extern double TakeProfit =0;
extern double step =25;
extern int StepMode =0;
extern double proffactor =10;
extern double mult =1.5;
extern double lotsbuy =0.01;
extern double lotssell =0.01;
extern double MaxLotBuy =0.15;
extern double MaxLotSell =0.15;
extern double per_K =200;
extern double per_D =20;
extern double slow =20;
extern double zoneBUY =50;
extern double zoneSELL =50;
extern double Magicbuy =555;
extern double Magicsell =556;
extern string Parameters = "StochasticPerceptron";
extern string Parameters_Stochastic = "Stochastic";
extern string OrderComment = "MartingailExpert_V3";
extern int Kperiod = 5;
extern int Dperiod = 3;
extern int slowing = 3;
extern string Parameters_Perceptron = "Perceptron";
extern int shag = 0;
extern int x1 = 0;
extern int x2 = 0;
extern int x3 = 0;
extern int x4 = 0;
double sl = 0;
double tp = 0;
double openpricebuy,openpricesell,lotsbuy2,lotssell2,lastlotbuy,lastlotsell,tpb,tps,cnt,smbuy,smsell,lotstep,
ticketbuy,ticketsell,maxLot,free,balance,lotsell,lotbuy,dig,sig_buy,sig_sell,ask,bid;
int OrdersTotalMagicbuy(int Magicbuy)
{
int j=0;
int r;
for (r=0;r<OrdersTotal();r++)
{
if(OrderSelect(r,SELECT_BY_POS,MODE_TRADES))
{
if (OrderMagicNumber() == Magicbuy) j++;
}
}
return(j);
}
int OrdersTotalMagicsell(int Magicsell)
{
int d=0;
int n;
for (n=0;n<OrdersTotal();n++)
{
if(OrderSelect(n,SELECT_BY_POS,MODE_TRADES))
{
if (OrderMagicNumber()==Magicsell) d++;
}
}
return(d);
}
int orderclosebuy(int ticketbuy)
{
string symbol = Symbol();
int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy)
{
ticketbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta);
}
}
lotsbuy2=lotsbuy;return(0);
}
int orderclosesell(int ticketsell)
{
string symbol = Symbol();
int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicsell)
{
ticketsell=OrderTicket();OrderSelect(ticketsell, SELECT_BY_TICKET, MODE_TRADES);lotssell2=OrderLots() ;
double ask = MarketInfo(symbol,MODE_ASK);
RefreshRates();
OrderClose(ticketsell,lotssell2,ask,3, Lime);
}
}
lotssell2=lotssell;return(0);
}
int start()
{
// код доступен только после оплаты
}
double profitbuy=0;double profitsell=0;
string symbol = OrderSymbol();
double spread = MarketInfo(symbol,MODE_SPREAD);
double minLot = MarketInfo(symbol,MODE_MINLOT);
if (minLot==0.01){dig=2;maxLot=MarketInfo(symbol,MODE_MAXLOT);}
if (minLot==0.1){dig=1;maxLot=((AccountBalance()/2)/1000);}
if(OrdersTotalMagicbuy(Magicbuy)>0)
{
double smbuy;
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber () == Magicbuy)
{
ticketbuy = OrderTicket();OrderSelect(ticketbuy,SELECT_BY_TICKET, MODE_TRADES);
smbuy = smbuy+OrderLots();openpricebuy = OrderOpenPrice();lastlotbuy = OrderLots();
}
}
{
if (smbuy+(NormalizeDouble((lastlotbuy*mult),dig))<maxLot)
{
if(StepMode==0)
{
if(Ask<=openpricebuy-step*Point)
{
lotsbuy2=lastlotbuy*mult;
if( StopLoss == 0 ) sl = 0 ; else sl = Ask - (StopLoss * Point);
if( TakeProfit == 0 ) tp = 0 ; else tp = Ask + (TakeProfit * Point);
if (lotsbuy2 > MaxLotBuy) lotsbuy2 = MaxLotBuy;
RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotsbuy2,dig),Ask,3,sl,tp,OrderComment,Magicbuy,0,Blue);
}
}
if(StepMode==1)
{
if(Ask<=openpricebuy-(step+OrdersTotalMagicbuy(Magicbuy)+OrdersTotalMagicbuy(Magicbuy)-2)*Point)
{
lotsbuy2=lastlotbuy*mult;
if (lotsbuy2 > MaxLotBuy) lotsbuy2 = MaxLotBuy;
if( StopLoss == 0 ) sl = 0 ; else sl = Ask - (StopLoss * Point);
if( TakeProfit == 0 ) tp = 0 ; else tp = Ask + (TakeProfit * Point);
if (lotsbuy2 > MaxLotBuy) lotsbuy2 = MaxLotBuy;
RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotsbuy2,dig),Ask,3,sl,tp,OrderComment,Magicbuy,0,Blue);
}
}
}
}
}
if(OrdersTotalMagicsell(Magicsell)>0)
{
double smsell;
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber () == Magicsell)
{
ticketsell = OrderTicket();OrderSelect(ticketsell,SПоказано первые 50% кода (символов: 8266)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.