[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 66
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну, да... Тогда как я массиву не могу присвоить значения?? Я ведь уже принтами вывел всё что мог..
Учёт ордеров
Я же давал пример функции, использующей динамический массив (стр.64).
dim=ArrayResize(Buy,Raz); - устанавливает размерность Raz для массива Buy. Только после этого можно что-то запомнить в элементе массива с номером Raz-1
Помогите переделать по закрытии бара
Закрытие позиций по рыночной цене
//| Параметры: |
//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |
//| op - операция (-1 - любая позиция) |
//| mn - MagicNumber (-1 - любой магик) |
//+----------------------------------------------------------------------------+
void ClosePositions(string sy="", int op=0, int mn=-1) {
if(last>=Time[0]) return; // если время бара уже проверено то выходим сразу, т.е. ждем новый бар
last=Time[0]; //
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=k-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn<0 || OrderMagicNumber()==mn) ClosePosBySelect();
}
}
}
}
}
Не надо переделывать чужие функции,- у Кима они сделаны хорошо. Надо просто ими правильно пользоваться.
По закрытию не получится,- откуда Вы знаете, что бар уже закрыт, пока не откроется новый? Вот и вызывайте функцию закрытия ордера в момент начала формирования нового бара. Как распознать этот момент многократно было показано: в учебнике, в FAQ, на форуме. Почитайте что-нибудь.
Ну во первых за десять минут вполне реально напихать 6 гигов. Получается с каждым тиком один принт, зачем Вам это надо?
А во-вторых Вы уверены что меняется?
Какой-нибудь семафор надо ставить, что-бы один раз печатало...
где-то так....спасибо ребята за помощь, но я так и не смог разобраться что этому while надо. цикл виснет намертво, на условия плюет, "вешает" комп и грузит гигабайты логов....
пришлось ампутировать!
заменил его на серию if...и поставил метки(флаги) там где нужно... и все заработало. просто код получился длиннее и некрасивее
прощай функция while. Больше мы никогда не встретимся!
:))))