mr.dollar_pending orders ea v5.5.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «mr.dollar_pending orders ea v5.5.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Торговый советник для MetaTrader 4, размещающий отложенные ордера четырёх типов: BuyStop, BuyLimit, SellStop и SellLimit. Советник работает в рамках заданных временных фильтров и поддерживает управление лотами, стоп-лоссами, тейк-профитами, трейлинг-стопом, а также автоматическое закрытие и удаление ордеров по заданным условиям. Советник позволяет настраивать количество ордеров каждого типа, расстояние от текущей цены и между ордерами, начальные лоты и их увеличение с помощью мультипликатора. Доступны опции хеджирования при первом запуске, повторного открытия закрытых позиций и фильтрации работы в пятницу.
Настройки программы
| Настройка | Описание |
|---|---|
| UseHourTrade | Фильтр по часам торговли — Включает или выключает ограничение торговли по часам |
| FromHourTrade | Начало часа торговли — Час начала торгового окна |
| ToHourTrade | Конец часа торговли — Час окончания торгового окна |
| OpenHedgeFirstTime | Хедж при первом запуске — Открывает хедж-позиции Buy и Sell при первом запуске советника |
| HedgeLots | Лот хедж-позиции — Размер лота для хедж-позиций |
| HedgeTP | Тейк-профит хеджа — Тейк-профит хедж-позиций в пунктах |
| HedgeSL | Стоп-лосс хеджа — Стоп-лосс хедж-позиций в пунктах |
| AddOrdersAfterClose | Повторное открытие после закрытия — Повторно открывает ордера после закрытия всех позиций |
| ReverseClosedOrders | Разворот закрытых ордеров — Разворачивает направление при повторном открытии закрытых ордеров |
| CloseIfLastOrderProfit | Закрыть при прибыли последнего ордера — Удаляет все отложенные и закрывает рыночные ордера, если последний ордер в прибыли |
| S1 | Группа BuyStop — Разделитель группы настроек BuyStop ордеров |
| OpenBuyStopOrders | Открывать BuyStop — Включает размещение ордеров BuyStop |
| NumberOfBuyStopOrders | Количество BuyStop — Количество ордеров BuyStop для размещения |
| BuyStopFirstLot | Начальный лот BuyStop — Начальный размер лота для BuyStop ордеров |
| DistanceFromCurrentPriceBS | Расстояние BuyStop от цены — Расстояние от текущей цены для первого BuyStop ордера в пунктах |
| DistanceBetweenBuyS | Расстояние между BuyStop — Расстояние между последовательными BuyStop ордерами в пунктах |
| Distance_AddBuyS | Доп. расстояние BuyStop — Дополнительное расстояние между BuyStop ордерами в пунктах |
| BuyStopTakeProfit | Тейк-профит BuyStop — Тейк-профит для BuyStop ордеров в пунктах |
| BuyStopSL | Стоп-лосс BuyStop — Стоп-лосс для BuyStop ордеров в пунктах |
| S2 | Группа BuyLimit — Разделитель группы настроек BuyLimit ордеров |
| OpenBuyLimitOrders | Открывать BuyLimit — Включает размещение ордеров BuyLimit |
| NumberOfBuyLimitOrders | Количество BuyLimit — Количество ордеров BuyLimit для размещения |
| BuyLimitFirstLot | Начальный лот BuyLimit — Начальный размер лота для BuyLimit ордеров |
| DistanceFromCurrentPriceBL | Расстояние BuyLimit от цены — Расстояние от текущей цены для первого BuyLimit ордера в пунктах |
| DistanceBetweenBuyL | Расстояние между BuyLimit — Расстояние между последовательными BuyLimit ордерами в пунктах |
| Distance_AddBuyL | Доп. расстояние BuyLimit — Дополнительное расстояние между BuyLimit ордерами в пунктах |
| BuyLimitTakeProfit | Тейк-профит BuyLimit — Тейк-профит для BuyLimit ордеров в пунктах |
| BuyLimitSL | Стоп-лосс BuyLimit — Стоп-лосс для BuyLimit ордеров в пунктах |
| S3 | Группа SellStop — Разделитель группы настроек SellStop ордеров |
| OpenSellStopOrders | Открывать SellStop — Включает размещение ордеров SellStop |
| NumberOfSellStopOrders | Количество SellStop — Количество ордеров SellStop для размещения |
| SellStopFirstLot | Начальный лот SellStop — Начальный размер лота для SellStop ордеров |
| DistanceFromCurrentPriceSS | Расстояние SellStop от цены — Расстояние от текущей цены для первого SellStop ордера в пунктах |
| DistanceBetweenSellS | Расстояние между SellStop — Расстояние между последовательными SellStop ордерами в пунктах |
| Distance_AddSellS | Доп. расстояние SellStop — Дополнительное расстояние между SellStop ордерами в пунктах |
| SellStopTakeProfit | Тейк-профит SellStop — Тейк-профит для SellStop ордеров в пунктах |
| SellStopSL | Стоп-лосс SellStop — Стоп-лосс для SellStop ордеров в пунктах |
| S4 | Группа SellLimit — Разделитель группы настроек SellLimit ордеров |
| OpenSellLimitOrders | Открывать SellLimit — Включает размещение ордеров SellLimit |
| NumberOfSellLimitOrders | Количество SellLimit — Количество ордеров SellLimit для размещения |
| SellLimitFirstLot | Начальный лот SellLimit — Начальный размер лота для SellLimit ордеров |
| DistanceFromCurrentPriceSL | Расстояние SellLimit от цены — Расстояние от текущей цены для первого SellLimit ордера в пунктах |
| DistanceBetweenSellL | Расстояние между SellLimit — Расстояние между последовательными SellLimit ордерами в пунктах |
| Distance_AddSellL | Доп. расстояние SellLimit — Дополнительное расстояние между SellLimit ордерами в пунктах |
| SellLimitTakeProfit | Тейк-профит SellLimit — Тейк-профит для SellLimit ордеров в пунктах |
| SellLimitSL | Стоп-лосс SellLimit — Стоп-лосс для SellLimit ордеров в пунктах |
| S5 | Группа мультипликатора — Разделитель группы настроек мультипликатора лотов |
| UseMultiplier | Использовать мультипликатор — Включает увеличение размера лота при размещении последующих ордеров |
| X_Multiplier | Режим мультипликатора — Если включён, лот умножается; если выключён, лот увеличивается на начальное значение |
| Multiplier | Множитель лота — Коэффициент умножения лота при использовании мультипликатора |
| S6 | Группа времени и цены — Разделитель группы настроек времени и цены открытия |
| HighLowCandle | Использовать High/Low свечи — Использует цену High или Low предыдущей свечи как базовую для расчёта уровней |
| OpenAtChoosenHour | Открывать в выбранный час — Разрешает открытие ордеров только в указанный час |
| Hour_ | Час открытия — Час, в который разрешено открытие ордеров |
| StartPrice | Начальная цена — Базовая цена для расчёта уровней ордеров; если ноль — используется текущая цена |
| Gap | Допустимый диапазон цены — Допустимый диапазон отклонения цены от StartPrice для открытия ордеров в пунктах |
| OnlyOnce | Только один раз — Разрешает открытие ордеров только один раз за запуск советника |
| S7 | Группа закрытия ордеров — Разделитель группы настроек закрытия и удаления ордеров |
| FridayOpenOrdersFilter | Фильтр пятницы для открытия — Запрещает открытие новых ордеров в пятницу до указанного часа |
| FridayDeleteOrders | Удалять ордера в пятницу — Удаляет все отложенные ордера в пятницу после указанного часа |
| FridayCloseOrders | Закрывать ордера в пятницу — Закрывает все рыночные ордера в пятницу после указанного часа |
| _Hour | Час пятничных фильтров — Час, после которого применяются пятничные фильтры |
| CloseAfterPassMinutes | Закрывать по времени — Включает автоматическое закрытие ордеров по истечении заданного времени |
| MinutesPass | Минуты до закрытия — Время в минутах после открытия ордера для его автоматического закрытия |
| CloseOrdersAfterProfit | Закрывать при прибыли — Закрывает все рыночные ордера при достижении заданной прибыли |
| DeleteOrdersAfterProfit | Удалять при прибыли — Удаляет все отложенные ордера при достижении заданной прибыли |
| Profit | Уровень прибыли — Уровень прибыли в пунктах для автоматического закрытия и удаления ордеров |
| CloseOrdersAfterLoss | Закрывать при убытке — Закрывает все рыночные ордера при достижении заданного убытка |
| Loss | Уровень убытка — Уровень убытка в пунктах для автоматического закрытия ордеров |
| S8 | Группа управления ордерами — Разделитель группы настроек управления ордерами |
| TrailingStop | Трейлинг-стоп — Размер трейлинг-стопа в пунктах; 0 отключает функцию |
| TrailingProfit | Прибыль для трейлинга — Минимальная прибыль в пунктах для активации трейлинг-стопа |
| TrailingStep | Шаг трейлинга — Минимальный шаг сдвига трейлинг-стопа в пунктах |
| S9 | Группа временного фильтра — Разделитель группы настроек временного фильтра |
| FridayCloseEA | Останавливать в пятницу — Останавливает работу советника в пятницу после указанного часа |
| Friday_CloseHour | Час завершения в пятницу — Час, после которого советник прекращает работу в пятницу |
| MagicNumber | Магический номер — Магический номер для идентификации ордеров советника |
Поиск по коду файла
extern bool UseHourTrade = false;
extern int FromHourTrade = 7;
extern int ToHourTrade = 17;
extern bool OpenHedgeFirstTime=false;
extern double HedgeLots=0.1;
extern int HedgeTP=0;
extern int HedgeSL=0;
extern bool AddOrdersAfterClose=true;
extern bool ReverseClosedOrders=false;
extern bool CloseIfLastOrderProfit=false;
extern string S1="BuyStop Orders Settings ";
extern bool OpenBuyStopOrders=true;
extern int NumberOfBuyStopOrders=50;
extern double BuyStopFirstLot=0.1;
extern int DistanceFromCurrentPriceBS=0;
extern int DistanceBetweenBuyS=20;
extern int Distance_AddBuyS=0;
extern int BuyStopTakeProfit=0;
extern int BuyStopSL=0;
extern string S2="BuyLimit Orders Settings";
extern bool OpenBuyLimitOrders=true;
extern int NumberOfBuyLimitOrders=50;
extern double BuyLimitFirstLot=0.1;
extern int DistanceFromCurrentPriceBL=0;
extern int DistanceBetweenBuyL=20;
extern int Distance_AddBuyL=0;
extern int BuyLimitTakeProfit=0;
extern int BuyLimitSL=0;
extern string S3="SellStop Orders Settings";
extern bool OpenSellStopOrders=true;
extern int NumberOfSellStopOrders=50;
extern double SellStopFirstLot=0.1;
extern int DistanceFromCurrentPriceSS=0;
extern int DistanceBetweenSellS=20;
extern int Distance_AddSellS=0;
extern int SellStopTakeProfit=0;
extern int SellStopSL=0;
extern string S4="SellLimit Orders Settings";
extern bool OpenSellLimitOrders=true;
extern int NumberOfSellLimitOrders=50;
extern double SellLimitFirstLot=0.1;
extern int DistanceFromCurrentPriceSL=0;
extern int DistanceBetweenSellL=20;
extern int Distance_AddSellL=0;
extern int SellLimitTakeProfit=0;
extern int SellLimitSL=0;
extern string S5=" Lots Multiplier ";
extern bool UseMultiplier=true;
extern bool X_Multiplier=true;
extern double Multiplier=2;
extern string S6=" Order Open Time/Price Settings ";
extern bool HighLowCandle=false;
extern bool OpenAtChoosenHour=false;
extern int Hour_=12;
extern double StartPrice=0;
extern int Gap=3;
extern bool OnlyOnce=false;
extern string S7=" Close and Delete Orders ";
extern bool FridayOpenOrdersFilter=true;
extern bool FridayDeleteOrders=false;
extern bool FridayCloseOrders=false;
extern int _Hour=20;
extern bool CloseAfterPassMinutes=false;
extern int MinutesPass=100;
extern bool CloseOrdersAfterProfit=true;
extern bool DeleteOrdersAfterProfit=true;
extern int Profit=200;
extern bool CloseOrdersAfterLoss=false;
extern double Loss=-200;
extern string S8=" Order Management";
extern int TrailingStop=0;
extern int TrailingProfit=0;
extern int TrailingStep=0;
extern string S9="Time Filter";
extern bool FridayCloseEA=false;
extern int Friday_CloseHour=20;
bool enter;
double point;double Price;
int digits;int i,Q,Qq;
extern int MagicNumber=2533;
int init()
{
// код доступен только после оплаты
}
void deinit() {
Comment("");
}
int orderscnt(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber){
cnt++;
}
}
}
return(cnt);
}
int ordersPen(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber&&OrderType()>OP_SELL){
cnt++;
}
}
}
return(cnt);
}
int orders(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber&&OrderType()<=OP_SELL){
cnt++;
}
}
}
return(cnt);
}
int start()
{
// код доступен только после оплаты
}
Comment("Programmed by MR.dollar"+"\n"+"????? ???????? ??????"+"\n"+"www.arabictrader.com/vb"+"\n"+
"Number Of Pending Orders = "+ordersPen()+"\n"+"Number Of Market Orders = "+orders()+"\n"+
"Account Free Margin = "+DoubleToStr(AccountFreeMargin(),2)+"\n"+"Profit Value = "+DoubleToStr(AccountProfit(),2));
bool ss=true;
if(Qq+Q==orderscnt()&&!((FromHourTrade < ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade && TimeHour(TimeCurrent()) < ToHourTrade) || (FromHourTrade > ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade ||
TimeHour(TimeCurrent()) < ToHourTrade))&&UseHourTrade){
DeletePendingOrders();
}
if (UseHourTrade){
if(!((FromHourTrade < ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade && TimeHour(TimeCurrent()) < ToHourTrade) || (FromHourTrade > ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade ||
TimeHour(TimeCurrent()) < ToHourTrade))){
Comment("Non-Trading Hours!");
ss=false;
}
}
if(TrailingStop>0)MoveTrailingStop();
if(FridayCloseEA&&Hour()>=Friday_CloseHour&&DayOfWeek()==5)
return;
if(AddOrdersAfterClose&&orderscnt()>0){
OpenClosedOrders(OP_BUY);
OpenClosedOrders(OP_SELL);
}
int totalNumber=0;
if(ss==true&&orderscnt()<1&&(OnlyOnce==false||enter==true)&&(FridayOpenOrdersFilter==false||DayOfWeek()!=5||Hour()<_Hour)&&(Hour()==Hour_||OpenAtChoosenHour==false)){
double lastlot;double newlot;double TP,SL;
lastlot=0;
if(OpenHedgeFirstTime)
{
if(HedgeSL==0){SL=0;}else{SL=Ask-HedgeSL*point;}
if(HedgeTP==0){TP=0;}else{TP=Ask+HedgeTP*point;}
OrderSend(Symbol(),OP_BUY,HedgeLots,NormalizeDouble(Ask,Digits),3*Q,NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits),"MR.dollar EA",MagicNumber,0,Blue);
if(HedgeSL==0){SL=0;}else{SL=Bid+HedgeSL*point;}
if(HedgeTP==0){TP=0;}else{TP=Bid-HedgeTP*point;}
OrderSend(Symbol(),OP_SELL,HedgeLots,NormalizeDouble(Bid,Digits),3*Q,NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits),"MR.dollar EA",MagicNumber,0,Red);
}
if(OpenSellLimitOrders){
for(i=1;i<=NumberOfSellLimitOrders;i++)
{
if(UseMultiplier){
if(X_Multiplier){
newlot=Multiplier*lastlot;
}
else{newlot=lastlot+SellLimitFirstLot;}
}
else{newlot=SellLimitFirstLot;}
if(newlot==0){newlot=SellLimitFirstLot;}
lastlot=newlot;
if(StartPrice==0){Price=Bid+(DistanceFromCurrentPriceSL*point)+(i*DistanceBetweenSellL*point+i*Distance_AddSellL*point);}
else{Price=StartPrice+(DistanceFromCurrentPriceSL*point)+(i*DistanceBetweenSellL*point);}
if(HighLowCandle){Price=High[1]+(DistanceFromCurrentPriceSL*point)+(i*DistanceBetweenSellL*point);}
if(SellLimitTakeProfit==0){TP=0;}else{TP=Price-SellLimitTakeProfit*point;}
if(SellLimitSL==0){SL=0;}else{SL=Price+SellLimitSL*point;}
if((StartPrice==0&&HighLowCandle==false)||(HighLowCandle==true&&Hour()==Hour_+1)||(Close[0]>=StartPrice-Gap*point&&Close[0]<=StartPrice+Gap*point)){
OrderSend(Symbol(),OP_SELLLIMIT,newlot,Price,3,SL,TP,"MR.dollar EA"+totalNumber,MagicNumber,0,Red);
totalNumber++;
}
}
}
lastlot=0;
if(OpenBuyLimitOrders){
for(i=1;i<=NumberOfBuyLimitOrders;i++)
{
if(UseMultiplier){
if(X_Multiplier){
newlot=Multiplier*lastlot;
}
else{newlot=lastlot+BuyLimitFirstLot;}
}
else{newlot=BuyLimitFirstLot;}
if(newlot=Показано первые 50% кода (символов: 13208)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.