Sweet_Spot_Extreme
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «sweet_spot_extreme_ea.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Sweet_Spot_Extreme — торговый советник для MetaTrader 4, использующий индикатор CCI и скользящие средние EMA для анализа ценовых данных и автоматического открытия позиций. Советник рассчитывает оптимальный объём сделки с учётом риска и истории убытков, а также управляет закрытием позиций по заданным условиям.
Продукт работает на платформе MetaTrader 4 в среде MQL4. Обработка событий происходит через обработчик start(), характерный для советников MQL4. Торговые операции выполняются с использованием стандартных функций OrderSend и OrderClose.
Советник фильтрует позиции по магическому номеру и символу инструмента, ограничивает количество одновременных сделок и проверяет доступный свободный маржинальный баланс перед входом в сделку.
Настройки программы
| Настройка | Описание |
|---|---|
| MAGIC_NUMBER | Магический номер — Магический номер для идентификации позиций, открытых данным советником. |
| MaxTradesPerSymbol | Максимальное число сделок на символ — Максимальное количество одновременных сделок на один торговый символ. |
| Slippage | Допустимое проскальзывание — Допустимое отклонение цены исполнения от запрашиваемой цены. |
| Lots | Начальный объём сделки — Начальный объём сделки, используемый при расчёте оптимального лота. |
| MaximumRisk | Максимальный риск — Доля риска от свободного маржинального баланса, используемая при расчёте объёма сделки. |
| DecreaseFactor | Коэффициент уменьшения лота — Коэффициент уменьшения лота при наличии серии убыточных сделок в истории. |
| Stop | Стоп-лосс в пунктах — Стоп-лосс в пунктах для открытых позиций. |
| MAPeriod | Период скользящей средней тренда — Период экспоненциальной скользящей средней, используемой для определения тренда. |
| CloseMa | Период скользящей средней закрытия — Период скользящей средней, используемой для определения текущего состояния цены закрытия. |
| MinLot | Минимальный лот — Минимально допустимый объём сделки. |
| buyccilevel | Порог CCI для покупки — Пороговое значение CCI для открытия покупательской позиции. |
| sellccilevel | Порог CCI для продажи — Пороговое значение CCI для открытия продавательской позиции. |
| price | Смещение цены для CCI — Смещение цены, используемое при расчёте индикатора CCI. |
Поиск по коду файла
extern int MAGIC_NUMBER = 613;
extern int MaxTradesPerSymbol = 3;
extern int Slippage = 2;
extern double Lots = 1.00;
extern double MaximumRisk = 0.05;
extern double DecreaseFactor = 6;
extern double Stop = 10;
extern double MAPeriod = 85;
extern double CloseMa = 70;
extern double MinLot = 0.1;
extern double buyccilevel = -200.00;
extern double sellccilevel = 200.00;
extern int price = 0;
int init(){
// код доступен только после оплаты
}
int start(){
// код доступен только после оплаты
}
double Alpha = iCCI(NULL, 30, 12, price, 0); // links to 30 minutes chart
double MA = iMA(NULL,15,MAPeriod,0,MODE_EMA,PRICE_MEDIAN,1); // Links to 15 minutes chart for shorttearm accuracy
double MAprevious = iMA(NULL,15,MAPeriod,0,MODE_EMA,PRICE_MEDIAN,2); // Links to 15 minutes chart for shorttearm accuracy
double MAClose0 = iMA(NULL,15,CloseMa,0,MODE_EMA,PRICE_MEDIAN,0); // Links to 15 minutes chart for shorttearm accuracy
double MAClose1 = iMA(NULL,15,CloseMa,0,MODE_EMA,PRICE_MEDIAN,1); // Links to 15 minutes chart for shorttearm accuracy
int trades = 0;
for(int cnt1 = 0; cnt1 < OrdersTotal(); cnt1++){
if(!OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES)) continue;
if(OrderMagicNumber() != MAGIC_NUMBER) continue;
if(StringFind(OrderSymbol(), Symbol(), 0) != -1) {
Print("symbol "+Symbol());
trades++;
if(cnt1 == OrdersTotal()-1) Print("Trades: "+trades);
}
}
if(AccountFreeMargin()<(100*Lots)){
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if(trades < MaxTradesPerSymbol){
if(AccountFreeMargin()<(100*Lots)){
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
int ticket = -10;
if((MA>MAprevious) && (MAClose0 > MAClose1)&&(Alpha < buyccilevel))
ticket=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask, Slippage,0,0,"Sweet_Spot_Extreme", MAGIC_NUMBER,0,Aqua);
if((MA<MAprevious) && (MAClose0 < MAClose1) && (Alpha > sellccilevel) )
ticket=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid, Slippage, 0,0,"Sweet_Spot_Extreme", MAGIC_NUMBER,0,Coral);
}
for(int cnt=0;Показано первые 50% кода (символов: 3391)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.