tradingaverage ea.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tradingaverage ea.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный исходный код представляет собой торгового советника для платформы MetaTrader 4, написанный на языке MQL4. Советник использует библиотеки из пакета sovetnikovGUI для работы с ордерами, отображения интерфейса и проверки времени. Он управляет позициями по направлениям BUY и SELL, поддерживает фиксированный стоп-лосс, тейк-профит и увеличение объёма позиции по заданному множителю при достижении определённого уровня убытка. Также реализована временная фильтрация для открытия сделок и графический интерфейс с кнопками управления на графике.
Настройки программы
| Настройка | Описание |
|---|---|
| slippage | Проскальзывание — Допустимое проскальзывание при исполнении ордеров в пунктах; 0 означает отключение проверки. |
| Magic | Магический номер — Идентификатор ордеров, открытых данным советником, для их последующей фильтрации и управления. |
| Start Lot (fix_lot) | Начальный лот — Начальный объём позиции при открытии новой сделки. |
| Lot Multiplicator (LotMultiplicator) | Множитель лота — Коэффициент, на который умножается текущий объём лота при увеличении позиции. |
| TP (takeprofit) | Тейк-профит — Уровень фиксации прибыли в пунктах; автоматически адаптируется для 5-знаковых инструментов. |
| Step (step) | Шаг увеличения — Пороговое значение убытка в пунктах, при достижении которого происходит увеличение объёма позиции. |
| Time Use (Time_Use) | Использовать время — Включает или отключает фильтрацию сделок по времени открытия. |
| Time Open (Time_Open) | Время открытия — Время, в которое советник проверяет возможность открытия новых позиций (формат ЧЧ:ММ). |
Поиск по коду файла
#property version "1.00"
#property strict
#include <sovetnikovGUI\Orders.mqh>
#include <sovetnikovGUI\Time.mqh>
#include <sovetnikovGUI\Button.mqh>
I slippage=0;
I Magic=0;
D fix_lot=0.02; //Start Lot
D LotMultiplicator=1.6; //Lot Multiplicator
D takeprofit=14; //TP
D step=8.5; //Step
B Time_Use=true; //Time Use
S Time_Open="18:00"; //Time Open
class CMyOrders: public COrders
{
public:
};
class CMain: public CMainDefault
{
protected:
CMyOrders m_main;
CTime m_time;
SNButton m_buy,m_sell,m_closeall;
public:
virtual int OnInit()
{
// код доступен только после оплаты
}
virtual void OnDeinit(const int reason)
{
m_main.OnDeinit();
m_buy.Destroy();
m_sell.Destroy();
m_closeall.Destroy();
}
virtual void OnTick()
{
// код доступен только после оплаты
}
if(!m_main.IsWork()) return; //отключена торговля
m_main.OnTick();
m_main.Update(); //получим кол-во ордеров в структуре orders
if(m_main.m_all==0 && Time_Use){
if(m_time.time_checking(Time_Open)){
OnOpen(OP_BUY);
OnOpen(OP_SELL);
}
}
CreateInterface();
TESTER_EVENT_CLICK(m_buy,OnOpen(OP_BUY));
TESTER_EVENT_CLICK(m_sell,OnOpen(OP_SELL));
TESTER_EVENT_CLICK(m_closeall,OnCloseAll());
long t;
t=m_main.getLastOrderTicket(OP_BUY,ORDER_DN);
if(m_main.OrderSelect(t))
{
double dopen=m_main.OrderOpenPrice();
double dtake=m_main.OrderTakeProfit();
double dpt=m_main.OrderStep();
if(dpt<=-step)
{
double dnextlot=NLot(m_main.OrderLots()*LotMultiplicator);
long tt=m_main.OrderSend(OP_BUY,dnextlot,-1,0,0);
if(m_main.OrderSelect(tt))
{
dopen=m_main.OrderOpenPrice();
dtake=m_main.OrderTakeProfit();
}
}
if(dtake==0.0 && takeprofit>0)
{
dtake=nd(dopen+takeprofit*m_main.p);
}
if(dtake>0) m_main.SetAll(OP_BUY,-1,dtake,false,true);
}
t=m_main.getLastOrderTicket(OP_SELL,ORDER_UP);
if(m_main.OrderSelect(t))
{
double dopen=m_main.OrderOpenPrice();
double dtake=m_main.OrderTakeProfit();
double dpt=m_main.OrderStep();
if(dpt<=-step)
{
double dnextlot=NLot(m_main.OrderLots()*LotMultiplicator);
long tt=m_main.OrderSend(OP_SELL,dnextlot,-1,0,0);
if(m_main.OrderSelect(tt))
{
dopen=m_main.OrderOpenPrice();
dtake=m_main.OrderTakeProfit();
}
}
if(dtake==0.0 && takeprПоказано первые 50% кода (символов: 3812)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.