Вычисление профита на паре...

 

Вот такой вот простенький вопрос, функция для определения профита в данной паре (не важно в какой, в каждой по отдельности). У меня есть, написал, но то ли MetaTrader глючит, то ли я не прав... В общем, Ваши варианты так сказать, а там уже и определим.. в чём корень..

Заранее всем благодарен

 
Вот и выложите свой вариант, а там уже видно будет "в чем корень. ."
 
Inter:

 


Вот такой вот простенький вопрос, функция для определения профита в данной паре (не важно в какой, в каждой по отдельности). У меня есть, написал, но то ли MetaTrader глючит, то ли я не прав...  В общем, Ваши варианты так сказать, а там уже и определим..  в чём корень..


 Заранее всем благодарен

Мы не телепаты! Выложите ваш код, а мы глянем - в чём корень. :-)
 
Что означает "определения профита в данной паре"? С какого-то момента до какого-та? Или вам нужно какой будеть профит 1 пункт в валюте депозита?
 
Itso:
Что означает "определения профита в данной паре"?

Мне нужно, чтобы функция определяла какой на данный момент заработок на данной паре...

Что-то вроде этого:

double getAllProfit(){
       int t=0, cnt1, MagicNumber = 12340;
       double PfInThisPair=0;
       t=OrdersTotal();
       for(cnt1=0;cnt1<t;cnt1++)
     {
      if ( OrderSelect (cnt1, SELECT_BY_POS) == false )  continue;
      if ( OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber)  continue;
      
       if (OrderType()==OP_BUY || OrderType()==OP_SELL)
       {  
          PfInThisPair+=OrderProfit(); 
        }
       }  
          //----
       return (PfInThisPair);       
    }
 
Inter:

Что-то вроде этого:


А это как раз и должно работать. Или все таки есть проблемы?
 
Ну хорошо, а функция для определения заработка на данный момент по всем парам? Это как?
 
Inter:
Ну хорошо, а функция для определения заработка на данный момент по всем парам? Это как?

AccountEquity() - Нач. средства?
 
AccountEquity( )

Возвращает сумму собственных средств для текущего счета. Расчет equity зависит от настроек торгового сервера.

Кароче это количество эквити на счёте.

 
Inter:
Ну хорошо, а функция для определения заработка на данный момент по всем парам? Это как?

 total=OrdersTotal();
   double pribil;
   for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      pribil=OrderProfit()+pribil;         
     }
 

double AccountProfit( )
Возвращает значение прибыли для текущего счета в базовой валюте.

Пример:
Print("Прибыль ", AccountProfit());

По всем парам.

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