agressor pro clone.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «agressor pro clone.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник для MetaTrader 4, автоматизирующий открытие сделок в заданном временном окне. При появлении нового бара в указанные часы программа оценивает сигнал и открывает позицию Buy или Sell с фиксированным или рассчитанным лотом. Поддерживает усреднение позиций с увеличением объёма по заданному коэффициенту.
Основные параметры включают временной диапазон торговли, размер лота, коэффициент наращивания лота, тейк-профит, дистанцию усреднения и магический номер ордеров. Тип таймфрейма и комментарий к сделкам задаются отдельно.
Внутренняя логика сигнала опирается на библиотеку sovetnikovNET (Orders.mqh, Time.mqh), которая предоставляет средства работы с ордерами и временными функциями. Советник использует виртуальное управление позициями и отрисовку уровней на графике.
Настройки программы
| Настройка | Описание |
|---|---|
| StartHour (StartHour) | StartHour — Час начала торговой сессии |
| EndHour (LastHour) | EndHour — Час окончания торговой сессии |
| Lots | Размер лота — Размер лота для открытия позиции |
| LotExponent | Коэффициент лота — Коэффициент увеличения лота при усреднении |
| TakeProfit | Тейк-профит — Тейк-профит в пунктах |
| Distance | Дистанция — Дистанция для усреднения позиций |
| MagicNumber | Магический номер — Магический номер ордеров |
| tf | Таймфрейм — Таймфрейм для анализа |
| cmt | Комментарий — Комментарий к торговым сделкам |
Поиск по коду файла
#property version "1.00"
#property strict
#define POINTS_NEW
#include <sovetnikovNET\Orders.mqh>
#include <sovetnikovNET\Time.mqh>
enum enum_hour
{
t0000=0,//00:00
t0100=1,//01:00
t0200=2,//02:00
t0300=3,//03:00
t0400=4,//04:00
t0500=5,//05:00
t0600=6,//06:00
t0700=7,//07:00
t0800=8,//08:00
t0900=9,//09:00
t1000=10,//10:00
t1100=11,//11:00
t1200=12,//12:00
t1300=13,//13:00
t1400=14,//14:00
t1500=15,//15:00
t1600=16,//16:00
t1700=17,//17:00
t1800=18,//18:00
t1900=19,//19:00
t2000=20,//20:00
t2100=21,//21:00
t2200=22,//22:00
t2300=23,//23:00
};
input enum_hour StartHour=t0000; //StartHour
input enum_hour LastHour=t2300;//EndHour
D Lots=0.02;
D LotExponent=1.6;
I TakeProfit=30;
I Distance=10;
I MagicNumber=1111;
TF tf=PERIOD_CURRENT;
S cmt="Agressor PRO Clone";
int slippage=0;
CGlobal m_global;
class CMyOrders: public COrders
{
public:
virtual bool OnInitIndicators()
{
return true;
}
virtual bool OnDeinitIndicators()
{
return true;
}
virtual int Signal()
{
int ibar=iBAR(m_name,tf,1);
if(ibar==1)
return OP_BUY;
if(ibar==-1)
return OP_SELL;
return -1;
}
virtual void AverageOrders(bool isNew,double dTakeProfit, double dMinStep,double dMnLot)
{
ulong ibuy=0,isell=0;
getLastOrderTicket(ibuy,isell);
double dlong=0,dshort=0;
get_Average(dlong,dshort);
if(dlong>0) m_drawvirtual.DrawHLine(0,"bu_buy",0,Time[1],dlong,1,STYLE_SOLID,clrGreen,false,false,"BU BUY",false);
else m_drawvirtual.Delete(0,"bu_buy");
if(dshort>0) m_drawvirtual.DrawHLine(0,"bu_sell",0,Time[1],dshort,1,STYLE_SOLID,clrGreen,false,false,"BU SELL",false);
else m_drawvirtual.Delete(0,"bu_sell");
if(ibuy>0)
{
if(this.OrderSelect(ibuy,true))
{
double dstep=this.OrderStep();
double dlot=this.OrderLots();
if(isNew && dstep<=-dMinStep && dMinStep>0)
{
double dNextLot=NLot(dlot*dMnLot); //получим следующий лот
ulong t=OrderSend(OP_BUY,dNextLot,-1,0,0,NULL,true);
DEBUG_OrderSend3(t);
}
SetAll_AverageTakeProfit(OP_BUY,dTakeProfit,0,true,false);
}
}
if(isell>0)
{
if(this.OrderSelect(isell,true))
{
double dstep=this.OrderStep();
double dlot=this.OrderLots();
if(isNew && dstep<=-dMinStep && dMinStep>0)
{
Показано первые 50% кода (символов: 3575)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.