"Ответ не верный, т.к. в этом случае вы ВСЕГДА первым закроете самый
свежий (крайний) рыночный ордер, а надо первым закрыть из выбранных двух
рыночных тот, у которого профит БОЛЬШЕ."
А Вы под каждый конкретный случай пишете программку ? Тоже вариант )))))).
Не совсем: за время перебора ордеров (исполнения цикла фор() ) цена может уйти. На реале посмотрите ;).
)))))))).... Все зависит от размера исполняемого кода и его эффективности. Не забывайте, что пока терминал считает - он пропускает тики, впрочем, для тестера и демо - это не имеет особого значения ;)....
В этой теме мы говорим о конкретном вопросе и конкретном решении.
Я там подкорректировал пост -
"РефрешРаэйтес выполняется внутри, с краю
while(), для обновления списка позиций, а не цен, поэтому так цикл
будет работать корректно."
Да, в некоторых случаях я действительно пишу программку для решения конкретного вопроса или их комбинации.
"Ответ не верный, т.к. в этом случае вы ВСЕГДА первым закроете самый
свежий (крайний) рыночный ордер, а надо первым закрыть из выбранных двух
рыночных тот, у которого профит БОЛЬШЕ."
- надо что-то делать.
Уж еще пожуйте чуть фарш не разумному, никак не могу вкурить, каким образом здесь будет закрыт первым ордер с максимальным профитом из открытых.
Да, я, не исключено, что подтупил чуть...
Благодарю.
//+------------------------------------------------------------------+//| Zakr_s_max_profit.mq4 |//| Speeqoolyant |//| speeqoolyant@rambler.ru |//+------------------------------------------------------------------+#property copyright "Speeqoolyant"#property link "speeqoolyant@rambler.ru"int i, Ticket, Type;
double Profit, Lot;
int start() {
while (OrdersTotal()>0)
{
Profit=-9999999;
for (i=OrdersTotal()-1; i>=0; i--)
{
OrderSelect(i,SELECT_BY_POS);
if(Profit<=OrderProfit()) {Profit=OrderProfit(); Ticket=OrderTicket(); Type=OrderType(); Lot=OrderLots();}
}
if (Type==OP_BUY) OrderClose(Ticket, Lot, Bid, 2);
if (Type==OP_SELL) OrderClose(Ticket, Lot, Ask, 2);
RefreshRates();
}
return(0); }
Да, все, вкурил, ордера закроются в порядке убывания профита:
Звиняйте, великодушно, сразу не вкурил.
Если символ графика и символ ордера с самым большим профитом не совпадут, то в большинстве случаев нифига он не закроет (хотя, если вдруг цены символов совпадут, то закроет). Я б вообще поостерёгся бы пользоваться скриптами от таких "помощников".
Если символ графика и символ ордера с самым большим профитом не совпадут, то в большинстве случаев нифига он не закроет (хотя, если вдруг цена совпадёт, то закроет). Я б вообще поостерёгся бы пользоваться скриптами от таких "помошников".
Roman.
Если вы порядочный человек, то вот с этим -
"Ответ не верный, т.к. в этом случае вы ВСЕГДА первым закроете самый свежий (крайний) рыночный ордер, а надо первым закрыть из выбранных двух рыночных тот, у которого профит БОЛЬШЕ."
- надо что-то делать.
А Вы под каждый конкретный случай пишете программку ? Тоже вариант )))))).
Не совсем: за время перебора ордеров (исполнения цикла фор() ) цена может уйти. На реале посмотрите ;).
)))))))).... Все зависит от размера исполняемого кода и его эффективности. Не забывайте, что пока терминал считает - он пропускает тики, впрочем, для тестера и демо - это не имеет особого значения ;)....
В этой теме мы говорим о конкретном вопросе и конкретном решении.
Я там подкорректировал пост -
"РефрешРаэйтес выполняется внутри, с краю while(), для обновления списка позиций, а не цен, поэтому так цикл будет работать корректно."
Да, в некоторых случаях я действительно пишу программку для решения конкретного вопроса или их комбинации.
Это быстрее чем через тестер.
А в реале - согласен, все может произойти.
Кстати, топикстартер про реал ни слова.))
Roman.
Если вы порядочный человек, то вот с этим -
"Ответ не верный, т.к. в этом случае вы ВСЕГДА первым закроете самый свежий (крайний) рыночный ордер, а надо первым закрыть из выбранных двух рыночных тот, у которого профит БОЛЬШЕ."
- надо что-то делать.
Уж еще пожуйте чуть фарш не разумному, никак не могу вкурить, каким образом здесь будет закрыт первым ордер с максимальным профитом из открытых.
Да, я, не исключено, что подтупил чуть...
Благодарю.
"РефрешРаэйтес выполняется внутри, с краю while(), для обновления списка позиций, а не цен, поэтому так цикл будет работать корректно."
Да, все, вкурил, ордера закроются в порядке убывания профита:
Звиняйте, великодушно, сразу не вкурил.
Да, все, вкурил, ордера закроются в порядке убывания профита:
Звиняйте, великодушно, сразу не вкурил.
Если символ графика и символ ордера с самым большим профитом не совпадут, то в большинстве случаев нифига он не закроет (хотя, если вдруг цены символов совпадут, то закроет). Я б вообще поостерёгся бы пользоваться скриптами от таких "помощников".
"РефрешРаэйтес выполняется внутри, с краю while(), для обновления списка позиций, а не цен, поэтому так цикл будет работать корректно."
Если символ графика и символ ордера с самым большим профитом не совпадут, то в большинстве случаев нифига он не закроет (хотя, если вдруг цена совпадёт, то закроет). Я б вообще поостерёгся бы пользоваться скриптами от таких "помошников".
Понятно...
Да, все, вкурил, ордера закроются в порядке убывания профита:
Звиняйте, великодушно, сразу не вкурил.
То есть, список ордеров эта функция не обновляет, а обновляет она из того, что нам в данном случае нужно, именно Аск и Бид.