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

MACD_signal

macd_signal.mq4 .mq4

Похожие материалы по тегам

2 to 1 strategy with signals.pineTradingView · 2 общих теговmulti_lot_scalper_a.mq4MQL4 / MetaTrader 4 · 2 общих теговfresh algo signals & overlays v25_6334471093901859175.pineTradingView · 2 общих теговfresh algo v24 tradingview indicator_5918156155804195406.pineTradingView · 2 общих теговlinear regression channel.mq4MQL4 / MetaTrader 4 · 2 общих теговtrading criteria.mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

MACD_signal — это торговый советник для MetaTrader 4, который использует анализ индикатора MACD для принятия торговых решений. Советник вычисляет разницу между основной линией MACD и сигнальной линией на текущем и предыдущем барах, сравнивая её с порогом, рассчитанным на основе ATR. При достижении условий для бычьего или медвежьего пересечения открываются соответствующие ордера BUY или SELL.

Советник управляет открытыми позициями: закрывает их при развороте MACD в противоположную сторону, а также поддерживает работу трейлинг-стопа для активных ордеров. Перед открытием сделок выполняются проверки минимального количества баров, минимального значения TakeProfit и наличия свободного маржа.

Все ключевые параметры — размер лота, тейк-профит, трейлинг-стоп, периоды MACD и множитель ATR — настраиваются пользователем через параметры советника.

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

НастройкаОписание
TakeProfit Тейк-профит в пунктах для открытой сделки.
Lots Размер лота для открытия сделки.
TrailingStop Расстояние трейлинг-стопа в пунктах для активной позиции.
Pfast Период быстрой линии MACD.
Pslow Период медленной линии MACD.
Psignal Период сигнальной линии MACD.
LEVEL Множитель ATR, используемый для расчёта порогового значения разницы MACD для входа в сделку.
Получить полный код

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

extern double TakeProfit = 0;
extern double Lots = 0.1;
extern double TrailingStop = 0;
extern int Pfast=7;
extern int Pslow=36;
extern int Psignal=7;
extern double LEVEL=0.001;
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;
int i1, pp, shift;
double Tv[2][500] ;
double Range, rr, Delta, Delta1, val3;

if(Bars<100)
{
Print("bars less than 100");
return(0); // ?? ??????? ????? 100 ?????
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // ????????? TakeProfit
}
Range = iATR(NULL,0,200,1);
rr = Range*LEVEL;
Delta=iMACD(NULL,0,Pfast,Pslow,Psignal,PRICE_CLOSE,MODE_MAIN,0)-
iMACD(NULL, 0 ,Pfast,Pslow,Psignal,PRICE_CLOSE,MODE_SIGNAL,0);
Delta1=iMACD(NULL,0,Pfast,Pslow,Psignal,PRICE_CLOSE,MODE_MAIN,1)-
iMACD(NULL, 0 ,Pfast,Pslow,Psignal,PRICE_CLOSE,MODE_SIGNAL,1);

if(OrdersTotal()<1) 
{

if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money");
return(0); // ????? ??? - ???????
}

if( Delta>rr && Delta1<rr )
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Points,"macd signal",16384,0,Red); // ?????????
if(GetLastError()==0)Print("Order opened : ",OrderOpenPrice());
return(0); // ???????, ??? ??? ??? ????? ????? ?????????? ???????? ????????

}

if( Delta < -rr && Delta1 

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

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

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

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

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

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

Стоимость полного кода
254₽ ≈ $3.10