silvertrendtrader(xyz).mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «silvertrendtrader(xyz).mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник для MetaTrader 4, предназначенный для автоматической торговли на основе сигналов пользовательского индикатора и направления тренда. Открывает позиции в соответствии с возникающими условиями и управляет активными ордерами, корректируя стоп-лосс при движении цены в нужную сторону. Система ограничивает количество одновременных сделок каждого направления и блокирует открытие новых позиций в заданные часы пятницы.
Настройки программы
| Настройка | Описание |
|---|---|
| MAPeriod | Период скользящей средней — Задаёт период для расчёта скользящей средней, используемой для определения направления тренда. |
| TrailingStop | Трейлинг-стоп — Расстояние в пунктах для фиксации трейлинг-стопа на открытых позициях. При нулевом значении трейлинг-стоп не применяется. |
| TakeProfit | Тейк-профит — Уровень фиксации прибыли в пунктах для новых сделок. При нулевом значении ордер открывается без тейк-профита. |
| InitialStopLoss | Начальный стоп-лосс — Начальный стоп-лосс в пунктах для новых сделок. При нулевом значении стоп-лосс не устанавливается при открытии позиции. |
| FridayNightHour | Час пятичного запрета — Час начала блокировки открытия новых сделок в пятницу. Если значение больше нуля и текущий час пятницы превышает его, новые ордера не размещаются. |
Поиск по коду файла
#include <stdlib.mqh>
#property stacksize 1024
extern int MAPeriod=60;
extern double TrailingStop = 0;
extern double TakeProfit = 0;
extern double InitialStopLoss=0;
extern double FridayNightHour=16;
double Lots = 1;
int risk=3;
double MaxTradesPerType=2;
datetime bartime = 0;
int BarHour=0;
double Slippage=0;
double DeMarkerPeriod=13;
int start()
{
// код доступен только после оплаты
}
int cnt, ticket, err, result, total;
int has_a_short_trade=0, has_a_long_trade=0;
int MagicNumber;
double ts, tp, Min_OrderPrice;
double MA, MAPrevious;
int BuySellSignal=0;
string setup;
static double lastslope= 0.0;
static int didbreakalert= false;
MagicNumber = 40000;
setup="SILVERTREND";
double BuyST=iCustom(NULL, 0, "SilverTrend", 0, 0);
double SellST=iCustom(NULL, 0, "SilverTrend", 0, 0);
MA=iMA(NULL, 0, 60, 0, MODE_EMA, PRICE_MEDIAN, 0);
MAPrevious=iMA(NULL, 0, 60, 0, MODE_EMA, PRICE_MEDIAN, 1);
if (bartime == Time[0]) {
return(0);
} else {
bartime = Time[0]; // a new bar, so record its open time.
}
if(IsTesting() && Bars<100) return(0);
total = OrdersTotal();
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber) {
if(SellST>0) {
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
} else if(TrailingStop>0) {
if(Bid-OrderOpenPrice()>Point*TrailingStop) {
ts = Bid-Point*TrailingStop;
}
if((OrderStopLoss()<ts) || (OrderStopLoss()==0)) {
result=OrderModify(OrderTicket(),OrderOpenPrice(),ts,OrderTakeProfit(),0,White);
err = GetLastError();
if (err>1) {
Print("Error modifying BUY order [" + setup + "]: (" + err + ") " + ErrorDescription(err) + " " + setup);
}
}
}
} else if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber) {
if (BuyST>0) {
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
} else if(TrailingStop>0) {
if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) {
ts=Ask+Point*TrailingStop;
}
if((ts!=0) && ((OrderStopLoss()>ts) || (OrderStopLoss()==0))) {
result=OrderModify(OrderTicket(),OrderOpenPrice(),ts,OrderTakeProfit(),0,White);
err = GetLastError();
if (err>1) {
Print("Error modifying Sell order [" + setup + "]: (" + err + ") " + ErrorDescription(err) + " " + seПоказано первые 50% кода (символов: 3712)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.