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

MonkeyPips

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

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

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

О программе

Данный продукт представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Он предназначен для автоматического управления стоп-ордерами (buy/sell stop) на выбранном символе, основываясь на анализе скорости изменения цены и текущих значений спреда.

Советник поддерживает два режима определения объёма сделки: фиксированный лот или расчёт на основе процента риска от баланса счёта. Также реализована функция трейлинг-стопа с настраиваемым временем удержания и порогом срабатывания.

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

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

НастройкаОписание
TradeComment Комментарий сделки — Текстовый комментарий, присваиваемый открытым стоп-ордерам и отображаемый на графике.
MaxSpread Максимальный спред — Максимальный допустимый средний спред в пунктах для размещения стоп-ордеров.
FixedLot Фиксированный лот — Фиксированный объём лота для открытия позиции. При значении 0 объём рассчитывается автоматически на основе процента риска.
RiskPercent Процент риска — Процент риска от баланса счёта, используемый для автоматического расчёта размера лота при нулевом фиксированном лоте.
GMTOffset Смещение GMT — Смещение GMT для корректировки локального времени сервера при определении торгового окна.
StartHour Начальный час — Начальный час торгового окна, в пределах которого допускается размещение стоп-ордеров.
EndHour Конечный час — Конечный час торгового окна, в пределах которого допускается размещение стоп-ордеров.
TradeDeviation Максимальное количество стоп-ордеров — Максимальное количество одновременных стоп-ордеров, допускаемых на символе.
TradeDelta Шаг стоп-ордеров — Шаг в пунктах между ценами последовательных стоп-ордеров.
Trailing Расстояние трейлинг-стопа — Расстояние трейлинг-стопа в пунктах от текущей цены.
TrailTime Время трейлинга — Время в секундах после открытия позиции, по истечении которого активируется трейлинг-стоп.
VelocityTrigger Порог скорости цены — Порог скорости изменения цены в пунктах, при превышении которого разрешается размещение стоп-ордеров.
Получить полный код

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

#property strict
#property version "1.05"

extern string LicenseKey = "************************************************";
extern string TradeComment = "MonkeyPips v1.05";
int MagicNumber = 33431; 
extern int MaxSpread = 9;
extern double FixedLot = 0;
extern int RiskPercent = 10;
extern int GMTOffset = 0; 
extern int StartHour = 23; 
extern int EndHour = 20; 
extern int TradeDeviation = 4;  
extern int TradeDelta = 7;   
extern int Trailing = 6; 
extern int TrailTime = 120; 
extern int VelocityTrigger = 40;

int VelocityTime = 15; 
int OrderExpiry = 15; 
int TickSample = 100;  
int r, gmt, brokerOffset, size, digits;

double marginRequirement, maxLot, minLot, lotSize, points, currentSpread, avgSpread, maxSpread, initialBalance, rateChange, rateTrigger;

double spreadSize[]; 
double tick[];
int tickTime[];   

string testerStartDate, testerEndDate;

bool timeToTrade;
bool licenseValid = false;
int yearExpiry, monthExpiry;

bool hasKey = false;

double limitedLots;
string licensetext;

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

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

double lotSize(){ 
   if( FixedLot > 0 ){
      lotSize = NormalizeDouble( FixedLot, 2 );
   } else {
      if( marginRequirement > 0 ) 
         lotSize = MathMax( MathMin( NormalizeDouble( ( AccountBalance() * ( ( double ) RiskPercent / 1000 ) * 0.01 / marginRequirement ), 2 ), maxLot ), minLot );    
   } 
   return ( lotSize ); 
}  

void prepareSpread(){
   if( !IsTesting() ){  
      double spreadSize_temp[];
      ArrayResize( spreadSize_temp, size - 1 );
      ArrayCopy( spreadSize_temp, spreadSize, 0, 1, size - 1 );
      ArrayResize( spreadSize_temp, size ); 
      spreadSize_temp[size-1] = NormalizeDouble( Ask - Bid, Digits ); 
      ArrayCopy( spreadSize, spreadSize_temp, 0, 0 ); 
      avgSpread = iMAOnArray( spreadSize, size, size, 0, MODE_LWMA, 0 );  
   }
}   

bool prepareTimeToTrade(){  
   gmt = offlineGMT();
   if( ( ( StartHour < EndHour && gmt >= StartHour && gmt <= EndHour ) 
      || ( StartHour > EndHour && ( ( gmt <= EndHour && gmt >= 0 ) 
      || ( gmt <= 23 && gmt >= StartHour ) ) ) ) 
      ){ 
      timeToTrade = true;
      return ( true );
   } else {

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

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

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

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

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

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

Стоимость полного кода
854,10₽ ≈ $10.44