nrtr_revers_www_forex-instruments_info.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «nrtr_revers_www_forex-instruments_info.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
NRTR_Revers — это торговый советник для MetaTrader 4, реализующий стратегию разворота тренда на основе волатильности. Советник рассчитывает динамический уровень на основе индикатора ATR (Average True Range) и отслеживает экстремумы цен за заданный период. При пробое расчётного уровня ценой происходит разворот позиции.
В режиме «up» советник определяет нижний уровень на основе минимумов за период и при достижении ценой условий закрывает покупательские ордера и открывает продажу. В режиме «down» действует симметрично: верхний уровень строится по максимумам, и при его пробое закрываются продажи, открываются покупки.
Все торговые операции выполняются через стандартные функции OrderSend и OrderClose с использованием магического номера для фильзации ордеров. Советник не использует встроенные индикаторные хэндлы и работает непосредственно с ценовыми данными.
Настройки программы
| Настройка | Описание |
|---|---|
| TakeProfit | Расстояние тейк-профита от цены входа, в пунктах |
| Lots | Размер лота для открытия позиции |
| TrailingStop | Расстояние трейлинг-стопа от цены входа, в пунктах |
| StopLoss | Расстояние стоп-лосса от цены входа, в пунктах |
| Slippage | Допустимое проскальзывание цены при исполнении ордеров, в пунктах |
| ExpertMagicNumber | Магический номер для идентификации ордеров, открытых советником |
| per | Период для расчёта индикатора ATR и определения экстремумов цен |
| reverse | Уровень разворота в пунктах — минимальное расстояние от динамической линии для срабатывания разворота |
| k | Множитель для расчёта волатильности на основе ATR, определяет ширину динамического уровня |
Поиск по коду файла
#include <stdlib.mqh>
extern double TakeProfit=4000;
extern double Lots=0.1;
extern double TrailingStop=0;
extern double StopLoss=4000;
extern double Slippage=6;
extern int ExpertMagicNumber=1007;
extern int per=3;// ?????? ???
extern int reverse=100;// ??????
extern double k=3.0; // ??????????? ?? ?????????????
string trend="up";
double line=0.0;
int b=0,cnt=0;
double dif=10.0,breaklevel=10;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
int total,ticket;
if (Bars>b)
{
b=Bars;
Print("trend=",trend);
dif=MathRound(k*((iATR(NULL,0,per,1)/Point))/10);
breaklevel=dif;
if (trend=="up")
{
line=Low[Lowest(NULL,0,MODE_LOW,per-1,2)]-dif*Point;
if(((line-Close[1])>breaklevel*Point) || ((Low[Lowest(NULL,0,MODE_LOW,MathRound(per/2.0),per-MathRound(per/2.0)+1)]-line)>=reverse*Point) )
{
Print("?????? ?????");
trend="down";
total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Orange);
}
}// for
if (OrdersTotal()<1)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,Bid+StopLoss*Point,Bid-TakeProfit*Point,"sell",ExpertMagicNumber,0,Red);
Показано первые 50% кода (символов: 1993)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.