График эквити и баланса - страница 26

Xupypr1
572
Xupypr1  
FOXXXi писал(а) >>

Очень оперативно.Всё работает,благодарю!Только я не понял как индикатор RF считает,и с ММ непонятно,ведь позиция у нас как бы одна,как пересчёт идёт?Поделил значение прибыли от начального баланса до максимальной точки эквити(и от нач.баланса до текущего эквити) на максимальную просадку,с RF индикатора не сходится.

RF = Текущее эквити / Максимальная просадка. Эта формула используется в индикаторе.

RF = (Текущее эквити - Начальный баланс) / Максимальная просадка. Вы считаете по этой.

Какая из них верная?

Позиций может быть несколько по разным инструментам и открытых в разное время. При включенном ММ лот будет расчитываться от текущего эквити. Не совсем верно, т.к. нет учёта свободных средств. Для одной позиции расчёт лота ведётся от начального баланса.

FOXXXi
335
FOXXXi  
Xupypr >>:

RF = Текущее эквити / Максимальная просадка. Эта формула используется в индикаторе.

RF = (Текущее эквити - Начальный баланс) / Максимальная просадка. Вы считаете по этой.

Какая из них верная?

Позиций может быть несколько по разным инструментам и открытых в разное время. При включенном ММ лот будет расчитываться от текущего эквити. Не совсем верно, т.к. нет учёта свободных средств. Для одной позиции расчёт лота ведётся от начального баланса.

Теперь понятно почему RF в индикаторе получается большой.Правильная формула: RF = (Текущее эквити - Начальный баланс) / Максимальная просадка.

Я имел в виду одну мультипозицию с разными лотами открытую в одно время.

Xupypr1
572
Xupypr1  

Исправлю и обновлю в Code Base.

В таком случае при включенном ММ лоты пересчитываются как часть от начального баланса.

Функция ММ в индикаторе опытная и к ней нужно относиться осторожно.

Aleksandr Volotko
15160
Aleksandr Volotko  
Xupypr >>:

Функция ММ в индикаторе опытная и к ней нужно относиться осторожно.

так она корректно сейчас работает или..?

Xupypr1
572
Xupypr1  
Корректно, но на депозит в 10000 мы можем открыть сколь угодно позиций максимально возможным лотом. Т.к. свободные средства не рассчитываются.
Aleksandr Volotko
15160
Aleksandr Volotko  

а, ну это я помню.. учитываю сей момент :)

просто подумал грешным делом, что вообще какие-то проблемки с функцией этой..

Stanislav Korotky
28412
Stanislav Korotky  

Есть вопрос по формуле расчета эквити, используемой в индикаторе и скриптах. В оригинале используются цены Open (в версии v7 - Close), т.е. так:

     if (Type[j]==OP_BUY) profitloss+=Commission[j]+CurSwap[j]+(iClose(Instrument[j],0,bar)-OpenPrice[j])*Lots[j]*lotsize;
     else
     {
      spread=MarketInfo(Instrument[j],MODE_POINT)*MarketInfo(Instrument[j],MODE_SPREAD);
      profitloss+=Commission[j]+CurSwap[j]+(OpenPrice[j]-iClose(Instrument[j],0,bar)-spread)*Lots[j]*lotsize;
     }

При таком алгоритме выяснено (путем тестирования, т.е. сопоставления показателей), что величина эквити индикатора не совпадает с тем, что дает тестер МТ4. Если же заменить цены на High (для покупки) и Low (для продажи), показатели отлично сходятся. Код для примера:

         if(Type[j]==OP_BUY)
         {
           profitloss += Commission[j] + Swap[j] + (iHigh(Instrument[j],0,bar) - OpenPrice[j]) * LotsArray[j] * lotsize;
         }
         else
         {
           spread = MarketInfo(Instrument[j],MODE_POINT) * MarketInfo(Instrument[j],MODE_SPREAD);
           profitloss += Commission[j] + Swap[j] + (OpenPrice[j] - iLow(Instrument[j],0,bar) - spread) * LotsArray[j] * lotsize;
         }
Судя по тому, что такой алгоритм использует тестер МТ4, можно полагать, что аналогично будет считать просадку и сервер. Отсюда вопрос - не имеет ли смысл подкорректировать индикатор и скрипты?
Xupypr1
572
Xupypr1  

Если Вам так больше нравиться - подкорректируйте.

Может тестер и использует такой алгоритм, но он не является мультивалютным. Поэтому такой расчёт будет справедлив только для одного инструмента (без локов).

Использование цен закрытия даёт хоть какую-то синхронизацию между инструментами. Что не скажешь про High и Low.

Stanislav Korotky
28412
Stanislav Korotky  
Не догоняю, чем Open и Close лучше в плане синхронизации разных инструментов. Если уж на то пошло, как раз экстремумы больше могут претендовать на ориентиры для синхронизации, нежели искуственно вводимые Open/Close, получившиеся в результате нарезки потока цен по барам.
Xupypr1
572
Xupypr1  

Эта нарезка едина для всех инструментов. Т.е. можно с уверенностью сказать, что в хх часов хх минут были такие цены. Попробуйте назвать точное время формирования эктремумов, например, для D1.