Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Узнай последние события MQL5.community!
BilliGordon
63
BilliGordon 2011.05.27 17:31 

Здрасте, Форумчане!!!

Есть ситуация - наличие лока, допустим три Бай по 0,5 лота локированны тремя селлами по 0,5 лота, по этим позициям имеем профит или  лосс - не столь важно. И вот открывается позиция Бай 0,3 лота. Получаем перевес в сорону Бай на 0,3 лота. Собственно ВОПРОС - как вычислить (именно вычислить, а не прочитать из своиства открытой позиции) текущую прибыль по инструменту???  Т.е. что-бы общая прибыль/убыток выглядели так: (прибыль/убыток от лока (1,5 лота) + прибыль/убыток от бай (0,3 лота)). Приветствуются любые идеи и предложения.

Алексей
838
Алексей 2011.05.27 17:45  
BilliGordon:

Здрасте, Форумчане!!!

Есть ситуация - наличие лока, допустим три Бай по 0,5 лота локированны тремя селлами по 0,5 лота, по этим позициям имеем профит или лосс - не столь важно. И вот открывается позиция Бай 0,3 лота. Получаем перевес в сорону Бай на 0,3 лота. Собственно ВОПРОС - как вычислить (именно вычислить, а не прочитать из своиства открытой позиции) текущую прибыль по инструменту??? Т.е. что-бы общая прибыль/убыток выглядели так: (прибыль/убыток от лока (1,5 лота) + прибыль/убыток от бай (0,3 лота)). Приветствуются любые идеи и предложения.

А в терминале не видно?

А вообще от лока будет только убыток, потому лок подразумевает нахождение вне рынка с убытком равным разнице между ценами открытия бай и сел ордеров, плюс спред. Соответственно прибыль/убыток если и будет, то только от последнего ордера на бай.

И вопрос не понятен, сам же формулу расчета написал (прибыль/убыток от лока (1,5 лота) + прибыль/убыток от бай (0,3 лота)), не можешь в деньгах, считай в пунктах. И для каких целей это нужно? Для советника или индикатора?

BilliGordon
63
BilliGordon 2011.05.27 18:10  
Temnyj:

А в терминале не видно?

  Надо для советника, потому в вопросе и звучало  -- вычислить --, а не посмотреть в терминале или прочитать из своиства открытой позиции. 

  Что-б совсем понятно было, допустим закрыли мы Селл на 0,5 лота  - итого суммарный перевес в Бай-е (0,3 + 0,5) лота, т.е. в рынке 0,8 лота бай, а такого ордера, исходя из нашего примера нету, куда смотреть, как узнать???

Алексей
838
Алексей 2011.05.27 18:18  
BilliGordon:

Надо для советника, потому в вопросе и звучало -- вычислить --, а не посмотреть в терминале или прочитать из своиства открытой позиции.

Что-б совсем понятно было, допустим закрыли мы Селл на 0,5 лота - итого суммарный перевес в Бай-е (0,3 + 0,5) лота, т.е. в рынке 0,8 лота бай, а такого ордера, исходя из нашего примера нету, куда смотреть, как узнать???

И по чему нужно все клещами вытаскивать? Теперь понятно, что для советника, а конкретнее зачем в советнике эта информация? Посчитать прибыль/убыток можно просто суммировав все позиции.

Нужно мысли яснее изъяснять, а то отправят к телепатам тусоваться ))))))))

khorosh
8041
khorosh 2011.05.27 18:23  
BilliGordon:

Надо для советника, потому в вопросе и звучало -- вычислить --, а не посмотреть в терминале или прочитать из своиства открытой позиции.

Что-б совсем понятно было, допустим закрыли мы Селл на 0,5 лота - итого суммарный перевес в Бай-е (0,3 + 0,5) лота, т.е. в рынке 0,8 лота бай, а такого ордера, исходя из нашего примера нету, куда смотреть, как узнать???

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает суммарный профит открытых позиций в валюте депозита |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double GetProfitOpenPosInCurrency(string sy="", int op=-1, int mn=-1) {
  double p=0;
  int    i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (mn<0 || OrderMagicNumber()==mn) {
            p+=OrderProfit()+OrderCommission()+OrderSwap();
          }
        }
      }
    }
  }
  return(p);
}
BilliGordon
63
BilliGordon 2011.05.27 18:44  
khorosh:


Подскажи пожалуйста, и как  "в суммарном профите открытых позиций" я увижу (прибыль/убыток от лока (1,5 лота) + прибыль/убыток от бай (0,3 лота), тут немного всё сложнее, я сам не нашёл ничего, думаю кто-то сталкивался с подобной задачкой. Help please...!!!
Роман
7939
Роман 2011.05.27 18:57  
BilliGordon:

Подскажи пожалуйста, и как "в суммарном профите открытых позиций" я увижу (прибыль/убыток от лока (1,5 лота) + прибыль/убыток от бай (0,3 лота), тут немного всё сложнее, я сам не нашёл ничего, думаю кто-то сталкивался с подобной задачкой. Help please...!!!

В ф-ии же все расписано - передаете ей параметр ор=-1 - по всем открытым позам - в цикле считаете
 p+=OrderProfit()+OrderCommission()+OrderSwap();
и на выходе после работы ф-ии будет значение этого параметра - все... то что Вам и нужно - "в суммарном профите открытых позиций" я увижу (прибыль/убыток от лока (1,5 лота) + прибыль/убыток от бай (0,3 лота)" - ничего сложного.
Алексей
838
Алексей 2011.05.27 19:00  
BilliGordon:

Подскажи пожалуйста, и как "в суммарном профите открытых позиций" я увижу (прибыль/убыток от лока (1,5 лота) + прибыль/убыток от бай (0,3 лота), тут немного всё сложнее, я сам не нашёл ничего, думаю кто-то сталкивался с подобной задачкой. Help please...!!!
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
внимательно читай
BilliGordon
63
BilliGordon 2011.05.27 19:05  
Roman.:

   

 В этом-та  и вся фишка, что нужно отдельно мухи, отдельно котлеты))), т.е. прибыль/убыток от лока (1,5 лота)= число,  прибыль/убыток от бай (0,3 лота)= число...
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий