Как правильно рассчитать профит совокупной позиции в пунктах для кроссов? - страница 3

 
Renat Akhtyamov:

Да, зависит. Но объем уже учтен. Учтены также своп и комиссия.

Нужно исходить из того, что MarketInfo(Symb, MODE_TICKVALUE); это по сути стоимость одного пункта для позиции в 1 лот. А нам нужно для нашего лота посчитать, т.е. стоимость пункта нашей позиции размером в NLot , будет равна NLot * MarketInfo(Symb, MODE_TICKVALUE). Вроде бы так, если ошибаюсь, тест покажет.

 
khorosh:

Нужно исходить из того, что MarketInfo(Symb, MODE_TICKVALUE); это по сути стоимость одного пункта для позиции в 1 лот. А нам нужно для нашего лота посчитать, т.е. стоимость пункта нашей позиции размером в NLot , будет равна NLot * MarketInfo(Symb, MODE_TICKVALUE). Вроде бы так, если ошибаюсь, тест покажет.

согласен, код на предыдущей странице, в самом низу
 
Renat Akhtyamov:
согласен, код на предыдущей странице, в самом низу

Было-бы правильно, чтоб учитывались только    OP_BUY   OP_SELL

 
khorosh:

Ты знаешь, что для мажоров и кроссов расчёты отличаются? Мне MQL5 не надо, я в нём не разбираюсь.

Это код для МТ4.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Как правильно рассчитать профит совокупной позиции в пунктах для кроссов?

Vitaly Muzichenko, 2019.01.24 21:30

Я считаю вот так.   ND = NormalizeDouble(...)

 double TickValue=SymbolInfoDouble(mSymbol,SYMBOL_TRADE_TICK_VALUE);
 double ask=SymbolInfoDouble(mSymbol,SYMBOL_ASK);
 double bid=SymbolInfoDouble(mSymbol,SYMBOL_BID);
 double poi=SymbolInfoDouble(mSymbol,SYMBOL_POINT);
//-- Текущий безубыток
  if(Buy._Lots>0)  BuyAwerage= bid-(ND(Buy._AllProfit,2)/( TickValue*Buy._Lots ))*poi;
  if(Sell._Lots>0) SellAwerage=ask+(ND(Sell._AllProfit,2)/(TickValue*Sell._Lots))*poi;

 
Alekseu Fedotov:

Было-бы правильно, чтоб учитывались только    OP_BUY   OP_SELL

Ага, спасибо!

Поправил.

 
Vitaly Muzichenko:

Это код для МТ4.


А я увидел там точки в именах подумал, что MQL5 ))).

 

Не могу всё-таки сообразить как лучше и правильней организовать закрытие. У меня используется сетка ордеров с наращиванием лота. Допустим я хочу её закрывать при каком то пороговом значении количества пунктов профита совокупной позиции. Чтобы определить значение этого порога, сначала я на глазок задаю его значение ну допустим 100 п(5-знак), несколько больше чем нужно для прохождения теста в некоторых критических местах. После прохода теста я узнаю в каком месте максимальная просадка. Запускаю тест в визуальном режиме в этом критическом месте. После открытия ордеров сетки делаю останов и анализирую картинку. Прикидываю где должна быть точка закрытия, чтобы избавиться от большой просадки. И после определения этой точки уточняю заданный порог закрытия в сторону уменьшения(но максимально возможный  для приемлемой просадки). Эти операции повторяю несколько раз, чтобы устранить большие просадки и в других местах. Таким образом добиваюсь, чтобы максимальная просадка не превышала 10% .

Проблема, как оказалось, не в том, как я осуществлял закрытие раньше. Она сохраняется и в новом способе, когда  закрытие производится при достижении разностью между ценой безубытка и рыночной ценой некоторого порогового значения. Дело вот в чём: цена безубытка меняется в зависимости от величины лота стартовой позиции. А значит оптимальное значение порога закрытия для разных значений стартового лота будет разное. Если использовать постоянный стартовый лот, то вроде особых проблем нет. Но я использую реинвестирование, поэтому если я настраиваю порог закрытия при стартом лоте допустим 0.01 лота, при лоте допустим 0.05 лота просадка(в процентах) будет другой.

Хотелось бы как то организовать закрытие так, чтобы оптимальный порог закрытия не зависел от стартового лота. Или может это не возможно?

 
khorosh:

Хотелось бы как то организовать закрытие так, чтобы просадка в процентах не зависела от стартового лота.

величина просадки напрямую зависит от риска

реинвистируя Вы увеличиваете риск

со всеми вытекающими

 
Renat Akhtyamov:

величина просадки напрямую зависит от риска

реинвистируя Вы увеличиваете риск

со всеми вытекающими

У меня отношение величины баланса к величине стартового лота постоянное. Допустим депо = 2000, стартовый лот 0.02. Увеличился баланс до 3000 добавляем 0.01 и т.д. Абсолютное значение просадки понятно что будет расти, но в процентах к балансу должно оставаться постоянным. Или может, если используется наращивание лота это не так, пропорциональность не будет сохраняться? Может надо добавлять 0.01 лота, при удвоении депозита?

 
khorosh:

У меня отношение величины баланса к величине стартового лота постоянное. Допустим депо = 2000, стартовый лот 0.02. Увеличился баланс до 3000 добавляем 0.01 и т.д. Абсолютное значение просадки понятно что будет расти, но в процентах к балансу должно оставаться постоянным. Или может, если используется наращивание лота это не так, пропорциональность не будет сохраняться? Может надо добавлять 0.01 лота, при удвоении депозита?

видимо нет

а вообще. хороший вопрос

тоже давно хотел посчитать и проверить, но пока руки не доходили

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