trendcapture.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trendcapture.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный советник работает на платформе MetaTrader 4 и анализирует рынок с помощью индикаторов Parabolic SAR (iSAR) и Average Directional Index (iADX). На каждом новом баре он определяет наличие открытых позиций на текущем инструменте и при их отсутствии оценивает историю сделок для выбора направления входа.
При открытии позиции советник проверяет соотношение SAR и цены закрытия, а также значение ADX. Если SAR находится ниже текущей цены и ADX ниже 20, открывается покупка; если SAR выше цены и ADX ниже 20 — продажа. Размер лота рассчитывается на основе свободного маржа счёта и параметра MaximumRisk.
Советник поддерживает фиксацию убытка и фиксацию прибыли через параметры StopLoss и TakeProfit. Кроме того, реализован механизм перевода стоп-лосса в безубыточный уровень при достижении позиции прибылью в 5 и более пунктов.
Настройки программы
| Настройка | Описание |
|---|---|
| TakeProfit | Число, задающее уровень тейк-профита в пунктах при открытии торговой позиции. |
| StopLoss | Число, задающее уровень стоп-лосса в пунктах при открытии торговой позиции. |
| MaximumRisk | Число, определяющее долю свободного маржа счёта, используемую для расчёта размера лота при открытии позиции. |
Поиск по коду файла
#include <stdlib.mqh>
extern double TakeProfit=180.0;
extern double StopLoss=50.0;
extern double MaximumRisk = 0.03;
static int prevtime = 0;
int start() {
// код доступен только после оплаты
}
if (Time[0] == prevtime) return(0);
prevtime = Time[0];
int total = OrdersTotal();
int ticket = -1;
for(int cnt = 0; cnt < total; cnt++) {
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
ticket = OrderTicket();
}
}
if (ticket < 0) {
int cmd = OP_BUY;
int htotal = HistoryTotal();
for(int i = 0; i < htotal; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) == false) {
Print("?????? ? ??????? ?????! ???????? ? ???????! ????? ?? ????? ???? ??????? ? ?????? ??????");
break;
}
if ((OrderSymbol()!= Symbol()) || (OrderType() > OP_SELL))
continue;
if (OrderProfit() > 0) {
cmd = OrderType();
} else { // ? ????????? ??????,
if (OrderType() == OP_SELL) {
cmd = OP_BUY;
} else {
cmd = OP_SELL;
}
}
}
double sar = iSAR(NULL, 0, 0.02, 0.2, 0);
double adx = iADX(NULL, 0, 14, PRICE_CLOSE, MODE_MAIN, 0);
if (cmd == OP_BUY) { // ???? ????????? ??????? ???????
if ((sar < Close[0]) && (adx < 20)) {
ticket=OrderSend(Symbol(),OP_BUY, LotsOptimized(), Ask, 3, Bid - StopLoss * Point, Ask + TakeProfit * Point, "TrendCapture", 16384, 0, Blue);
if(ticket > 0) {
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
PrintПоказано первые 50% кода (символов: 2285)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.