MR.dollar EA
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «mr.dollar_order management ea v5.2.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
MR.dollar EA — торговый советник для MetaTrader 4, предназначенный для управления ордерами на торговом счёте. Основная особенность — использование горизонтальных линий на графике для открытия позиций при достижении цены заданного уровня. Советник поддерживает как ручное, так и автоматическое управление ордерами.
Продукт предоставляет широкий набор инструментов управления ордерами: установка стоп-лосса и тейк-профита, использование индикатора ATR для расчёта уровней, трейлинг-стоп, перевод в безубыток, а также закрытие ордеров по времени и по результату. Доступны настройки для работы как с обычными, так и с хеджинговыми ордерами.
Встроенная система управления денежными средствами позволяет автоматически рассчитывать размер лота на основе свободного маржинального баланса и заданного риска. Советник также может массово закрывать все ордера при достижении заданной прибыли или убытка в процентах или в долларах.
Настройки программы
| Настройка | Описание |
|---|---|
| S | Заголовок раздела линий — Текстовый параметр для настройки заголовка раздела открытия ордеров по горизонтальным линиям. |
| Ss | Подсказка именования линий — Текстовый параметр для подсказки по именованию горизонтальных линий. |
| NumberOfLines | Количество линий — Количество горизонтальных линий для открытия ордеров. |
| OpenCandle | Свеча для открытия — Номер свечи для проверки условия открытия ордера по горизонтальной линии (0 — текущая свеча). |
| DeleteLinesTime | Время удаления линий — Время удаления горизонтальных линий (в формате ЧЧ:ММ). |
| Ss1 | Подсказка линий закрытия — Текстовый параметр для подсказки по именованию линий закрытия ордеров. |
| CloseCandle | Свеча для закрытия — Номер свечи для проверки условия закрытия ордера по горизонтальной линии. |
| Gap | Зазор линии — Допустимый зазор в пунктах для срабатывания линии открытия ордера. |
| t | Разделитель — Текстовый параметр для разделителя в интерфейсе настроек. |
| S1 | Подсказка типа ордера — Текстовый параметр для подсказки по выбору типа ордера. |
| OpenOrders | Открыть ордера — Переключатель автоматического открытия ордеров: при активации советник открывает ордера на покупку или продажу. |
| Order_Type | Тип ордера — Тип ордера: 0 — покупка, 1 — продажа. |
| MaxTrades | Максимальное количество ордеров — Максимальное количество одновременно открытых ордеров. |
| S2 | Подсказка одновременного открытия — Текстовый параметр для подсказки по открытию покупательских и продавцовских ордеров одновременно. |
| OpenHedgingOrders | Открыть хеджинговые ордера — Переключатель открытия хеджинговых ордеров: при активации советник открысовывает противоположные позиции. |
| MagicNumber | Магический номер — Магический номер для идентификации ордеров, управляемых советником. |
| MM_Parameters | Параметры управления средствами — Параметры управления денежными средствами. |
| Lots | Размер лота — Фиксированный размер лота для открытия ордеров. |
| Risk | Процент риска — Процент риска для расчёта размера лота в автоматическом управлении денежными средствами. |
| S4 | Заголовок управления ордерами — Текстовый параметр для заголовка раздела классического управления ордерами. |
| ModifyAllOrders | Модифицировать все ордера — Переключатель модификации всех ордеров: при активации советник изменяет стоп-лоссы и тейк-профиты по всем ордерам. |
| HideSL | Скрыть стоп-лосс — Переключатель скрытия стоп-лосса: при активации ордера со стоп-лоссом закрываются скрытые уровни. |
| StopLoss | Стоп-лосс — Стоп-лосс в пунктах для открытых ордеров. |
| HideTP | Скрыть тейк-профит — Переключатель скрытия тейк-профита: при активации ордера с тейк-профитом закрываются скрытые уровни. |
| TakeProfit | Тейк-профит — Тейк-профит в пунктах для открытых ордеров. |
| S5 | Заголовок ATR-управления — Текстовый параметр для заголовка раздела управления ордерами через ATR. |
| UseATRTS | ATR для трейлинг-стопа — Переключатель использования ATR для трейлинг-стопа. |
| ATR_TSPercent | Процент ATR для трейлинг-стопа — Процент ATR для расчёта уровня трейлинг-стопа при использовании индикатора ATR. |
| UseATRTP | ATR для тейк-профита — Переключатель использования ATR для расчёта уровня тейк-профита. |
| ATR_TPPercent | Процент ATR для тейк-профита — Процент ATR для расчёта уровня тейк-профита при использовании индикатора ATR. |
| UseATRSL | ATR для стоп-лосса — Переключатель использования ATR для расчёта уровня стоп-лосса. |
| ATR_SLPercent | Процент ATR для стоп-лосса — Процент ATR для расчёта уровня стоп-лосса при использовании индикатора ATR. |
| S10 | Заголовок трейлинг-стопа — Текстовый параметр для заголовка раздела классического трейлинг-стопа. |
| TrailingProfit | Прибыль для трейлинг-стопа — Уровень прибыли в пунктах для активации трейлинг-стопа. |
| TrailingStop | Расстояние трейлинг-стопа — Расстояние трейлинг-стопа в пунктах. |
| TrailingStep | Шаг трейлинг-стопа — Шаг трейлинг-стопа в пунктах. |
| S6 | Заголовок безубытка — Текстовый параметр для заголовка раздела безубытка. |
| BreakEven | Безубыток (уровень) — Уровень безубытка в пунктах для перевода стоп-лосса в безубыток. |
| movestopto | Расстояние безубытка 1 — Расстояние в пунктах для первого безубытка после достижения уровня BreakEven. |
| BreakEven2 | Безубыток 2 (уровень) — Второй уровень безубытка в пунктах для дополнительного перевода стоп-лосса в безубыток. |
| movestopto2 | Расстояние безубытка 2 — Расстояние в пунктах для второго безубытка после достижения уровня BreakEven2. |
| S9 | Заголовок управления временем — Текстовый параметр для заголовка раздела управления временем ордеров. |
| UseOrderTimeManagement | Управление временем ордеров — Переключатель управления временем ордеров: при активации ордера закрываются по заданному времени. |
| S7 | Подсказка закрытия по времени — Текстовый параметр для подсказки по закрытию ордера через X часов после открытия. |
| XHours | Часы до закрытия — Количество часов после открытия ордера, по истечении которых он будет закрыт. |
| S8 | Подсказка закрытия по часу — Текстовый параметр для подсказки по закрытию ордера в выбранный час. |
| HourToCloseOrder | Час закрытия ордера — Час, в который ордера будут закрыты при включённом управлении по времени. |
| S11 | Заголовок закрытия ордеров — Текстовый параметр для заголовка раздела настроек закрытия ордеров. |
| CloseAfterProfitPercent | Закрытие по прибыли в процентах — Переключатель для автоматического закрытия всех ордеров при достижении заданного уровня прибыли в процентах от баланса. |
| ProfitPercent | Процент прибыли — Процент прибыли от баланса, при достижении которого происходит массовое закрытие ордеров. |
| CloseAfterLossPercent | Закрытие по убытку в процентах — Переключатель для автоматического закрытия всех ордеров при достижении заданного уровня убытка в процентах от баланса. |
| LossPercent | Процент убытка — Процент убытка от баланса, при достижении которого происходит массовое закрытие ордеров. |
| CloseAfterProfitUSD | Закрытие по прибыли в долларах — Переключатель для автоматического закрытия всех ордеров при достижении заданной прибыли в долларах. |
| ProfitUSD | Прибыль в долларах — Сумма прибыли в долларах, при достижении которой происходит массовое закрытие ордеров. |
Поиск по коду файла
extern string S=" Open Orders By Adding Horizontal Lines ";
extern string Ss=" Lines Must Named As b+i or s+i / i=Number Of Line";
extern int NumberOfLines=10;
extern int OpenCandle=0;
extern string DeleteLinesTime="25:00";
extern string Ss1=" Close Lines Must named As cbl+i/cbu+i or csl+i/csu+i ";
extern int CloseCandle=0;
extern int Gap=2;
extern string t="-------------------------------";
extern string S1="Set Order_Type=0 for buy |or| Order_Type=1 for sell ";
extern bool OpenOrders=false;
extern int Order_Type=0;
extern int MaxTrades = 1;
extern string S2="Open Buy and Sell Orders At Same Time";
extern bool OpenHedgingOrders=false;
extern int MagicNumber=5000;
extern string MM_Parameters = " Money Management";
extern double Lots = 1;
extern bool MM = false,
AccountIsMicro = false;
extern int Risk = 10;
extern string S4=" Classic Order Management";
extern bool ModifyAllOrders=false;
extern bool HideSL=false;
extern int StopLoss=0;
extern bool HideTP=false;
extern int TakeProfit=0;
extern string S5=" ATR Order Management ";
extern bool UseATRTS=false;
extern double ATR_TSPercent = 0 ;
extern bool UseATRTP=false;
extern double ATR_TPPercent = 0 ;
extern bool UseATRSL=false;
extern double ATR_SLPercent = 0 ;
extern string S10=" Classic Trailing Stop";
extern int TrailingProfit=0;
extern int TrailingStop=0;
extern int TrailingStep=0;
extern string S6=" Orders BreakEven ";
extern int BreakEven=0;
extern int movestopto=1;
extern int BreakEven2=0;
extern int movestopto2=0;
extern string S9="---------- Order Time Management";
extern bool UseOrderTimeManagement=false;
extern string S7="Close Order when X Hour Passed After Order Open Time )";
extern int XHours=0;
extern string S8="Close Order At Choosen Houre)";
extern int HourToCloseOrder=100;
extern string S11="--------- Close Orders Settings";
extern bool CloseAfterProfitPercent=false;
extern int ProfitPercent=5;
extern bool CloseAfterLossPercent=false;
extern int LossPercent=5;
extern bool CloseAfterProfitUSD=false;
extern int ProfitUSD=200;
double point;
int digits,i,D;
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 start()
{
// код доступен только после оплаты
}
double SL,TP;
datetime Start= StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + DeleteLinesTime);
if(TimeCurrent()==Start){
for(i=0;i<=NumberOfLines;i++){
ObjectDelete("b"+i); ObjectDelete("s"+i);
}
}
int j,mag,tick,typ;
for(i=0;i<=NumberOfLines;i++){
if(ObjectFind("b"+i)!=-1){
double b=ObjectGet("b"+i,OBJPROP_PRICE1);
if((Close[0]<=b+Gap*point&&Close[0]>=b-Gap*point&&OpenCandle<1)||((Close[OpenCandle]>b||Open[OpenCandle]<b)&&OpenCandle>0)){
if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
if((UseATRSL)&&StopLoss<10)StopLoss=10;
if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
if((UseATRTP)&&TakeProfit<10)TakeProfit=10;
if(StopLoss==0||HideSL==true){SL=0;}else{SL=Ask-StopLoss*point;}
if(TakeProfit==0||HideTP==true){TP=0;}else{TP=Ask+TakeProfit*point;}
OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,digits),3*D,SL,TP,"MR.dollar EA",MagicNumber+i,0,Blue);
ObjectDelete("b"+i);
}
}
if(ObjectFind("cbu"+i)!=-1){
double l2=ObjectGet("cbu"+i,OBJPROP_PRICE1);
for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
}
}
if((Close[CloseCandle]>l2)&&mag==MagicNumber+i&&typ==OP_BUY){
OrderClose(tick,OrderLots(),NormalizeDouble(Bid,digits),3*D);ObjectDelete("cbu"+i);
}
}
if(ObjectFind("cbl"+i)!=-1){
l2=ObjectGet("cbl"+i,OBJPROP_PRICE1);
for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
}
}
if((Close[CloseCandle]<l2)&&mag==MagicNumber+i&&typ==OP_BUY){
OrderClose(tick,OrderLots(),NormalizeDouble(Bid,digits),3*D);ObjectDelete("cbl"+i);
}
}
}
for(i=0;i<=NumberOfLines;i++){
if(ObjectFind("s"+i)!=-1){
double s=ObjectGet("s"+i,OBJPROP_PRICE1);
if((Close[0]<=s+Gap*point&&Close[0]>=s-Gap*point&&OpenCandle<1)||((Close[OpenCandle]<s||Open[OpenCandle]>s)&&OpenCandle>0)){
if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
if((UseATRSL)&&StopLoss<10)StopLoss=10;
if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
if((UseATRTP)&&TakeProfit<10)TakeProfit=10;
if(StopLoss==0||HideSL==true){SL=0;}else{SL=Bid+StopLoss*point;}
if(TakeProfit==0||HideTP==true){TP=0;}else{TP=Bid-TakeProfit*point;}
OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,digits),3*D,SL,TP,"MR.dollar EA",MagicNumber+i,0,Red);
ObjectDelete("s"+i);
}
}
if(ObjectFind("csl"+i)!=-1){
double l1=NormalizeDouble(ObjectGet("csl"+i,OBJPROP_PRICE1),digits);
for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
}
}
if((Close[CloseCandle]<l1)&&mag==MagicNumber+i&&typ==OP_SELL){
OrderClose(tick,OrderLots(),NormalizeDouble(Ask,digits),3*D);ObjectDelete("csl"+i);
}
}
if(ObjectFind("csu"+i)!=-1){
l1=NormalizeDouble(ObjectGet("csu"+i,OBJPROP_PRICE1),digits);
for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
}
}
if((Close[CloseCandle]>l1)&&mag==MagicNumber+i&&typ==OP_SELL){
OrderClose(tick,OrderLots(),NormalizeDouble(Ask,digits),3*D);ObjectDelete("csu"+i);
}
}
}
Comment("Programmed by MR.dollar"+"\n"+"????? ???????? ??????"+"\n"+"www.arabictrader.com/vb");
double orderopen_time,TimeT;
if(((AccountProfit()/AccountBalance())*100>=ProfitPercent&&CloseAfterProfitPercent==true)||
((AccountProfit()/AccountBalance())*100<=LossPercent&&CloseAfterLossPercent==true)||(AccountProfit()>=ProfitUSD&&CloseAfterProfitUSD==true)){
while(OrdersTotal()>0){CloseAllOrders();}
}
if(TrailingStop>0)MoveTrailingStop();
if(BreakEven>0)MoveBreakEven();
if(BreakEven2>0)MoveBreakEven2();
if(UseATRTS)MoveATRTS();
for(int i=0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){
if(OrderSymbol()==Symbol()){
orderopen_time=OrderOpenTime();
}}}
TimeT=((TimeCurrent()-orderopen_time)/(60*60));
if(HideSL&&StopLoss>0)
{
CloseBuyOrdersHiddenSL();CloseSellOrdersHiddenSL();
}
if(HideTP&&TakeProfit>0)
{
CloseBuyOrdersHiddenTP();CloseSellOrdersHiddenTP();
}
if(MM) Lots = subLotSize();
if ( UseOrderTimeManagement==true&&(HourToCloseOrder==Hour()||(XHours>=TimeT&&XHours!=0)))
{CloseAllOrders();}
for(int cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
double type=OrderType();double stop=OrderStopLoss();double open=OrderOpenPrice();
tick=OrderTicket();double profit=OrderTakeProfit();
if(OrderSymbol()==Symbol()||ModifyAllOrders==true){
if(StopLoss!=0||TakeProfit!=0){
if(type==OP_BUY&&(HideSL==false||HideTP==false)){
if(StopLoss!=0&&HideSL==false){SL=open-StopLoss*point;}
if(TakeProfit!=0&&HideTP==false){TP=open+TakeProfit*point;}
if(stop!=SL||profit!=TP){
OrderModify(tick,open,SL,TP,0,Blue);
}
}
if(type==OP_SELL&&(HideSL==false||HideTP==false)){
if(StopLoss!=0&&HideSL==false){SL=open+StopLoss*point;}
if(TakeProfit!=0&&HideTP==false){TP=open-TakeProfit*point;}
if(stop!=SL||profit!=TP){
OrderModify(tick,open,SL,TP,0,Red);
}
}
}
}
}
if(OpenHedgingOrders==true&&OrdersTotalMagicBuy()<1){
{
if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
if((UseATRSL)&&StopLoss<10)StopLoss=10;
if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
if((UseATRTP)&&TakeProfit<10)TakeProfit=10;
if(StopLoss==0||HideSL==true){SL=0;}else{SL=Ask-StopLoss*point;}
if(TakeProfit==0||HideTP==true){TP=0;}else{TP=Ask+TakeProfit*point;}
OrderSend(Symbol(),OP_BUY,Lots,Ask,3*D,SL,TP,"MR.dollar EA",MagicNumber,0,Blue);
}
{
if(OrdersTotalMagicSell()<1){
if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
if((UseATRSL)&&StopLoss<10)StopLoss=10;
if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
if((UseATRTP)&&TakeProfit<10)TakeProfit=10;
if(StopLoss==0||HideSL==true){SL=0;}else{SL=Bid+StopLoss*point;}
Показано первые 50% кода (символов: 14594)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.