Вопросы оператора цикла "для - страница 12

 
WhooDoo22:

Саймон,

Вот оно... БАМ!

Еще лучше! Хахаха ;)

Спасибо.

Подумайте, прежде чем писать код. . сколько ордеров у вас в пуле истории? как вы узнаете, что я правильный?
 
WhooDoo22:


Почему время закрытия ордера представлено в таком виде (1357306061) ?

Функция Print() работает потому, что функция OrderSelect() (внутри скобок) должна выбрать закрытый ордер, а не открытый? Это должно быть сделано внутри скобок, правильно? ;) Хитрый, хитрый.

Как вы можете задавать такие вопросы? Что возвращает OrderCloseTime()? из Документации. . ."datetime OrderCloseTime( )" Что такое dateetime? из Документации. . . "Значение представляет собой количество секунд, прошедших с 00:00 Jan 1, 1970."

Пришло время начать читать документацию. ...

 
WhooDoo22:

Саймон,

Исправлено, так что работает как задумано.

Строки 2 и 3.

Ваше исправление - это улучшение. . .

Если "Строки 2 и 3" - это ваш ответ на мой вопрос, то вам нужно посмотреть еще раз, потому что он неправильный... Если вы считаете его правильным, пожалуйста, объясните, почему он правильный.

 

Саймон,


Подумайте, прежде чем писать код. . сколько ордеров у вас есть в пуле истории? откуда вы знаете, что я правильный?


Я могу задать вам тот же вопрос, Саймон ;)

Откуда вы знаете, что переменная 'ClosedTicketNumber' (OrderTicket();) выберет правильный билет (я ожидаю, что ваш ответ будет похож на мой собственный)?


Я знаю -

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)

выберет правильный билет И ;) the-.

Print(OrderCloseTime());

выведет правильный билет заказа, потому что цикл 'while' нашел правильный билет для начала, прежде чем программа добралась до этого раздела в скобках.


Спасибо.

 

Саймон,

Ваше исправление - это улучшение. . .

Смакуя этот очень редкий момент, когда "Саймон говорит" - "Возможно, есть очень тонкий, мерцающий луч надежды для твоего будущего кодинга." Хахаха ;)


Если "Линии 2 и 3" - это ваш ответ на мой вопрос, то вам нужно посмотреть еще раз, потому что он неправильный... Если вы думаете, что он правильный, пожалуйста, объясните, почему он правильный.

Ааа, да, да. Работаю над этим. ;)


Спасибо.

 
WhooDoo22:


Я мог бы задать вам тот же вопрос, Саймон ;)

Откуда вы знаете, что переменная 'ClosedTicketNumber' (OrderTicket();) выберет правильный билет (я ожидаю, что ваш ответ будет похож на мой собственный)?


Я знаю -

выберет правильный билет И ;) the-.

выведет правильный билет на заказ, потому что цикл 'while' нашел правильный билет для начала, прежде чем программа добралась до этого раздела в скобках.

Ваша переменнаяi является индексом в пуле заказов... НЕ в пуле истории ... если у вас есть 100 закрытых ордеров в пуле истории и ваше значениеi равно 5, то вы смотрите на закрытую сделку 95 сделок назад во времени ...

Мой код работает, потому что ... ... ну, вы должны знать, почему он работает, потому что вы должны были прочитать его и понять, что он делает и почему он работает ... но вы этого не сделали, поэтому вы должны спросить "почему", и именно поэтому вы ничему не учитесь.

Мой код работает, потому что перед закрытием заказа ... номер билета (номера билетов уникальны независимо от пула !!) сохраняется в переменнойClosedTicketNum. ... Затем заказ закрывается и перемещается в пул истории, затем переменнаяClosedTicketNum используется для выбора правильного заказа и, наконец, OrderCloseTime() теперь смотрит на правильный заказ ... а не на какой-то неизвестный заказ в пуле истории, основанный на индексном номере из пула заказов ....
 
WhooDoo22:


Я знаю-

выберет правильный билет И ;) the-

выведет правильный билет на заказ, потому что цикл 'while' нашел правильный билет до того, как программа дошла до этого раздела в скобках.

Ваш цикл while не нашел ни одного билета ... . возможно, он нашел индекс ордера USDJPY в пуле ордеров... индекс пула != номер билета, разве мы не проходили это раньше? Итак, у вас есть индекс для пула ордеров ... почему вы ожидаете, что закрытый ордер USDJPY окажется в той же позиции в совершенно другом пуле, пуле истории?
 

Саймон,

"Ваша переменнаяi является индексом в пуле заказов... НЕ в пуле истории ...".

В документации OrderSelect() не указано предельное количество ордеров, которое может храниться в пуле истории (вы написали что-то вроде ста ордеров). В документации OrderSelect() это не указано, насколько я понял.

Возможно, я мог бы присвоить нули всем заказам исторического пула после того, как сто заказов были заполнены значениями, отличными от значений по умолчанию. Однако, я считаю, что в данном случае ваш способ сохранения номера ордера в переменной выглядит просто отлично. Я предполагал, что значения автоматически сбрасываются, как только история ордеров достигает своего предела в сто ордеров.


Спасибо.

 
WhooDoo22:

Саймон,

"Ваша переменнаяi является индексом в пуле заказов... НЕ в пуле истории ...".

В документации OrderSelect() не указано предельное количество ордеров, которые могут храниться в истории (вы написали что-то вроде ста ордеров). Документация OrderSelect() не указывает на это, насколько я могу судить.

Возможно, я мог бы присвоить нули всем заказам исторического пула после того, как сто заказов были заполнены значениями, отличными от значений по умолчанию. Однако, я считаю, что в данном случае ваш способ сохранения номера ордера в переменной выглядит просто отлично. Я предполагал, что значения автоматически сбрасываются, как только история ордеров достигает своего предела в сто ордеров.

Прочитайте еще раз ... вы неправильно поняли то, что я написал ... у вас может быть 10 закрытых ордеров в пуле истории или 20 или 15 ... любое количество, которое у вас есть ... 10,000, 1,000, 121 ... если у вас есть любое число, кроме одного конкретного числа, ваш код не будет работать. Что это за конкретное число? Это должно быть значение i
 
WhooDoo22:


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

Как?
Причина обращения: