lossless_ma.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «lossless_ma.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Продукт представляет собой торгового советника для MetaTrader 4, который работает на пересечении двух скользящих средних (MA). Советник открывает длинные и короткие позиции при пересечении быстрой и медленной скользящих средних.
Советник реализует функцию управления убыточными позициями: при включении он закрывает убыточные ордера при развороте сигнала MA, а при отключении — модифицирует их, перемещая стоп-лосс к цене открытия при наличии прибыли. Также реализовано ограничение максимального количества одновременных сделок.
Управление осуществляется через стандартные средства торгового API MetaTrader 4 с использованием OrderSend, OrderClose и OrderModify. Параметры настройки включают размеры лота, проскальзывание, периоды скользящих средних и магический номер.
Настройки программы
| Настройка | Описание |
|---|---|
| Close losses (losses) | Закрытие убыточных позиций — Управляет закрытием убыточных позиций при развороте сигнала скользящей средней |
Поиск по коду файла
#property version "1.0"
#property description "EA trades two MA crossing."
#property description "Noloss function with maximum deals limitation."
#property strict
enum yes_no
{
yes=0, //yes
no=1, //no
};
extern int
slip=50, //Slippage (in pips)
fast_MA=10, //Fast ?A
slow_MA=30, //Slow ??
MovingShift=6, //MA Shift
max_deals=5, //Maximum deals
magic=1133; //Magic number
extern yes_no losses=1; //Close losses
extern double
Lot=0.01; //Lot size
int
order_type=-1,
ticket=-1;
double
ma1,
ma2;
void OnTick()
{
// код доступен только после оплаты
}
void CheckForOpen()
{
if(ma1<ma2 && order_type!=OP_SELL)
{
ticket=OrderSend(Symbol(),OP_SELL,Lot,Bid,slip,0,0,"",magic,0,Red);
if(ticket==-1) return;
if(!OrderSelect(ticket,SELECT_BY_TICKET)) {Print("Error during selection."); return;}
else order_type=OrderType();
return;
}
if(ma1>ma2 && order_type!=OP_BUY)
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,slip,0,0,"",magic,0,Blue);
if(ticket==-1) return;
if(!OrderSelect(ticket,SELECT_BY_TICKET)) {Print("Error during selection."); return;}
else order_type=OrderType();
return;
}
}
void CheckForCloseMA()
{
if(OrderSelect(ticket,SELECT_BY_TICKET)==false) return;
if(OrderMagicNumber()!=maПоказано первые 50% кода (символов: 2387)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.