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

russian bear high frequency trading hft 2018 .mq4

Вы автор или правообладатель?

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

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

О программе

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

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

НастройкаОписание
Magic Магик — Уникальный идентификатор ордеров советника для фильтрации позиций на счёте
0.6; (MaxSpread) Максимальный спред — Максимально допустимое значение спреда для разрешения торговых операций
Lot Лот — Фиксированный размер лота при отключённом автоматическом управлении рисками
3.5;//3.5;//5; (SL) Стоп-лосс — Уровень стоп-лосса в пунктах от цены открытия позиции
0.4; (TP) Тейк-профит — Уровень тейк-профита в пунктах от цены открытия позиции
jumpStepBuy Шаг скачка покупки — Порог изменения цены для разрешения открытия покупки
jumpStepSell Шаг скачка продажи — Порог изменения цены для разрешения открытия продажи
1.0;//max time to change in price in sec (jumpTimeSec) Время скачка — Временное окно в секундах для отслеживания изменения цены
false; (invertJump) Инвертировать скачок — Инвертирует направление срабатывания по ценовому скачку
false; (invertBuySell) Инвертировать покупку/продажу — Инвертирует направление торговых сигналов покупки и продажи
SlippageOpen Проскальзывание открытия — Допустимое проскальзывание при открытии позиции в пунктах
SlippageClose Проскальзывание закрытия — Допустимое проскальзывание при закрытии позиции в пунктах
TradeBuy Торговля покупкой — Включает или отключает возможность открытия длинных позиций
TradeSell Торговля продажей — Включает или отключает возможность открытия коротких позиций
UseMM Использовать управление рисками — Активирует автоматический расчёт размера лота на основе средств счёта
9.5;//9.5; (MM) Коэффициент управления — Коэффициент для расчёта размера лота при включённом управлении рисками
useMoving Использовать скользящую среднюю — Включает фильтр по скользящей средней для подтверждения направления
if price under moving so can buy only (MovingPeriod) Период скользящей средней — Период скользящей средней, используемой в качестве фильтра направления
noMoreTrades Запрет новых сделок — Полностью блокирует открытие новых позиций
Получить полный код

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

#include <WinUser32.mqh>
#include <stderror.mqh>
#include <stdlib.mqh>

extern int    Magic=3331;

extern double MaxSpread=1.0;//0.6;
extern double Lot=0.1;
extern double SL=7.0;//3.5;//3.5;//5;
extern double TP=0.7;//0.4;
extern double jumpStepBuy =0.5;
extern double jumpStepSell=0.5;
extern double jumpTimeSec=0.5;//1.0;//max time to change in price in sec
extern bool   invertJump=true;//false;
extern bool   invertBuySell=true;//false;
extern int    SlippageOpen=0;
extern int    SlippageClose=0;
extern bool   TradeBuy=true;
extern bool   TradeSell=true;
extern bool   UseMM=true;
extern double MM=5;//9.5;//9.5;

extern bool   useMoving=false;
extern int    MovingPeriod=10;//if price under moving so can buy only

extern bool   noMoreTrades=false;

double pAsk=0;
double pBid=0;
double point;

bool canBuy=true;
bool canSell=true;

bool imaBuy=true;
bool imaSell=true;

double ArrPrice[10000];
int    ArrTimer[10000];

int t=0;
double l=0;
int nd;
int check;

void deinit()
{
}

void init()
{
      // код доступен только после оплаты
   }

int start()
{
      // код доступен только после оплаты
   }

void CalcLot()
{
  if(UseMM==true)
  {
    l=NormalizeDouble(AccountEquity()*MM/10000,nd);
    if(l<MarketInfo(Symbol(),MODE_MINLOT)) l=MarketInfo(Symbol(),MODE_MINLOT);
    if(l>MarketInfo(Symbol(),MODE_MAXLOT)) l=MarketInfo(Symbol(),MODE_MAXLOT);
  }
  else
  {
    l=Lot;
  }
}

bool TryTrade(){
   int total=OrdersTotal();

  if(TradeBuy==true && canBuy==true && imaBuy && !noMoreTrades && (pAsk-pBid)/point<=MaxSpread){
      if(!invertBuySell && MyOrdersBuyTotal (Magic)<1){OrderSend(Symbol(),OP_BUY,l,MarketInfo(Symbol(),MODE_ASK),SlippageOpen,0,0,"",Magic,0,Green);total++;}
      if( invertBuySell && MyOrdersSellTotal(Magic)<1){OrderSend(Symbol(),OP_SELL,l,MarketInfo(Symbol(),MODE_BID),SlippageOpen,0,0,"",Magic,0,Red);total++;}//inv
      check=GetLastError();if(check!=ERR_NO_ERROR) Print("error: ",ErrorDescription(check));
  }

  if(TradeSell==true && canSell==true && imaSell && !noMoreTrades && (pAsk-pBid)/point<=MaxSpread){
      if(!invertBuySell && MyOrdersSellTotal(Magic)<1){OrderSend(Symbol(),OP_SELL,l,MarketInfo(Symbol(),MODE_BID),SlippageOpen,0,0,"",Magic,0,Red);total++;}
      if( invertBuySell && MyOrdersBuyTotal (Magic)<1){OrderSend(Symbol(),OP_BUY,l,MarketInfo(Symbol(),MODE_ASK),SlippageOpen,0,0,"",Magic,0,Green);total++;}//inv
      check=GetLastError();if(check!=ERR_NO_ERROR) Print("error: ",ErrorDescription(check));
  }

   if(total==OrdersTotal()){return(true);}else{return(false);}
}

bool TryClose(){
   double p,moneyProfit,minProfit,maxLose;
   int total=OrdersTotal();

   for(int i=0;i<O

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

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

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

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

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

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

Стоимость полного кода
538₽ ≈ $6.58