Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 471
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
можно, вопрос в другом, почему нельзя rates[0].close ?
Могу лишь предположить: потому, что объект еще не сформирован.
Могу лишь предположить: потому, что объект еще не сформирован.
нет, тут наверно ошибка у них, должно быть как в 5-ке, или я что путаю?
нет, тут наверно ошибка у них, должно быть как в 5-ке, или я что путаю?
Не забывайте, что Close[0] не существует, просто мы привыкли к иному.
не надо вот этого... несуществует...
"Ложки нет" (с) )))
Close[0]=Bid, вотъ...
не надо вот этого... несуществует...
"Ложки нет" (с) )))
Close[0]=Bid, вотъ...
Это у Метаквотов поинтересоваться надо, а не мне втирать:)
Здравствуйте, у меня проблема следующая. Журнал при тесте выдает OrderModify 130, помогите найти выход. Вот код советника:
//+------------------------------------------------------------------+
//| Test3.mq4 |
//| Попов Владимир |
//| http://vk.com/id143715412 |
//+------------------------------------------------------------------+
#property copyright "Попов Владимир"
#property link "http://vk.com/id143715412"
extern double Lots = 0.1;
extern int TakeProfit = 250;
extern int StopLoss = 100;
extern int Slippage = 10;
extern string comment = "Tma bot";
extern int Magic = 123;
extern string Indi = "Данные индикатора";
extern string TimeFrame = "current time frame";
extern int HalfLength = 20;
extern int Price = PRICE_CLOSE;
extern double ATRMultiplier = 2.0;
extern int ATRPeriod = 100;
extern bool Interpolate = true;
double PriceHigh, PriceLow, SL, TP;
int ticket;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if (Digits == 3 || Digits == 5)
{
TakeProfit *= 10;
StopLoss *= 10;
Slippage *= 10;
}
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
PriceHigh = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0);
PriceLow = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0);
if (Bid >= PriceHigh && CountSell() == 0)
{
SL = NormalizeDouble(Bid+StopLoss*Point, Digits);
SL = NormalizeDouble(Bid-TakeProfit*Point, Digits);
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Red);
if (ticket > 0)
{
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0);
}
}
if(Ask <= PriceLow && CountBuy() == 0)
{
SL = NormalizeDouble(Ask-StopLoss*Point, Digits);
SL = NormalizeDouble(Ask+TakeProfit*Point, Digits);
ticket = OrderSend(Symbol(), OP_BUY, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Blue);
if (ticket > 0)
{
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0);
}
}
if (Ask <= PriceLow && CountSell() > 0)
{
for(int i=OrdersTotal()-1; i >=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
{
if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Black);
}
}
}
if (Bid >= PriceLow && CountBuy() > 0)
{
for(i=OrdersTotal()-1; i >=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
{
if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Green);
}
}
}
return(0);
}
//+------------------------------------------------------------------+
int CountBuy()
{
int count = 0;
for (int tr = OrdersTotal()-1; tr >= 0; tr --)
{
OrderSelect(tr, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() == OP_BUY)
count++;
}
}
return (count);
}
//+------------------------------------------------------------------+
int CountSell()
{
int count = 0;
for (int tr= OrdersTotal()-1; tr >= 0; tr --)
{
OrderSelect(tr, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() == OP_SELL)
count++;
}
}
return (count);
}
Исправьте здесь
Во втором случае должно быть TPВот, блин...
Спасибо, Roger!