jk_sinkhro.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «jk_sinkhro.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
JK_sinkhro — торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Программа анализирует динамику ценовых баров за заданный период и открывает ордера BUY или SELL в зависимости от соотношения растущих и падающих баров, с дополнительной фильтрацией по времени суток.
Советник поддерживает фиксированный или расчётный размер лота на основе свободных средств на счёте. Для открытых позиций реализованы механизмы фиксации прибыли по заданному расстоянию и скользящий стоп-лосс с фиксацией при достижении определённого отклонения цены.
Количество одновременно управляемых ордеров ограничивается параметром. Перед открытием нового ордера проверяется, не превышает ли текущее число ордеров заданный лимит. При недостатке баров на графике или некорректных значениях параметров советник прерывает работу и выводит сообщение в журнал.
Настройки программы
| Настройка | Описание |
|---|---|
| ?? ???????????? (TakeProfit) | Тейк-профит — Расстояние в пунктах для установки тейк-профита при открытии новых ордеров. |
| ??? ?????????? ????? ??????? ????????? ???? (TakeProfit2) | Тейк-профит 2 — Расстояние в пунктах для фиксации прибыли по уже открытым ордерам. |
| ??? ??????????? (Stoploss) | Стоп-лосс — Расстояние в пунктах для установки стоп-лосса при открытии новых ордеров. |
| ??? ???? ??? ?????? ???? ??????? (Lots) | Размер лота — Фиксированный размер лота для открытия ордеров, используется при отключённом управлении рисками. |
| ??????????E ???????? ?????? ?????????, ?? ??? ?????? ??????????? ??? ????? (TrailingStop) | Скользящий стоп — Расстояние в пунктах для активации скользящего стоп-лосса по открытым позициям. |
| ??????????? ????????????? ?????? (per) | Количество баров анализа — Количество баров, анализируемых для подсчёта растущих и падающих свечей. |
| ?? ???????????? (per2) | Параметр per2 — Дополнительный числовой параметр, объявленный в настройках. |
| ???????? ??????? (chas) | Смещение часов — Смещение часов для задания допустимого времени открытия ордеров (используется совместно с системным временем). |
| ???????????? ???????? ??? ????? ???? ?? ????? ??? (totalt) | Максимум ордеров — Максимально допустимое общее количество ордеров на символе, при превышении которого новые ордера не открываются. |
| ?? (mm) | Управление рисками — Переключатель управления рисками: при ненулевом значении размер лота рассчитывается автоматически на основе свободных средств. |
| ???? ? ?? (risk) | Процент риска — Процент риска, используемый при автоматическом расчёте размера лота (при mm ≠ 0). |
Поиск по коду файла
extern double TakeProfit = 100; // ?? ????????????
extern double TakeProfit2 = 36; // ??? ?????????? ????? ??????? ????????? ????
extern double Stoploss = 82; //??? ???????????
extern double Lots = 0.1; //??? ???? ??? ?????? ???? ???????
extern double TrailingStop = 30; //??????????E ???????? ?????? ?????????, ?? ??? ?????? ??????????? ??? ?????
extern double per=18; //??????????? ????????????? ??????
extern double per2=8; //?? ????????????
extern double chas=2; //???????? ???????
extern double totalt=1000; //???????????? ???????? ??? ????? ???? ?? ????? ???
extern double mm=0; // ??
extern double risk=10; //???? ? ??
int start()
{
// код доступен только после оплаты
}
int cnt, ticket, total;
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<0)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
double Lotsi;
if (mm!=0)
{
Lotsi=NormalizeDouble(AccountFreeMargin()*risk/100001,1);
if (Lotsi<0.1) Lotsi=0.1;
}
else Lotsi=Lots;
int up, down; up=0; down=0;
for(cnt=1;cnt<per;cnt++)
if (Open[cnt]>Close[cnt]) up=up+1;
for(cnt=1;cnt<per;cnt++)
if (Open[cnt]<Close[cnt]) down=down+1;
int j;
j=0;
total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) // check for symbol
{j=1;
if(OrderType()==OP_BUY)
{
if(Bid-OrderOpenPrice()>=TakeProfit2*Point)
{
OrderClose(OrderTicket(),OrderLots(),Bid,0,Violet); return(0);
}
if(TrailingStop>0)
{
Показано первые 50% кода (символов: 2218)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.