hedgelot_ea.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «hedgelot_ea.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
HedgeLot_EA — торговый советник для MetaTrader 4, реализующий стратегию хеджирования с наращиванием лотов. При запуске советник одновременно открывает начальные позиции BUY и SELL с фиксированными параметрами Take Profit и Stop Loss. Если одна из позиций приносит прибыль, автоматически открываются дополнительные ордера в противоположном направлении с увеличенным размером лота по заданному множителю.
Советник использует два типа ордеров: мгновенные (InstantOrder) и отложенные (PendingOrder). Начальные позиции открываются одним лотом, а отложенные — другим. При появлении новой прибыльной позиции удаляются противоположные отложенные ордера и создаются новые с наращенным объёмом. Лоты корректируются с помощью множителя и нормализуются до заданного числа знаков после запятой.
Внутренняя логика включает проверки разрешения торговли на сервере, состояния торгового контекста и наличия подключения к серверу. Также советник контролирует уровень стоп-лосса относительно стоп-левела брокера. Магические номера разделяют начальные ордера (id1) и ордера продолжения (id2).
Настройки программы
| Настройка | Описание |
|---|---|
| TP | Тейк-профит в пунктах для начальных ордеров. |
| SL | Стоп-лосс в пунктах для начальных ордеров. |
| UseInstantOrder | Переключатель, определяющий, открываются ли начальные ордера мгновенно (true) или нет. |
| InstantLot | Размер лота для начальных мгновенных ордеров (BUY/SELL). |
| PendingLot | Размер лота для отложенных ордеров (BUYSTOP/SELLSTOP). |
| LotDecimal | Количество знаков после запятой при нормализации размера лота. |
| LotMultiplicator | Множитель для увеличения размера лота при открытии ордеров продолжения. |
Поиск по коду файла
extern int TP = 35;
extern int SL = 70;
extern bool UseInstantOrder = true;
extern double InstantLot = 0.1;
extern double PendingLot = 0.3;
extern int LotDecimal = 1;//jumlah angka dibelakang koma
extern double LotMultiplicator = 2.0; // faktor pengali
#define Slippage 2
#define id1 12345
#define id2 67890
static datetime lastB = -1;
static datetime lastS = -1;
static double nextLot;
static double levelBuy;
static double levelSell;
static bool firstRun;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
Comment("");
return(0);
}
int start()
{
// код доступен только после оплаты
}
double p()
{
double p;
if(Digits==5 || Digits==3) p = 10*(MarketInfo(Symbol(),MODE_POINT));
else p = MarketInfo(Symbol(),MODE_POINT);
return (p);
}
void openOrder(string simbol, int trade, double lotsize, double price, double sl, double tp,string pesan, int magic, color warna)
{
int tiket=OrderSend(simbol,trade,lotsize,price,Slippage,sl,tp,pesan,magic,0,warna);
if(tiket>0)
{
if(OrderSelect(tiket,SELECT_BY_TICKET,MODE_TRADES)) OrderPrint();
}
else Print("Tidak bisa buka order karena : ",GetLastError());
}
void firstRun()
{//
RefreshRates();
int spread = MarketInfo(Symbol(),MODE_SPREAD);
double buyTP = Ask+(TP-spread)*p();
double buySL = Bid-SL*p();
if(UseInstantOrder) openOrder(Symbol(),OP_BUY,InstantLot,Ask,buySL,buyTP,"buy awal",id1,Blue);
levelBuy = Ask;
double sellTP = Bid-(TP-spread)*p();
double sellSL = Ask+SL*pПоказано первые 50% кода (символов: 4496)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.