string mycomment="My comment";
int k =OrderHistoryTotal()-10//можешь установить глубину проверки истории какую сам пожелаешьfor(int i=k;i<OrderHistoryTotal();i++)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(StringFind(OrderComment(),mycomment,0)!=-1) int ticket=OrderTicket() //или любое твое действие
}
Странно, ордера по комментарию скрипт не находит и считает все подряд. Если-же взять какой-либо из ордеров/сделок, то все корректно. Что-же получается, что ордера являющиеся пополнением счета в виде депозита, ребейта, процентного начисления скриптом выбрать по комментарию невозможно?
Но несмотря на ошибку с подсчитанной суммой, функция OrderPrint(); выводит найденные ордера.
Кто может пояснить в чем проблема? Ордера по комментарию находятся, но подсчет их общей суммы происходит некорректно.
Я наверное дико туплю, но что-то не могу сообразить, как в цикле суммировать всю прибыль по ордерам?
Пробовал так:
Но при попытке добавить к существующему значению новое, появляется ошибка '+=' - comma or semicolon expected
Сделал иначе:
Но обратил внимание, что в результате я получаю всю сумму по ордерам. Т.е. ребейт ордера по комментарию скрипт не находит и считает все подряд. Если-же взять какой-либо из ордеров/сделок, то все корректно. Что-же получается, что ордера являющиеся пополнением счета в виде депозита, ребейта, процентного начисления скриптом выбрать по комментарию невозможно?
//+----------------------------------------------------------------------------+string mycomment="Rebate:";
double Rebate = 0;
int start() {
int k = OrdersHistoryTotal();
for(int i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS,MODE_HISTORY)) {
if(StringFind(OrderComment(),mycomment,0)!=-1) Rebate += OrderProfit();
}
}
return(0);
}
//+----------------------------------------------------------------------------+
Но только подсчет ребейта или процентного вознаграждения происходит хз по какому алгоритму...
Например, есть 4 ордера с комментарием IR
0.01, 0.02, 1.83, 2.15 что в сумме 4.03, а скрипт выдает 9.7276. Можно было-бы подумать, что отображается просто сумма на счету, но на счету 9.77 при отсутствии открытых сделок.
Мужик попросил велик, а вы ему танк нафигачили
Мужик попросил велик, а вы ему танк нафигачили
Странно, ордера по комментарию скрипт не находит и считает все подряд. Если-же взять какой-либо из ордеров/сделок, то все корректно. Что-же получается, что ордера являющиеся пополнением счета в виде депозита, ребейта, процентного начисления скриптом выбрать по комментарию невозможно?
Но несмотря на ошибку с подсчитанной суммой, функция OrderPrint(); выводит найденные ордера.
Кто может пояснить в чем проблема? Ордера по комментарию находятся, но подсчет их общей суммы происходит некорректно.
Я наверное дико туплю, но что-то не могу сообразить, как в цикле суммировать всю прибыль по ордерам?
Пробовал так:
Но при попытке добавить к существующему значению новое, появляется ошибка '+=' - comma or semicolon expected
Сделал иначе:
Но обратил внимание, что в результате я получаю всю сумму по ордерам. Т.е. ребейт ордера по комментарию скрипт не находит и считает все подряд. Если-же взять какой-либо из ордеров/сделок, то все корректно. Что-же получается, что ордера являющиеся пополнением счета в виде депозита, ребейта, процентного начисления скриптом выбрать по комментарию невозможно?а так?
Да, так работает, спасибо.
Но только подсчет ребейта или процентного вознаграждения происходит хз по какому алгоритму...
Например, есть 4 ордера с комментарием IR
0.01, 0.02, 1.83, 2.15 что в сумме 4.03, а скрипт выдает 9.7276. Можно было-бы подумать, что отображается просто сумма на счету, но на счету 9.77 при отсутствии открытых сделок.
Разобрался, теперь все находит и считает.
Написал такую функцию: