MACD Sample
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «macd sample russian.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
MACD Sample — торговый советник для MetaTrader 4, использующий индикатор MACD и скользящую средную (EMA) для определения точек входа на рынок. Советник анализирует пересечения линий MACD с сигнальной линией в сочетании с направлением тренда по скользящей средней для принятия решения об открытии позиции.
При отсутствии открытых позиций советник проверяет доступность маржи и, при выполнении условий, отправляет рыночные ордера Buy или Sell через торговый API MetaTrader. Для каждой позиции реализована фиксация прибыли по уровню TakeProfit, а также трейлинг-стоп с настраиваемым расстоянием.
Закрытие позиций происходит при развороте сигнала MACD или при срабатывании трейлинг-стопа. Перед открытием новой позиции советник проверяет наличие не менее 100 баров на графике и корректность параметра TakeProfit. Все торговые операции выполняются на текущем символе графика.
Настройки программы
| Настройка | Описание |
|---|---|
| TakeProfit | Уровень фиксации прибыли в пунктах для открытой позиции. |
| Lots | Размер лота для открытия торговой позиции. |
| TrailingStop | Расстояние трейлинг-стопа в пунктах от текущей цены для защиты позиции от убытков. |
| MACDOpenLevel | Уровень MACD в пунктах, при достижении которого допускается открытие новой позиции. |
| MACDCloseLevel | Уровень MACD в пунктах, при достижении которого позиция закрывается при развороте сигнала. |
| MATrendPeriod | Период экспоненциальной скользящей средней для определения направления тренда. |
Поиск по коду файла
extern double TakeProfit = 50;
extern double Lots = 0.1;
extern double TrailingStop = 30;
extern double MACDOpenLevel=3;
extern double MACDCloseLevel=2;
extern double MATrendPeriod=26;
double Points;
int init ()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
double MacdCurrent=0, MacdPrevious=0, SignalCurrent=0;
double SignalPrevious=0, MaCurrent=0, MaPrevious=0;
int cnt=0, total;
if(Bars<100)
{
Print("bars less than 100");
return(0); // ?? ??????? ????? 100 ?????
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // ????????? TakeProfit
}
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,MODE_EMA,0,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,MODE_EMA,0,PRICE_CLOSE,1);
if(OrdersTotal()<1)
{
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money");
return(0); // ????? ??? - ???????
}
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&
MathAbs(MacdCurrent)>(MACDOpenLevel*Points) && MaCurrent>MaPrevious)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Points,"macd sample",16384,0,Red); // ?????????
if(GetLastError()==0)Print("Order opened : ",OrderOpenPrice());
return(0); // ???????, ??? ??? ??? ????? ????? ?????????? ???????? ????????
}
if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDOpenLevel*Points) && MaCurrent<MaPrevious)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Points,"macd sample",16384,0,Red); // ?????????
if(GetLastError()==0)Print("Order opened : ",OrderOpenPrice());
return(0); // ???????
};
return(0);
};
tПоказано первые 50% кода (символов: 2994)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.