TrailingStopCmillion
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trailingstopcmillion_v1.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
TrailingStopCmillion — это торговый советник для MetaTrader 4, реализующий функцию стоп-трейлинга для открытых ордеров на текущем торговом символе. Советник автоматически перемещает стоп-лоссы в зависимости от движения цены, используя заданное расстояние в пунктах или уровни, рассчитанные по фракталам и свечам.
В основе работы лежит цикл в функции start(), который последовательно обрабатывает все подходящие ордера: для покупающих позиций стоп-лосс поднимается вверх, для продающих — опускается вниз. Перед модификацией ордера проверяются условия OnlyProfit и OnlyWithoutLoss, позволяющие избегать перемещения стоп-лосса у убыточных позиций.
Советник отображает информацию о текущем состоянии на графике в виде текстовых меток и стрелков, указывающих расчётные уровни стоп-лосса. Обработка прекращается, когда все подходящие ордера обработаны. Фильтрация ордеров осуществляется по магическому номеру и торговому символу.
Продукт написан на языке MQL4 и предназначен для работы в среде MetaTrader 4. Он не содержит встроенной логики открытия позиций и выполняет исключительно управление стоп-лоссами уже открытых ордеров.
Настройки программы
| Настройка | Описание |
|---|---|
| OnlyProfit | Переключатель: при включении стоп-лосс перемещается только для ордеров, находящихся в прибыли. |
| OnlyWithoutLoss | Переключатель: при включении стоп-лосс перемещается только для ордеров, не находящихся в убытке. |
| Magic | Магический номер для фильтрации ордеров. При значении 0 советник обрабатывает все ордера на текущем символе, независимо от магического номера. |
| TrailingStop | Расстояние стоп-трейлинга в пунктах. При значении 0 стоп-трейлинг отключён и уровни рассчитываются по фракталам или свечам. |
Поиск по коду файла
#property show_inputs
extern bool OnlyProfit = true; //?????? ????????? ??????
extern bool OnlyWithoutLoss = false;//?????? ??? ??????
extern int Magic = 0;
extern int TrailingStop = 0; //????= 0, ?? ???????? ?? ????????? ??? ??????
extern string ???.?????= "0 - ?? ????????? 1 - ?? ??????";
extern int Tip.Fr.or.Candl = 1;
extern int Delta.Fr.Candl = 5; //?????? ?? ???????? ??? ?????
int delta,n,DIGITS;
datetime TIME;
double BID,ASK,POINT;
int start()
{
// код доступен только после оплаты
}
void TrailingStop()
{
int tip,Ticket;
bool error;
double StLo,OSL,OOP;
n=0;
for (int i=0; i<OrdersTotal(); i++)
{ if (OrderSelect(i, SELECT_BY_POS)==true)
{ tip = OrderType();
if (tip<2 && OrderSymbol()==Symbol() && (OrderMagicNumber()==Magic || Magic==0))
{
OSL = OrderStopLoss();
OOP = OrderOpenPrice();
Ticket = OrderTicket();
if (tip==OP_BUY)
{ n++;
StLo = SlLastBar(1,BID,Tip.Fr.or.Candl,TrailingStop);
if (StLo <= OOP && OnlyProfit) continue;
if (OSL >= OOP && OnlyWithoutLoss) continue;
if (StLo > OSL)
{ error=OrderModify(Ticket,OOP,NormalizeDouble(StLo,DIGITS),
OrderTakeProfit(),0,White);
Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
Sleep(500);
if (!error) Comment("Error order ",TickeПоказано первые 50% кода (символов: 4134)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.