Скачать MetaTrader 5

OrderSend (Symbol(),OP_SELL не торгует

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
TESKATLIPOKA
146
TESKATLIPOKA  
здравствуйте.

что то не селит советник. не пойму от чего. никак не пойму как выставить горизонтальную линию на расстоянии - вместо ордера.

спасибо.

//+------------------------------------------------------------------+
//| RA.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
//--- input parameters
extern bool sell = 1; // разрешение продавать
extern bool buy = 1;
extern double lots = 0.2;
extern int sl = 50;
extern int tp = 100;
extern int trend_period = 55; //есть индикатор trend. с периодом trend_period
extern double trend_lev_b = 0.1; // на этом уровне индикатора должен быть ордер
extern double trend_lev_s = -0.1;
extern int otkat = 50; // на этом расстоянии на графике цены, при достижении индикатором trend
extern int order = 20; // уровня trend_lev должна рисоваться горизонтальная линия "otkat_line".
// если ордер buy - ниже. на величину otkat
// если ордер sell - выше
// при достижении ценой этой горизонтальной линии,
// выставляеться ордер на расстояние order

extern double bez = 15;
extern double tral_step = 15;
extern double tral_start = 10;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double trend = iCustom (Symbol(),0,"trend",trend_period,0,0);
string = "otkat_line"; // объявлял otkat_line. неудачно...
//покупка
if (trend>trend_lev_b && buy==1 )
{
OrderSend (Symbol(),OP_BUY, lots, Ask,3, Bid-sl*Point, Bid+tp*Point, Aqua);
ObjectCreate ( "otkat_line", OBJ_HLINE, 0 );// хотел что бы рисовал горизонтальную линию
}
//продажа
if (trend<trend_lev_s && sell==1 )
{
OrderSend (Symbol(),OP_SELL,lots, Bid,3, Bid-sl*Point, Bid+tp*Point, LightGreen );//не торгует. bid и ask
//много раз менял
}

//----
return(0);
}
//+------------------------------------------------------------------+
Владимир Тезис
4266
Владимир Тезис  

Попробуйте вот так:

double trend = iCustom (Symbol(),0,"trend",trend_period,0,0);
Print("trend = ",trend);
Строка принта покажет в журнале какое же значение лежит в переменной trend - мож там вообще нули (мож Вы iCustom() запросили не правильно...) Кто ж его знает...
elmucon
1072
elmucon  

не правильно прописанны стопы и профиты

OrderSend (Symbol(),OP_SELL,lots, Bid,3, Bid-sl*Point, Bid+tp*Point, LightGreen );//не торгует. bid и ask

а должно быть так

OrderSend (Symbol(),OP_SELL,lots, Bid,3, Ask+sl*Point, Bid-tp*Point, LightGreen );

elmucon
1072
elmucon  

не правильно прописанна линия - должно быть например так

double PriseSell = Bid;

string otkat_line ="LiniyaOtkata";

ObjectCreate(otkat_line, OBJ_HLINE, 0, 0, 0);
ObjectSet(otkat_line, OBJPROP_PRICE1, PriseSell);

TESKATLIPOKA
146
TESKATLIPOKA  
elmucon:

не правильно прописанна линия - должно быть например так

double PriseSell = Bid;

string otkat_line ="LiniyaOtkata";

ObjectCreate(otkat_line, OBJ_HLINE, 0, 0, 0);
ObjectSet(otkat_line, OBJPROP_PRICE1, PriseSell);



спасибо за советы.

буду пробовать.

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