platinum full.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «platinum full.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник автоматически анализирует дневные данные цены (максимум, минимум, закрытие) на часовом графике H1 и размещает отложенные ордера BuyStop и SellStop при выполнении заданных условий.
Советник работает только в торговые дни (понедельник–пятница) и запускается при появлении нового бара в указанный час (по умолчанию 17:00). Перед началом работы проверяется, что таймфрейм графика соответствует H1, в противном случае выводится предупреждение. Для идентификации своих ордеров используется магический номер.
Лот рассчитывается на основе коэффициента риска и текущего баланса счёта. Отложенные ордера сопровождаются стоп-лоссом и тейк-профитом, задаваемыми в пунктах. При наличии уже открытых ордеров с тем же магическим номером новые ордера не размещаются.
Настройки программы
| Настройка | Описание |
|---|---|
| MaxReqSwing | Минимально допустимый диапазон дневного движения цены (разница между максимумом и минимумом предыдущего дня) в пунктах. Условие для размещения ордеров: дневной диапазон должен быть не меньше этого значения. |
| Margin | Минимально допустимое отклонение максимума и минимума предыдущего дня от цены закрытия в пунктах. Оба значения (highdiff и lowdiff) должны быть не меньше этого значения. |
| DeadBand | Смещение от максимума и минимума предыдущего дня для установки цены размещения отложенных ордеров BuyStop и SellStop, измеряемое в пунктах. |
| StopLoss | Расстояние стоп-лосса от цены размещения отложенного ордера, измеряемое в пунктах. |
| TakeProfit | Расстояние тейк-профита от цены размещения отложенного ордера, измеряемое в пунктах. |
| MinLots | Минимальный размер лота (параметр объявлен, но не используется в основной логике расчёта лотов). |
| MaxLots | Максимальный размер лота (параметр объявлен, но не используется в основной логике расчёта лотов). |
| RiskFactor | Коэффициент риска, используемый для расчёта размера лота на основе баланса счёта. |
| SL_Reverse | Логический переключатель (параметр объявлен, но не используется в основной логике советника). |
| TriggerTime | Час суток (0–23), при котором советник выполняет проверку условий и размещает ордера (по умолчанию 17). |
| ExpirationTime | Время истечения срока действия отложенных ордеров в формате ЧЧ:ММ (по умолчанию 23:00). |
| magicno | Магический номер для идентификации ордеров, размещённых данным советником. |
Поиск по коду файла
extern double MaxReqSwing=90;
extern double Margin=20;
extern double DeadBand=20;
extern double StopLoss=66;
extern double TakeProfit=34;
extern double MinLots=0.01;
extern double MaxLots=10;
extern double RiskFactor=0.075;
extern bool SL_Reverse=false;
extern int TriggerTime=17;
extern string ExpirationTime="23:00";
extern int magicno=888;
int cnbr_uey;
static int LASTRUN;
static int buy_orders_open=0;
static int sell_orders_open=0;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
double yesterday_high=0;
double yesterday_low=0;
double yesterday_close=0;
double maxdiff=0;
double highdiff=0;
double lowdiff=0;
double stop=0;
double TP=0;
double lots=1;
double price=0;
int seed=0;
int slip=5;
int ticket=0;
int i=0; // Counter
double prev_day_highs[24];
double prev_day_lows[24];
while((TimeDayOfWeek(Time[0]) > 0) && (TimeDayOfWeek(Time[0]) <6))
{
Comment("It's a trading day!!");
if ((LASTRUN == Time[0]))
{
return(0);
Comment("It's a no go, no new bar!!");
}
else
{
LASTRUN = Time[0];
Comment("Now we check whether the trigger time has come up");
if (TimeHour(Time[0]) != TriggerTime)
return(0);
}
Print("We're now executing the main code!!");
ArrayCopySeries(prev_day_highs, MODE_HIGH, Symbol(), PERIOD_H1);
ArrayCopySeries(prev_day_lows, MODE_LOW, Symbol(), PERIOD_H1);
yesterday_close = iOpen(Symbol(), PERIOD_H1, 0);
yesterday_high = prev_day_highs[ArrayMaximum(prev_day_highs, 24, 0)];
yesterday_low = prev_day_lows[ArrayMinimum(prev_day_lows, 24, 0)];
Print("New daily stats : ", "Date : ", Month( ), "/", Day(), "Close ", yesterday_close, " ", "High ", yesterday_high, " ", "Low ", yesterday_low);
maxdiff = yesterday_high - yesterday_low;
highdiff = yesterday_high-yesterday_close;
lowdiff = yesterday_close - yeПоказано первые 50% кода (символов: 3008)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.