ea-2macrossover_v1-0.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ea-2macrossover_v1-0.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный исходный код представляет собой торгового советника (Expert Advisor) для платформы MetaTrader 4, написанный на языке MQL4. Советник предназначен для автоматической торговли на основе анализа двух скользящих средних и формирования торговых сигналов на их пересечении. Продукт поддерживает открытие и закрытие рыночных позиций, управление рисками через стоп-лосс и тейк-профит, а также проверку минимального количества баров перед началом торговли.
Настройки программы
| Настройка | Описание |
|---|---|
| Position size (LotSize) | Размер позиции — Определяет объём торговой позиции в лотах. |
| Use next entry to close the trade (if false uses take profit) (UseEntryToExit) | Использовать следующий вход для закрытия — При включённом значении позиция закрывается при появлении сигнала на противоположную сделку; при выключенном используются фиксированный стоп-лосс и тейк-профит. |
| Stop loss in pips (StopLoss) | Стоп-лосс — Размер стоп-лосса в пунктах. |
| Take profit in pips (TakeProfit) | Тейк-профит — Размер тейк-профита в пунктах. |
| Slippage in pips (Slippage) | Проскальзывание — Допустимое проскальзывание цены при исполнении ордера в пунктах. |
| Enable trade (TradeEnabled) | Включить торговлю — Общий переключатель, разрешающий или запрещающий отправку торговых операций. |
| Fast moving average period (MAFastPeriod) | Период быстрой скользящей средней — Период расчёта быстрой скользящей средней. |
| Slow moving average period (MASlowPeriod) | Период медленной скользящей средней — Период расчёта медленной скользящей средней. |
Поиск по коду файла
#property version "1.00"
#property strict
#property description "This Expert Advisor open orders at the crossover of two simple moving average (MA) indicators"
#property description " "
#property description "DISCLAIMER: This code comes with no guarantee, you can use it at your own risk"
#property description "We recommend to test it first on a Demo Account"
/*
ENTRY BUY: when the fast MA crosses the slow from the bottom, both MA are going up
ENTRY SELL: when the fast MA crosses the slow from the top, both MA are going down
EXIT: Can be fixed pips (Stop Loss and Take Profit) or the entry signal for the next trade
Only 1 order at a time
*/
extern double LotSize=0.1; //Position size
extern bool UseEntryToExit=true; //Use next entry to close the trade (if false uses take profit)
extern double StopLoss=20; //Stop loss in pips
extern double TakeProfit=50; //Take profit in pips
extern int Slippage=2; //Slippage in pips
extern bool TradeEnabled=true; //Enable trade
extern int MAFastPeriod=10; //Fast moving average period
extern int MASlowPeriod=25; //Slow moving average period
double ePoint; //Point normalized
bool CanOrder; //Check for risk management
bool CanOpenBuy; //Flag if there are buy orders open
bool CanOpenSell; //Flag if there are sell orders open
int OrderOpRetry=10; //Number of attempts to perform a trade operation
int SleepSecs=3; //Seconds to sleep if can't order
int MinBars=60; //Minimum bars in the graph to enable trading
double MinSL;
double MaxSL;
double TP;
double SL;
double Spread;
int Slip;
void Initialize(){
RefreshRates();
ePoint=Point;
Slip=Slippage;
if (MathMod(Digits,2)==1){
ePoint*=10;
Slip*=10;
}
TP=TakeProfit*ePoint;
SL=StopLoss*ePoint;
CanOrder=TradeEnabled;
CanOpenBuy=true;
CanOpenSell=true;
}
void CheckCanOrder(){
if( Bars<MinBars ){
Print("INFO - Not enough Bars to trade");
CanOrder=false;
}
OrdersOpen();
return;
}
void OrdersOpen(){
for( int i = 0 ; i < OrdersTotal() ; i++ ) {
if( OrderSelect( i, SELECT_BY_POS, MODE_TRADES ) == false ) {
Print("ERROR - Unable to select the order - ",GetLastError());
break;
}
if( OrderSymbol()==Symbol() && OrderType() == OP_BUY) CanOpenBuy=false;
if( OrderSymbol()==Symbol() && OrderType() == OP_SELL) CanOpenSell=false;
}
return;
}
void CloseAll(int Command){
double ClosePrice=0;
for( int i = 0 ; i < OrdersTotal() Показано первые 50% кода (символов: 4039)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.