Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Код вот такой Больше мне ничего не надо...
int stoploss=20;
int teykprofit=25;
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
OpenShort();
//----
return(0);
}
//+------------------------------------------------------------------+
int OpenShort() // Функция открытия короткой позиции
{
int SL=Bid+stoploss*Point;
int TP=Bid-teykprofit*Point;
OrderSend(Symbol(),OP_SELL,0.05,Bid,3,SL,TP,"",0,0,CLR_NONE);
}
return;
1. Обрабатывай ошибки после выполнения торговых фунций.
OrderSend(Symbol(),OP_SELL,0.05,Bid,3,SL,TP,"",0,0,CLR_NONE);
Print(GetLastError());
2. Посмотри StopLevel для пары
3. ПОДПРАВЬ int на double
int SL=Bid+stoploss*Point;
int TP=Bid-teykprofit*Point;
было бы не плохо SL и TP обьявить как double....
Объявил как вещественное. Не работает :(
Ошибка 130...что бы это значило :(
Объявил как вещественное. Не работает :(
Ошибка 130...что бы это значило :(
130 - неправильные стопы :)
А что грит MarketInfo(Symbol(), MODE_STOPLEVEL); ?
А лучше перед отслылкой ордера подставь:
Print("Bid:",Bid," SL:",SL," TP:", TP, " STOPLEVEL:", MarketInfo(Symbol(), MODE_STOPLEVEL), " Point:", Point);
и чё получмлось выложи
Попробовал вот так Ошибка 130 исчезла но лось и тейк не выставляются все равно :(((
int OpenShort() // Функция открытия короткой позиции
{
double SL=Bid+stoploss*Point;
double TP=Bid-teykprofit*Point;
int Ticket=OrderTicket();
double Price =OrderOpenPrice();
OrderSend(Symbol(),OP_SELL,0.05,Bid,3,0,0,"",0,0,CLR_NONE);
OrderModify(Ticket,Price,SL,TP,0);
Print(GetLastError());
}
return;
Ордер открывается, но не модифицируется.....^(
Print("Bid:",Bid," SL:",SL," TP:", TP, " STOPLEVEL:", MarketInfo(Symbol(), MODE_STOPLEVEL), " Point:", Point);
и чё получмлось выложи
2008.12.05 15:07:57 SL GBPUSD,H1: Bid:1.4687 SL:1.4707 TP:1.4662 STOPLEVEL:0 Point:0.0001
2008.12.05 15:07:59 SL GBPUSD,H1: open #9799949 sell 0.05 GBPUSD at 1.4687 ok
2008.12.05 15:07:59 SL GBPUSD,H1: invalid ticket for OrderModify function
2008.12.05 15:07:59 SL GBPUSD,H1: 4051
Вот так получилось
2008.12.05 15:07:57 SL GBPUSD,H1: Bid:1.4687 SL:1.4707 TP:1.4662 STOPLEVEL:0 Point:0.0001
2008.12.05 15:07:59 SL GBPUSD,H1: open #9799949 sell 0.05 GBPUSD at 1.4687 ok
2008.12.05 15:07:59 SL GBPUSD,H1: invalid ticket for OrderModify function
2008.12.05 15:07:59 SL GBPUSD,H1: 4051
Вот так получилось
2008.12.05 15:07:59 SL GBPUSD,H1: invalid ticket for OrderModify function
OrderSelect () забыл
int Ticket=OrderTicket();
-----------------------------------------------
А по логике код примерно такой