← К каталогу
Исходный код · ID 433

NinaEA v.02

ninaea v.02.mq4
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

NinaEA v.02 — торговый советник для платформы MetaTrader 4, который использует пользовательский индикатор "NINA" и скользящую среднюю (SMA) для анализа ценовых данных и принятия торговых решений. Советник сравнивает соотношение цен открытия и закрытия предыдущего бара с движением скользящей средней и значением индикатора для определения условий входа и выхода из позиций.

Размер лота рассчитывается на основе свободных средств счёта, заданного параметра риска и коэффициента уменьшения при серии убыточных сделок. Торговые операции выполняются через стандартные средства MetaTrader 4 с идентификацией позиций по магическому номеру.

Советник работает только на первом тике нового бара и требует наличия не менее 100 баров на графике. Поддерживается открытие как длинных, так и коротких позиций с возможностью автоматического закрытия при изменении условий.

Настройки программы

НастройкаОписание
Lots Размер лота — Базовый размер лота для торговых операций
MaximumRisk Максимальный риск — Максимальный процент риска от свободных средств счёта для расчёта лота
DecreaseFactor Коэффициент уменьшения лота — Коэффициент уменьшения размера лота при наличии убыточных сделок в истории
MovingPeriod Период скользящей средней — Период скользящей средней (SMA), используемой в торговых условиях
MovingShift Сдвиг скользящей средней — Сдвиг скользящей средней
PeriodWATR Период индикатора NINA — Период пользовательского индикатора NINA
Kwatr Коэффициент индикатора NINA — Коэффициент для пользовательского индикатора NINA
highlow Направление индикатора — Параметр выбора направления (верх/низ) для индикатора NINA
cbars Количество баров индикатора — Количество баров, используемых для расчёта индикатора NINA
from Начальный бар — Начальный бар для расчёта индикатора NINA
maP Параметр индикатора NINA — Параметр для пользовательского индикатора NINA
lots Дополнительный размер лота — Дополнительный параметр размера лота
SMAspread Спред скользящей средней — Параметр спреда скользящей средней
StopLoss Стоп-лосс — Уровень стоп-лосса в пунктах
Slippage Проскальзывание — Допустимое проскальзывание при выполнении торговых ордеров
Получить полный код

Поиск по коду файла

#define MAGICMA  20050610

extern double Lots               = 0.1;
extern double MaximumRisk        = 0.02;
extern double DecreaseFactor     = 3;
extern double MovingPeriod       = 12;
extern double MovingShift        = 6;
extern int       PeriodWATR=10;
extern double    Kwatr=1;
extern int       highlow=0;
extern int       cbars = 1000;
extern int       from  = 0;
extern int       maP  = 50;
extern double    lots=0.1;
extern int       SMAspread=0;
extern int       StopLoss=0;
extern int       Slippage=4;
double   nina, SL=0;
int      i, buys, sells;

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;
   re

Показано первые 50% кода (символов: 2507)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
250,70₽ ≈ $3.06