WPR for Multi Pair
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «multipairwpr.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный советник предназначен для платформы MetaTrader 4 и осуществляет автоматическую торговлю на основе анализа нескольких валютных пар. Он использует индикатор моментума для формирования агрегированного торгового сигнала и определяет направление открытия позиции.
Советник автоматически подсчитывает количество открытых позиций, управляет их закрытием и открытием в зависимости от текущего торгового сигнала. При изменении направления рынка позиция закрывается, а при появлении нового сигнала — открывается.
Расчёт размера лота реализован с учётом процента от баланса счёта и максимального ограничения на количество лотов. Это позволяет контролировать объём риска при торговле.
В качестве инструмента анализа применяются данные мультивалютного индикатора моментума, которые суммируются для формирования единого показателя направления.
Настройки программы
| Настройка | Описание |
|---|---|
| UsePct | Процент от баланса счёта, используемый при расчёте размера лота. При значении 0 расчёт лота по данному параметру не выполняется. |
| MaxLots | Максимальное допустимое количество лотов для одной позиции. Устанавливает верхний предел размера позиции. |
Поиск по коду файла
#define MAGICMA 20050610
extern int UsePct=0;
extern int MaxLots=100;
int bsi=0;
int dir=0;
int vTrig=0;
int openorders=0;
string pair;
double vSL=0,vTP=0;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int GetCurrentOrders()
{
openorders=0;
dir=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol())
{
openorders+=1;
if(OrderType()==OP_BUY) dir=1;
if(OrderType()==OP_SELL) dir=-1;
}
}
}
int LotCalc(double Risk)
{
int vLots=0;
if (UsePct >0 && Risk>0) vLots=MathFloor(AccountBalance()*(UsePct/100)/((Risk/MarketInfo (Symbol(), MODE_POINT))*10));
if (UsePct >0 && Risk==0) vLots = MathFloor(AccountBalance()*(UsePct/100)/1000);
if (vLots>MaxLots) vLots=MaxLots;
if (vLots<1) vLots=1;
return(vLots);
}
int CloseTrade()
{
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) breПоказано первые 50% кода (символов: 1680)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.