Полезные функции от KimIV - страница 103

 
T-G:

Знатоки подскажите, у Игоря есть функции NumberOfOrders и NumberOfPositions возращает кол-во ордеров и позиций. А как можно сделать универсальную функцию что бы возвращала и

OP_BUY и OP_SELL и OP_BUYSTOP и OP_SELLLIMIT то есть все типы в одной функции?


заполняйте массив счетчиков - для каждого типа ордеров свой.
 
VladislavVG:
заполняйте массив счетчиков - для каждого типа ордеров свой.
а как это? нужна что бы функция возвращала или какой то конкретный тип ордера или если -1 то все 6 типов
 
T-G:
а как это? нужна что бы функция возвращала или какой то конкретный тип ордера или если -1 то все 6 типов
функция не может возвращать массив. Его нужно в функцию передать по ссылке и в функции заполнить. Тогда извне можно использовать элементы массива как счетчики заданного типа ордеров.
 
T-G:

Знатоки подскажите, у Игоря есть функции NumberOfOrders и NumberOfPositions возращает кол-во ордеров и позиций. А как можно сделать универсальную функцию что бы возвращала и

OP_BUY и OP_SELL и OP_BUYSTOP и OP_SELLLIMIT то есть все типы в одной функции?



Сделать несложно. Точнее она есть. Не раз выкладывал свою по всем типам ордеров
 
T-G:

Знатоки подскажите, у Игоря есть функции NumberOfOrders и NumberOfPositions возращает кол-во ордеров и позиций. А как можно сделать универсальную функцию что бы возвращала и

OP_BUY и OP_SELL и OP_BUYSTOP и OP_SELLLIMIT то есть все типы в одной функции?


А что трудно разве сложить? NumberOfOrders+ NumberOfPositions
 
Vinin:

Сделать несложно. Точнее она есть. Не раз выкладывал свою по всем типам ордеров
Да ее писать минут 5-10 от силы. Че там сложного то ? ИМХО, полезней сделать самостоятельно, ну или хотя бы попытаться ;).
 

Подскажите что нетак ???? Откравает два отложенника и сразу удаляет . А мне нужно чтоб при срабатывании одного второй удалялся..... помогите плиз...... уже 2 дня мучаюсь.......


int total = OrdersTotal();

int i;
if ((Ask>=OP_BUYSTOP || Bid<=OP_SELLSTOP)==-1)
{
i=0;
total = OrdersTotal();
for(i = 0; i <= total; i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber() == 227)
{

if (OrderType()>1)OrderDelete(OrderTicket());
}
}
}
 
VOLDEMAR:

Подскажите что нетак ???? Откравает два отложенника и сразу удаляет . А мне нужно чтоб при срабатывании одного второй удалялся..... помогите плиз...... уже 2 дня мучаюсь.......


int total = OrdersTotal();

int i;
if ((Ask>=OP_BUYSTOP || Bid<=OP_SELLSTOP)==-1) ??????? Это что ? Вы сравниваете цены с типами ордеров. Примерно как: "что длинне: литр или килограмм ?" и почему сравнение с -1 ? И по какому инструменту аск и бид между 4 и 5 постоянно "болтаются" ?
{
i=0;
total = OrdersTotal();
for(i = 0; i <= total; i++) // при удалении направление перебора неверное и выход за пределы массива
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber() == 227)
{

if (OrderType()>1)OrderDelete(OrderTicket()); ??????? А здесь удаляете все отложенники
}
}
}
Для большей удобочитаемости воспользуйтесь тегами вставки кода.
 
Vladon: ссылки на форуме нельзя только в профайле.
Казнить нельзя помиловать.
 
VladislavVG:
Для большей удобочитаемости воспользуйтесь тегами вставки кода.
я понял ..... Но как задать удаление отложенного ордера при срабатывании другого??????????? Как мета едитор видит уже открытый и отложенный ордера ?????????
Причина обращения: