Скачать MetaTrader 5

Помогите со скриптом количество buy и sell - страница 4

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
draugas2
13
draugas2  
все правильно, вы меня правильно поняли

Ниже приведен пример того,как я это полагаю

С Ув

Файлы:
macdbnrp.mq4 4 kb
Ihor Herasko
9296
Ihor Herasko  

1. Показывать данные нескольких символов в одном окне индикатора можно. Тянет на заказ в разделе "Работа", т. к. не является пятиминутным делом и не относится к случаю "интересно попробовать". Или же попробуйте поискать в Code Base. Там подобных индикаторов много.

2. Объединить окном индикатора несколько чартов - достаточно сложная задача, если вообще выполнимая. К тому же, особого смысла в ней не видно, т. к. вполне достаточно прикрепить такой индикатор к одному графику (как это обычно делается), указав программе, с каких символов считывать данные.

bambastik
109
bambastik  
Еще наесколько скриптов которые использую, размещу в этой теме чтоб потом отсюда брать.

Индикатор с первой страницы
#property indicator_chart_window
int start()
{
int vs=0,vb=0;
for (int i=0;i if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol()) {
if (OrderType()==OP_BUY) vb+=1;
if (OrderType()==OP_SELL) vs+=1;
}
}

ObjectCreate("Balance",OBJ_LABEL,0,0,0);
ObjectSet("Balance",OBJPROP_CORNER,2);
ObjectSet("Balance",OBJPROP_YDISTANCE,10);
ObjectSet("Balance",OBJPROP_XDISTANCE,1040);

ObjectCreate("tet",OBJ_LABEL,0,0,0);
ObjectSet("tet",OBJPROP_CORNER,2);
ObjectSet("tet",OBJPROP_YDISTANCE,40);
ObjectSet("tet",OBJPROP_XDISTANCE,1070);

ObjectCreate("sd",OBJ_LABEL,0,0,0);
ObjectSet("sd",OBJPROP_CORNER,2);
ObjectSet("sd",OBJPROP_YDISTANCE,70);
ObjectSet("sd",OBJPROP_XDISTANCE,1050);
ObjectSetText("sd",DoubleToStr(MarketInfo(Symbol(),MODE_ASK),5)+" | "+DoubleToStr(MarketInfo(Symbol(),MODE_SPREAD),0)+" | "+DoubleToStr(MarketInfo(Symbol(),MODE_BID),5),18,"Terminal",LightGray); // ASK | Спред | BID
ObjectSetText("tet",vb+" | "+vs+" | "+TimeToStr(DayOfWeek(),0)+" | "+TimeToStr(TimeLocal(),TIME_MINUTES),18,"Terminal",DarkOrchid); // количество позиций | день недели по счету | локальное время машины
ObjectSetText("Balance",DoubleToStr(AccountBalance(),0)+" | "+DoubleToStr(AccountEquity(),0)+" | "+DoubleToStr(AccountFreeMargin(),0)+" | "+DoubleToStr(AccountProfit(),0),18,"Terminal",Gold); // Баланс | Средства | Свободно | Прбыль

//--------------------------------------------------------------------
return;
}

Закрыть все
#property copyright "Copyright © 2005, Matias Romeo."
#property link "mailto:matiasDOTromeoATgmail.com"
int start()
{
int total = OrdersTotal();
for(int i=total-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();
bool result = false;
switch(type)
{
case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
break;
case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );
}
if(result == false)
{
Alert("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
Sleep(3000);
}
}
return(0);
}

Закрыть все buy
void start(){
PlaySound("tick.wav");
bool s = false;
double b = AccountBalance();
int i=0;
for(;i {
OrderSelect(i,SELECT_BY_POS);
if(OrderSymbol()!= Symbol())continue;
if(OrderType()>0)continue;
s=true;
int Ticket = OrderTicket();
double Lots = OrderLots();
double Price=NormalizeDouble(Bid,Digits);
OrderClose(Ticket,Lots,Price,3);
int error = GetLastError();
if(error==6){Alert("Нет связи");return;}
if(error==132){Alert("Рынок закрыт");return;}
RefreshRates();
i--;
}
if(s)Alert("PROFIT : ",AccountBalance()-b);else Alert("Нет ордеров Buy");
PlaySound("ok.wav");
return;
}

Закрыть все sell
//+---------------------------------------------------------+
// Скрипт убирёт все Sell по инструменту |
//+---------------------------------------------------------+
void start(){
PlaySound("tick.wav");
bool s = false;
double b = AccountBalance();
int i=0;
for(;i {//+---------------------------------------------------------------------+for
OrderSelect(i,SELECT_BY_POS);
if(OrderSymbol()!= Symbol())continue;
if(OrderType()!=1)continue;
s=true;
int Ticket = OrderTicket();
double Lots = OrderLots();
double Price=NormalizeDouble(Ask,Digits);
//+----------------------------------------------------------------------+
OrderClose(Ticket,Lots,Price,3);
int error = GetLastError();
if(error==6){Alert("Нет связи");return;}
if(error==132){Alert("Рынок закрыт");return;}
RefreshRates();
i--;
}//+--------------------------------------------------------------------+for
if(s)Alert("PROFIT : ",AccountBalance()-b);else Alert("Нет ордеров Sell");
PlaySound("ok.wav");
return;
}
Открыть 1 buy
#property copyright "pochti yablya"
extern double Lots = 0.01;
int start()
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,CLR_NONE);
return(0);
}


Открыть 1 sell
#property copyright "pochti yablya"
extern double Lots = 0.01;
int start()
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,CLR_NONE);
return(0);
}

все скопировано с интернета, АВТОРЫ ТАМА
1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий