Any rookie question, so as not to clutter up the forum. Professionals, don't pass by. Nowhere without you - 6. - page 445

 

Hello, sorry I didn't find the right section

Question: If I want to test a paid signal on a demo account, will I also have to pay a subscription fee?

 
egrold:

Hello, sorry, I couldn't find the right section.

Question: If I want to test a paid signal on a demo account, do I also have to pay a subscription fee?

If you are in a shop and pick up something that has a price, go to the cash register and say "I'm not going to use it for its intended purpose, can I not pay for it, I'll take it for free"...?

Don't you think it's funny?

 
mikhail12:

Do you go to a shop and pick up something that has a price, go to the cash register and say 'I'm not going to use it for its intended purpose, can I not pay for it, I'll take it for free'?

Isn't it funny yourself?


)) however yes, now I read your answer and it makes me laugh. thank you
 
mikhail12:
I'm not a linguist, but I get hysterical :(((( such texts in Russian make me hysterical


What did you write about?

I wrote it as best I could without checking for mistakes. Next time I'll definitely try to write for you in literary Russian so you don't get hysterical!

 
Vinin:

You have not defined the dimensionality of the array. It is still a zero size. And any operation will cause an array overrun error


Thank you. What is the correct way to determine the dimensionality of an array in this case?
 
Vinin:

You can't be considered a beginner by the level of use of the libraries. Having looked at your code, it would take me two weeks to figure it out. If not more. So I don't think you're gonna get an answer.

I was talking to a friend. It turned out that in the library you have to write export between function's parameters and its body. But it seems that this is not present in the documentation... Why not?
 
Shurkin:

Thank you. What is the correct way to determine the dimensionality of an array in this case?

int array[100][100];
 
Roger:

int array[100][100];


Thank you.
 
nr72:

Hello, where's the error???


Print outputs 0 both in the first and second cases... what's wrong?!

The Help for OrdersTotal() even has a sample code:

  int total=OrdersTotal();
  // записываем в файл только открытые ордера
  for(int pos=0;pos<total;pos++)

from which we can see that orders are searched from 0 to OrdersTotal()-1.

In your code, it's from 1 to OrdersTotal().

 

Dear, I need some help.

I took the code for accounting, opening and closing orders from the tutorial (tradingexpert.mq4). The code is intended to work with one position. I need to have five positions.

We have slightly modified the code in the following way (changed lines in bold), so that the positions are opened in the right amount, but when we reverse, only one position is closed and the reverse one is opened right away.

How can I make it so that all positions are closed at the reversal and then only the opposite position is opened?

   // Учёт ордеров
   Symb=Symbol();                               // Название фин.инстр.
   Total=0;                                     // Количество ордеров
   for(int i=1; i<=OrdersTotal(); i++)          // Цикл перебора ордер
     {
      if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
        {                                       // Анализ ордеров:
         if (OrderSymbol()!=Symb)continue;      // Не наш фин. инструм
         if (OrderType()>1)                     // Попался отложенный
           {
            Alert("Обнаружен отложенный ордер. Эксперт не работает.");
            return;                             // Выход из start()
           }
         Total++;                               // Счётчик рыночн. орд
         if (Total>5)                           // Было не более одного орд, стало не более пяти
           {
            Alert("Несколько рыночных ордеров. Эксперт не работает.");
            return;                             // Выход из start()
           }
         Ticket=OrderTicket();                  // Номер выбранн. орд.
         Tip   =OrderType();                    // Тип выбранного орд.
         Price =OrderOpenPrice();               // Цена выбранн. орд.
         SL    =OrderStopLoss();                // SL выбранного орд.
         TP    =OrderTakeProfit();              // TP выбранного орд.
         Lot   =OrderLots();                    // Количество лотов
        }
     }
   // Открытие ордеров
   while(true)                                  // Цикл закрытия орд.
     {
      if (Total < 5 && Opn_B==true)     // Открытых орд. нет +. Было Total < 1, стало Total < 5
        {                                       // критерий откр. Buy
         RefreshRates();                        // Обновление данных
         SL=Bid - New_Stop(StopLoss)*Point;     // Вычисление SL откр.
         TP=Bid + New_Stop(TakeProfit)*Point;   // Вычисление TP откр.
         Alert("Попытка открыть Buy. Ожидание ответа..");
         Ticket=OrderSend(Symb,OP_BUY,Lts,Ask,2,SL,TP);//Открытие Buy
         if (Ticket > 0)                        // Получилось :)
           {
            Alert ("Открыт ордер Buy ",Ticket);
            return;                             // Выход из start()
           }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }
   // Закрытие ордеров
   while(true)                                  // Цикл закрытия орд.
     {
      if (Tip==0 && Cls_B==true)                // Открыт ордер Buy..
        {                                       //и есть критерий закр
         Alert("Попытка закрыть Buy ",Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         Ans=OrderClose(Ticket,Lot,Bid,2);      // Закрытие Buy
         if (Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Buy ",Ticket);
            break;                              // Выход из цикла закр
           }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }
Reason: