gold smart ea 1.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «gold smart ea 1.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник для платформы MetaTrader 4, предназначенный для автоматической торговли на основе скользящей средней. Он анализирует ценовые данные и формирует сигналы на открытие и закрытие позиций при пересечении цены с moving average.
Советник рассчитывает оптимальный размер лота с учётом свободного маржи счёта и заданного уровня риска. При наличии серии убыточных сделок размер лота автоматически уменьшается с использованием настраиваемого коэффициента снижения.
Советник отслеживает открытые позиции и закрывает их при изменении направления цены относительно скользящей средней. Работает только на первом тике новой свечи и требует наличия минимального количества баров на графике для корректной работы.
Настройки программы
| Настройка | Описание |
|---|---|
| Lots | Размер лота — Базовый размер лота для торговых операций |
| MaximumRisk | Максимальный риск — Процент от свободного маржи, используемый для расчёта размера лота |
| DecreaseFactor | Фактор уменьшения — Коэффициент, определяющий степень снижения лота после серии убыточных сделок |
| MovingPeriod | Период скользящей средней — Период расчёта простой скользящей средней |
| MovingShift | Сдвиг скользящей средней — Горизонтальный сдвиг линии скользящей средней по графику |
Поиск по коду файла
#property description "Moving Average sample expert advisor"
#define MAGICMA 20131111
input double Lots =0.1;
input double MaximumRisk =0.02;
input double DecreaseFactor=3;
input int MovingPeriod =12;
input int MovingShift =6;
int CalculateCurrentOrders(string symbol)
{
int buys=0,sells=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY) buys++;
if(OrderType()==OP_SELL) sells++;
}
}
if(buys>0) return(buys);
else return(-sells);
}
double LotsOptimized()
{
double lot=Lots;
int orders=HistoryTotal(); // history orders total
int losses=0; // number of losses orders without a break
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
if(DecreaseFactor>0)
{
for(int i=orders-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("Error in history!");
break;
}
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
continue;
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
if(losses>1)
lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
}
if(lot<0.1) lot=0.1;
return(lot);
}
void CheckForOpen()
{
double ma;
int res;
if(Volume[0]>1) return;
ma=iMA(NULL,0,MovingPeriod,MovingShift,MODEПоказано первые 50% кода (символов: 2275)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.