for (int i=Bars; i>=0;i--)
{
int first=Bars;
Buffer[i]=Open[first];
}
Open[Bars-1] : нумерация элементов массива как в С/C++ :
int a[N] - первый элемент a[0], последний a[N-1]
Удачи..
СПАСИБО БОЛЬШОЕ, все заработало, добавил -1 и все встало на свои места :)
//--------------------------------------------------------------- 0 ----------------
int start() // Спец.функция start
{
int H=100; // Заданное время - секунда
int Dist=10; // Заданный TP и SL
double Lot =1; // Заданный лот
//--------------------------------------------------------------- 1 ----------------
double i=0.001;
double Cena=NormalizeDouble(Ask,3); // Нормализуем цену
double Price=NormalizeDouble(Cena+i,5); // Находим цену
double TP=Price+Dist*Point; // Находим ТР
double SL=Price-Dist*Point; // Находим SL
int x=1; // Первое условие
int y=1; // Второе условие
//--------------------------------------------------------------- 2 ----------------
for (int pos=0; pos<=OrdersTotal(); pos++) // цикл перебора всех ордеров
{ if (OrderSelect(pos,SELECT_BY_POS)==true) // выделим ордер
{ if (OrderTakeProfit()==TP)
{ Alert("Сработал х");
x=2;
if (OrderOpenPrice()==Price)
{ Alert("Сработал y");
y=2;
break;
}
}
}
else Print("Ошибка ", GetLastError(), " при выборе ордера номер ", pos);
}
//--------------------------------------------------------------- 3 ----------------
if (x==2&&y==2)
{ Alert("Такой ордер уже есть!!!");}
else { Alert("отправлен ордер ",Symbol()," BUYSTOP ", Price," Ожидание ответа...");
OrderSend(Symbol(), OP_BUYSTOP, Lot, Price, 0, SL, TP);
}
Sleep(H*60); // Ждём 60 секунд
RefreshRates();
//--------------------------------------------------------------- 4 -------------------
Alert ("Скрипт закончил работу -----------------------------");
return; // Выход из start()
}
Почему не работает. По задумке должен например:
Ask=1.35684 Открылся ордер с ценой 1,35700, TP=1.35800, SL=1.35600
Ask=1.35681 Ничего не происходит с ордерами
Ask=1.35692 Ничего не происходит с ордерами
Ask=1.35699 Ничего не происходит с ордерами
Ask=1.35715 Открылся ордер с ценой 1,35800, TP=1.35900, SL=1.35700
Ask=1.35757 Ничего не происходит с ордерами
Ask=1.35791 Ничего не происходит с ордерами
Ask=1.35802 Открылся ордер с ценой 1,35900, TP=1.36000, SL=1.35800А он начинает создавать много ордеров с ценой 1,35700, TP=1.35800, SL=1.35600
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
for (int i=Bars; i>=0;i--)
{
int first=Bars;
Buffer[i]=Open[first];
}