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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.