The 20's v0.30
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «the 20's v0.30 [ea].mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
The 20's v0.30 — это торговый советник для MetaTrader 4, написанный на MQL4. Он работает на одном символе графика и использует один магический номер для учёта своих позиций. Советник открывает не более одной сделки в день и ведёт журнал сделок в текстовом файле. В коде присутствует проверка разрешения на торговлю и предупреждение при нескольких одновременно открытых позициях.
Логика входа основана на анализе диапазона предыдущей свечи и её положения. Предусмотрены два режима работы, выбираемые параметром Variation. Вход выполняется только в определённое время суток. После открытия позиции советник может управлять стоп-лоссом и тейк-профитом, а также применять трейлинг-стоп и дополнительные механизмы фиксации прибыли или ограничения убытка.
Объём сделки может задаваться вручную или рассчитываться автоматически с учётом свободной маржи и риска, с возможностью уменьшения после серии убыточных сделок. Все входные параметры вынесены в настройки советника. Советник не является индикатором или библиотекой и предназначен для автоматической торговли на платформе MetaTrader 4.
Настройки программы
| Настройка | Описание |
|---|---|
| Variation | Вариация — Выбор варианта торговой логики: 0 — вход по предыдущей свече, 1 — вход по внутренней свече. |
| Stoploss | Стоп-лосс — Начальный размер стоп-лосса в пунктах от цены открытия. |
| TrailingStop | Трейлинг-стоп — Размер трейлинг-стопа в пунктах, используемый для сопровождения позиции. |
| LockProfit | Уровень фиксации прибыли — Уровень прибыли в пунктах, после достижения которого активируется фиксация прибыли. |
| TakeProfit | Тейк-профит — Размер тейк-профита в пунктах от цены открытия. |
| LockOutLossValue | Значение ограничения убытка — Величина убытка в пунктах, при достижении которой срабатывает механизм ограничения убытка. |
| LockInProfit | Фиксация прибыли — Включает механизм фиксации прибыли: после достижения заданного уровня прибыли разрешается работа трейлинг-стопа. |
| LockOutLoss | Ограничение убытка — Включает механизм ограничения убытка: при достижении заданного убытка стоп-лосс переносится в безубыток. |
| LotOptimized | Оптимизация лота — Включает автоматический расчёт объёма сделки на основе свободной маржи и максимального риска. |
| OverwriteLog | Перезапись журнала — Определяет, перезаписывать ли файл журнала при запуске советника или дописывать в него новые записи. |
| Slippage | Проскальзывание — Максимально допустимое проскальзывание цены в пунктах при открытии сделки. |
| Lots | Объём лота — Фиксированный объём сделки, используемый при отключённой оптимизации лота. |
| MaximumRisk | Максимальный риск — Максимальная доля риска от свободной маржи, используемая при автоматическом расчёте объёма. |
| DecreaseFactor | Коэффициент уменьшения — Коэффициент уменьшения объёма после серии убыточных сделок при включённой оптимизации лота. Чем больше значение, тем слабее уменьшение. |
Поиск по коду файла
#include <stdlib.mqh> // Include this file in case of needing to retrieve error descriptions
#define Magic_Num 1002 // ID for The20s Strategy
#define Buy 1
#define Sell 0
extern int Variation=0;
extern int Stoploss=50;
extern int TrailingStop=5;
extern int LockProfit=30;
extern int TakeProfit=100;
extern int LockOutLossValue=10;
extern bool LockInProfit=False;
extern bool LockOutLoss=False;
extern bool LotOptimized=False;
extern bool OverwriteLog=False;
extern int Slippage=3;
extern double Lots=0.1;
extern double MaximumRisk=0.02;
extern double DecreaseFactor=3;
bool LockInProfitFlag;
bool LockOutLossFlag;
int LastTrade=-1, FileHandle;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
FileClose(FileHandle);
return(0);
}
int start()
{
// код доступен только после оплаты
}
int OpenOrder(bool OpenType)
{
if(OpenType==Buy && LastTrade!=DayOfYear())
{
if(OrderSend(Symbol(),OP_BUY,LotOptimized(),Ask,Slippage,Ask-Stoploss*Point,Ask+TakeProfit*Point,"The 20's Strategy",Magic_Num,0,Blue) == -1)
{
Print("OP_BUY, Err = (", GetLastError(),") ",ErrorDescription(GetLastError()));
return(-1);
}
else
{
FileWrite(FileHandle,"Buy @ "+TimeToStr(CurTime(),TIME_DATE|TIME_MINUTES)+": "+Symbol()+" Vol: "+LotOptimized()+" Balance: "+AccountBalance());
LastTrade=DayOfYear();
LockOutLossFlag=False;
LockInProfitFlag=False;
}
}
else if(OpenType==Sell && LastTrade!=DayOfYear())
{
if(OrderSend(Symbol(),OP_SELL,LotOptimized(),Bid,Slippage,Bid+Stoploss*Point,Bid-TakeProfit*Point,"The 20's Strategy",Magic_Num,0,Red) == -1)
{
Print("OP_SELL, Err = (", GetLastError(),") ",ErrorDescription(GetLastError()));
return(-1);
}
else
{
FileWrite(FileHandle,"Sell @ "+TimeToStr(CurTime(),TIME_DATE|TIME_MINUTES)+": "+Symbol()+" Vol: "+LotOptimized()+" Balance: "+AccountBalance());
LastTrade=DayOfYear();
LockOutLossFlag=False;
LockInProfitFlag=False;
}
}
return(0);
}
int DetermineOpenPositions(int& BuyPositions, int& SellPositions)
{
int i;
for(i=0;i<OrdersTotal();Показано первые 50% кода (символов: 5847)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.