Как закрыть все ордера по общему профиту в пунктах? - страница 2

 
khasan kayumov:

Как прибыль посчитать в пунктах?

Прежде чем удалить

                    for(pos = 0; pos < 100500; pos++) 
                    {
                        if(OrderSelect(pos, SELECT_BY_POS))
                        if(OrderType() == OP_BUY)
                        {
                            buy_profit_USD = buy_profit_USD + OrderProfit() + OrderSwap() + OrderCommission();

                            buy_profit_Point = buy_profit_Point+ ((Bid - OrderOpenPrice()) / Point);

                                
                        }
                    }

 
Evgeny Belyaev:

Да ну?

Я ставлю, ордер а он сервером отклоняется, вылезает ошибка 130.

Что мне делать, а позиции нет, закрыть нечего. Удалить только могу. Как мне быть или я делаю что-то не так?

Вы действительно хотите, что бы я вам ответил?
 
Dmitry Fedoseev:
Вы действительно хотите, что бы я вам ответил?

Нет, не хочу чтоб тема перетекала во флуд.

 
Evgeny Belyaev:

Нет, не хочу чтоб тема перетекала во флуд.


Тогда не флудите.

 
Evgeny Belyaev:

Я торгую на рынке , а не на MT ,MT- это всего лишь приложение, в котором не верно определены название функций. Позиция- бай, сел, защитник, нападающий...

Ордер- распоряжение выставить, бай, сел, защитника, нападающего, хавбека..

Сделка...


Мы сейчас находимся на форуме об МТ4. Да и вопрос касается именно MQL4. Поэтому здесь вполне уместно пользоваться терминологией, которая введена в MT4 и MQL4. Ведь даже функции учета того, что на бирже называется трейдами (составляющие позиции), начинаются со слова "Order": OrderSend(), OrderClose(), OrderModify(). 

 
Ihor Herasko:

Ведь даже функции учета того, что на бирже называется трейдами (составляющие позиции), начинаются со слова "Order": OrderSend(), OrderClose(), OrderModify(). 

Бесспорно, функции так и называются.В MT4 не совсем корректное название функций. Терминал то, устаревший ,поэтому и названия не корректные.

Ну а как мы поймем друг друга?

Вроде говорим про одно и тоже.  бай- вы его ордером зовете, а я позицией?

Как нам понять друг- друга?

 
Evgeny Belyaev:

Бесспорно, функции так и называются.В MT4 не совсем корректное название функций. Терминал то, устаревший ,поэтому и названия не корректные.

Ну а как мы поймем друг друга?

Вроде говорим про одно и тоже.  бай- вы его ордером зовете, а я позицией?

Как нам понять друг- друга?


Я привык использовать терминологию соответственно терминалу. Может это и неправильно, но очень помогает при чтении документации. В МТ4: рыночные ордера и отложенные. В МТ5: сделки, позиции, ордера. На других платформах: сделки, позиции, трейды, ордера.

 
Mikhail Sergeev:

                    for(pos = 0; pos < 100500; pos++) 
                    {
                        if(OrderSelect(pos, SELECT_BY_POS))
                        if(OrderType() == OP_BUY)
                        {
                            buy_profit_USD = buy_profit_USD + OrderProfit() + OrderSwap() + OrderCommission();

                            buy_profit_Point = buy_profit_Point+ ((Bid - OrderOpenPrice()) / Point);

                                
                        }
                    }

а что за число такое 100500? почему именно оно а не OrdersTotal()?

 
khasan kayumov:

Как прибыль посчитать в пунктах?

Прежде чем удалить

//+------------------------------------------------------------------+
void OnStart()
  {
  double p;
   int i,pr=0;

   for(i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
        p=MarketInfo(OrderSymbol(), MODE_POINT);
         if(OrderType()==OP_BUY)
           {
            pr+=int((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p);
           }
         if(OrderType()==OP_SELL)
           {
            pr+=int((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p);
           }
        }
     }   
   Alert( "суммарный профит открытых позиций в пунктах = ",pr); 
  }
//+------------------------------------------------------------------+

Как то так.

 
Ihor Herasko:

Я привык использовать терминологию соответственно терминалу. Может это и неправильно, но очень помогает при чтении документации. В МТ4: рыночные ордера и отложенные. В МТ5: сделки, позиции, ордера. На других платформах: сделки, позиции, трейды, ордера.


А если я не дал намека на терминал? Терминология должна быть кросс платформенная. Не будет проблем в восприятии информации.

Я понял вашу точку зрения , толерантно к ней отношусь, она обоснована названиями функций.

Встретились 5 трейдунов, один юзает квик, второй MT4, трэтий  5-ру эксплуатирует,  4-ый торгует через ниндзю,  а последний клацает через вебтерминал.

Как прийти к общему знаменателю и как определить что поза , а что ордер? 

Причина обращения: