semilong_www.forex-instruments.info.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «semilong_www.forex-instruments.info.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
semilong — торговый советник для MetaTrader 4, анализирующий ценовые движения по двум наборам параметров сдвига и порога. На каждом тике советник сравнивает текущую цену Bid с историческими значениями Close на заданных сдвигах и при достижении условий открывает позиции Buy или Sell.
Советник поддерживает фиксированный и автоматический расчёт лота на основе доступного маржинального баланса. При включённом автолоте размер позиции вычисляется с учётом коэффициента деления маржи и ограничивается минимальным и максимальным значениями. Также реализована функция уменьшения лота при серии убыточных сделок.
В советнике реализованы стоп-лосс, тейк-профит и трейлинг-стоп. Трейлинг-стоп периодически перемещает стоп-лосс в сторону прибыли по открытым позициям при достижении заданного расстояния. Для идентификации собственных позиций используется магический номер.
Настройки программы
| Настройка | Описание |
|---|---|
| Profit | Расстояние тейк-профита в пунктах от цены открытия позиции. |
| Loss | Расстояние стоп-лосса в пунктах от цены открытия позиции. |
| Shift1 | Первый сдвиг в барах, определяющий, с какой исторической свечи берётся цена для сравнения с текущей при формировании сигнала. |
| Move1 | Первый пороговый уровень в пунктах для формирования сигнала на открытие позиции Buy или Sell. |
| Shift2 | Второй сдвиг в барах, добавляемый к первому для выбора дополнительной исторической свечи при формировании сигнала. |
| Move2 | Второй пороговый уровень в пунктах для дополнительного условия формирования сигнала на открытие позиции. |
| Decr | Коэффициент уменьшения лота при серии убыточных сделок. Каждая убыточная позиция в ряду снижает рассчитанный лот на 1/Decr от текущего значения. |
| Lots | Фиксированный размер лота, используемый при отключённом автоматическом расчёте или как минимальное значение при автолоте. |
| Trailing | Расстояние трейлинг-стопа в пунктах. При превышении цены прибыли над этим значением стоп-лосс перемещается вслед за ценой. |
| Autolot | Переключатель автоматического расчёта размера лота. При включении лот вычисляется на основе свободного маржинального баланса; при выключении используется фиксированное значение параметра Lots. |
| AutoMrgDiv | Делитель маржи для автоматического расчёта размера лота. Определяет, какую долю свободного маржинального баланса использовать при вычислении лота (AccountFreeMargin() / (AutoMrgDiv * 1000)). |
Поиск по коду файла
extern int Profit=120;
extern int Loss=60;
extern int Shift1=100;
extern int Move1=60;
extern int Shift2=10;
extern int Move2=30;
extern int Decr=14;
extern double Lots=1;
extern int Trailing=0;
extern bool Autolot=true;
extern int AutoMrgDiv=7;
int Magic=1915;
int spr;
int tp,sl,d;
bool isOrder,buy,sell;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
int i;
if (IsTradeAllowed()) isOrder=true;
for(i=0; i<=OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber()==Magic && OrderSymbol()==Symbol())isOrder=false;
}
buy=false;
sell=false;
if (Bid-Close[Shift1]<-Move1*Point && Close[Shift1]-Close[Shift1+Shift2]>Move2*Point) buy=true;
if (Bid-Close[Shift1]>Move1*Point && Close[Shift1]-Close[Shift1+Shift2]<-Move2*Point) sell=true;
if (AccountFreeMargin()<GetLots()*2000) isOrder=false;
if (isOrder && buy) {OrderSend(Symbol(),OP_BUY,GetLots(),Ask,3,(Bid-(Loss)*Point)*sl,(Ask+(Profit+spr)*Point)*tp,"",Magic,0,FireBrick); d=Day();
}
if (isOrder && sell) {OrderSend(Symbol(),OP_SELL,GetLots(),Bid,3,(Ask+(Loss)*Point)*sl,(Bid-(Profit+spr)*Point)*tp,"",Magic,0,DarkViolet);Показано первые 50% кода (символов: 2142)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.