1) компилятор ругается если второе измерение не поставить, сразу выскочит "укажите тип класса, неизвестные параметры"
2) тогда бот сдохнет сразу же при запуске с "critical error array out of range"
3) сразу задаем int count1=-1; Далее проходим по циклу. Что тут не так?
Вы хоть изредка просматривайте ответы: 1 и 2 и 3 и ...
Вы уже больше недели делаете одно и тоже, и с каждым разом всё хуже, хотя вам уже дали ответ, указав на ошибку. В первом код значит компилятор не ругался что нет второго измерения, а вот в последующих начал ругаться? Компилятор испортился? Так-же можно открыть любой код с массивами, и посмотреть как они создаются, и сделать по аналогии.
Подобного - нет. МАшки уже столько перелопачены, стольким количеством народа, что остаётся только ждать свежей мысли от свежеиспечённого амбициозного трейдера. Шутка.
Правда - надоело за столько лет МАшки мусолить. Запаздывают они. Их нужно в другой области применять наверное, но не для ловли трендов-флетов.
пока не сделаю. Я бы сюда и не писал если бы нашел аналогично с другими. Вы думаю и сами понимаете что числовой ряд и список структур не одно и то же, иначе будет очередное уравнение с бесконечным количеством неизвестных.
Artyom Trishkin:
А так?
#property strict
struct myorder { int Ticket; double orderopenprice; int ordertype; double profit; double stoploss; double lot; }; myorder orders[];
int i; int Magic=444;
//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit() { //---
trader781: пока не сделаю. Я бы сюда и не писал если бы нашел аналогично с другими. Вы думаю и сами понимаете что числовой ряд и список структур не одно и то же, иначе будет очередное уравнение с бесконечным количеством неизвестных.
#property strict
struct myorder { int Ticket; double orderopenprice; int ordertype; double profit; double stoploss; double lot; }; myorder orders[];
int i; int Magic=444;
//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit() { //---
а касательно кидать сюда код - самого бесит когда кто - то кааак выложит и потом сиди прокручивай страницы. Так компактней.
Не правильно. Отследите по вашему коду каким размером будет ваш массив.
Думать нужно, хоть чуть. Не стоит гадать. Думайте. Каждый шаг программы. Или ждёте что за вас напишут? Это во фриланс - там порою заказывают написание функций.
Не правильно. Отследите по вашему коду каким размером будет ваш массив.
Думать нужно, хоть чуть. Не стоит гадать. Думайте. Каждый шаг программы. Или ждёте что за вас напишут? Это во фриланс - там порою заказывают написание функций.
как я это вижу
1) добавляем до нуля если ордер найден
2) меняем размер на 0, резерв 10
3) записывается 0 числом первый ордер, 1 второй и т д
ну а касаемо фриланса- я не спорю что напишут все что угодно, только потом все равно придется переписывать самому. Не обращаться же туда нонстопом.
trader781: пока не сделаю. Я бы сюда и не писал если бы нашел аналогично с другими. Вы думаю и сами понимаете что числовой ряд и список структур не одно и то же, иначе будет очередное уравнение с бесконечным количеством неизвестных.
А как вы в массив с нулевым размером что-то хотите вписать?
Положить деньги в кошелёк, которого нету ...
переделал пост 844 чтоб не писать еще раз сюда код
ну а касаемо массива с нулевым рамером - 0 это может быть целое число, может быть эквивалент булевого фальс, может быть пустотой, а может и стартовой точкой отсчета.
1) компилятор ругается если второе измерение не поставить, сразу выскочит "укажите тип класса, неизвестные параметры"
2) тогда бот сдохнет сразу же при запуске с "critical error array out of range"
3) сразу задаем int count1=-1; Далее проходим по циклу. Что тут не так?
Вы хоть изредка просматривайте ответы: 1 и 2 и 3 и ...
Вы уже больше недели делаете одно и тоже, и с каждым разом всё хуже, хотя вам уже дали ответ, указав на ошибку. В первом код значит компилятор не ругался что нет второго измерения, а вот в последующих начал ругаться? Компилятор испортился? Так-же можно открыть любой код с массивами, и посмотреть как они создаются, и сделать по аналогии.
Подобного - нет. МАшки уже столько перелопачены, стольким количеством народа, что остаётся только ждать свежей мысли от свежеиспечённого амбициозного трейдера. Шутка.
Правда - надоело за столько лет МАшки мусолить. Запаздывают они. Их нужно в другой области применять наверное, но не для ловли трендов-флетов.
Машки разные бывают.
По большому счету - везде одни машки используют
Машки разные бывают.
По большому счету - везде одни машки используют
Artyom Trishkin:
А так?
struct myorder
{
int Ticket;
double orderopenprice;
int ordertype;
double profit;
double stoploss;
double lot;
};
myorder orders[];
int i;
int Magic=444;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
CalcOrders();
}
//+------------------------------------------------------------------+
void CalcOrders()
{
int count1=0;
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()<2))
{
count1++;
ArrayResize(orders,count1);
orders[count1-1].Ticket=OrderTicket();
orders[count1-1].lot=OrderLots();
orders[count1-1].orderopenprice=OrderOpenPrice();
orders[count1-1].ordertype=OrderType();
orders[count1-1].profit=OrderProfit();
orders[count1-1].stoploss=OrderStopLoss();
}
}
ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND);
}
пока не сделаю. Я бы сюда и не писал если бы нашел аналогично с другими.
пока не сделаю. Я бы сюда и не писал если бы нашел аналогично с другими. Вы думаю и сами понимаете что числовой ряд и список структур не одно и то же, иначе будет очередное уравнение с бесконечным количеством неизвестных.
struct myorder
{
int Ticket;
double orderopenprice;
int ordertype;
double profit;
double stoploss;
double lot;
};
myorder orders[];
int i;
int Magic=444;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
CalcOrders();
}
//+------------------------------------------------------------------+
void CalcOrders()
{
int count1=-1;
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()<2))
{
count1++;
ArrayResize(orders,count1,10);
orders[count1].Ticket=OrderTicket();
orders[count1].lot=OrderLots();
orders[count1].orderopenprice=OrderOpenPrice();
orders[count1].ordertype=OrderType();
orders[count1].profit=OrderProfit();
orders[count1].stoploss=OrderStopLoss();
}
}
ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND);
}
Не правильно. Отследите по вашему коду каким размером будет ваш массив.
Думать нужно, хоть чуть. Не стоит гадать. Думайте. Каждый шаг программы. Или ждёте что за вас напишут? Это во фриланс - там порою заказывают написание функций.
Не правильно. Отследите по вашему коду каким размером будет ваш массив.
Думать нужно, хоть чуть. Не стоит гадать. Думайте. Каждый шаг программы. Или ждёте что за вас напишут? Это во фриланс - там порою заказывают написание функций.
как я это вижу
1) добавляем до нуля если ордер найден
2) меняем размер на 0, резерв 10
3) записывается 0 числом первый ордер, 1 второй и т д
ну а касаемо фриланса- я не спорю что напишут все что угодно, только потом все равно придется переписывать самому. Не обращаться же туда нонстопом.пока не сделаю. Я бы сюда и не писал если бы нашел аналогично с другими. Вы думаю и сами понимаете что числовой ряд и список структур не одно и то же, иначе будет очередное уравнение с бесконечным количеством неизвестных.
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()<2))
{
count1++;
ArrayResize(orders,count1,10);
orders[count1].Ticket=OrderTicket();
}
}
ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND);
}
Не стал много писать, просто записал маленький видео-ответ.
Артём конечно помогает как может, но не даёт рыбу, а только удочку)
trader781, смотрите иногда документацию, её сейчас полно на каждом шагу.как я это вижу
1) добавляем до нуля если ордер найден
2) меняем размер на 0, резерв 10
3) записывается 0 числом первый ордер, 1 второй и т д
ну а касаемо фриланса- я не спорю что напишут все что угодно, только потом все равно придется переписывать самому. Не обращаться же туда нонстопом.А как вы в массив с нулевым размером что-то хотите вписать?
Положить деньги в кошелёк, которого нету ...
А как вы в массив с нулевым размером что-то хотите вписать?
Положить деньги в кошелёк, которого нету ...
переделал пост 844 чтоб не писать еще раз сюда код
ну а касаемо массива с нулевым рамером - 0 это может быть целое число, может быть эквивалент булевого фальс, может быть пустотой, а может и стартовой точкой отсчета.