SMC Manual EA limit and/or stop order
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «smc manual ea limit and_or stop order.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Продукт представляет собой торгового советника для платформы MetaTrader 4, реализующий подход SMC (Smart Money Concepts). Советник отрисовывает на графике набор трендовых линий, которые служат ориентирами для входа в позиции и управления ими.
В зависимости от настроек советник может отображать линии стоп-ордеров (BuyStop, SellStop) и лимитных ордеров (BuyLimit, SellLimit), а также соответствующие уровни стоп-лосса и тейк-профита. При срабатывании условий на ценовых уровнях советник открывает соответствующие ордера и управляет уже существующими позициями.
Советник поддерживает функцию трейлинг-стоп для защиты прибыли, а также ограничение в один торговый ордер в день. Встроена проверка свободного маржинального баланса для предотвращения неконтролируемого увеличения позиций.
Настройки программы
| Настройка | Описание |
|---|---|
| Lots | Lots — Устанавливает объём торговой позиции в единицах лота. |
| MaximumRisk | MaximumRisk — Задаёт параметр максимального риска, используемый при расчёте размера позиции. |
| 0 for no decrease in lotsize (DecreaseFactor) | DecreaseFactor — Определяет коэффициент уменьшения объёма позиции. При значении 0 объём не уменьшается. |
| Slippage | Slippage — Задаёт допустимое отклонение цены исполнения ордера от запрашиваемой цены в пунктах. |
| >0 enables trailing stop (UseTrailingStop) | UseTrailingStop — Включает или отключает функцию трейлинг-стопа. При значении больше нуля функция активна. |
| TrailingStop | TrailingStop — Задаёт расстояние в пунктах для трейлинг-стопа. |
| >0 LIMITS(restricts) trades to ONE PER DAY (OneTradePerDay) | OneTradePerDay — Ограничивает количество открытых торговых операций до одной в день при значении больше нуля. |
| >0 for extended trendline (ExtendLines) | ExtendLines — Включает или отключает продлённые трендовые линии на графике. |
| >0 to draw stoporder trendlines (Stoporders) | Stoporders — Включает или отключает отображение стоп-ордерных трендовых линий на графике. |
| >0 to draw limitorder trendlines (Limitorders) | Limitorders — Включает или отключает отображение лимитных ордерных трендовых линий на графике. |
Поиск по коду файла
extern double Lots =1.0;
extern double MaximumRisk =0.02;
extern double DecreaseFactor =0;//0 for no decrease in lotsize
extern double Slippage =3;
extern int UseTrailingStop =1;//>0 enables trailing stop
extern double TrailingStop =20;
extern int OneTradePerDay =1;//>0 LIMITS(restricts) trades to ONE PER DAY
extern int ExtendLines =1;//>0 for extended trendline
extern int Stoporders =1;//>0 to draw stoporder trendlines
extern int Limitorders =1;//>0 to draw limitorder trendlines
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
int cnt,total,ticket,MinDist,tmp;
double Spread;
if(Bars<100){
Print("bars less than 100");
return(0);
}
MinDist=MarketInfo(Symbol(),MODE_STOPLEVEL);
Spread=(Ask-Bid);
double BuyStop =ObjectGetValueByShift("BuyStop",0);
double BuyStopSL =ObjectGetValueByShift("BuyStopSL",0);
double BuyStopTP =ObjectGetValueByShift("BuyStopTP",0);
double SellStop =ObjectGetValueByShift("SellStop",0);
double SellStopSL=ObjectGetValueByShift("SellStopSL",0);
double SellStopTP=ObjectGetValueByShift("SellStopTP",0);
double BuyLimit =ObjectGetValueByShift("BuyLimit",0);
double BuyLimitSL =ObjectGetValueByShift("BuyLimitSL",0);
double BuyLimitTP =ObjectGetValueByShift("BuyLimitTP",0);
double SellLimit =ObjectGetValueByShift("SellLimit",0);
double SellLimitSL=ObjectGetValueByShift("SellLimitSL",0);
double SellLimitTP=ObjectGetValueByShift("SellLimitTP",0);
if(Minute()==0){
Print(Symbol(),"BuyStop:",BuyStop," BuyStopSL:",BuyStopSL," BuyStopTP:",BuyStopTP,
" SellStop:",SellStop," SellStopSL:",SellStopSL," SellStopTP:",SellStopTP);}
total=OrdersTotal();
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber()==16384 &&
OrderType()==OP_BUY &&
OrderSymbol()==Symbol())
{
if(Close[1] < BuyStopSL)
{
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Violet); // close LONG position
}}
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber(Показано первые 50% кода (символов: 9865)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.