Скачать MetaTrader 5

Визуализация Баланса, нужна помощь в реализации.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Иван
1007
Иван  

Вот в процессе размышлений пришли к такому коду.

// ~~~~~~~~~~~~~~~~~~~ Curent Frame ~~~~~~~~~~~~~~~~~~~~~~~~~~

for (int RxIndex=CalcCount-1;RxIndex>=0;RxIndex--){
int RxTotal=OrdersHistoryTotal();
datetime RxTime=Time[RxIndex];
double RxPriceBuy=0;
double RxPriceSell=0;
for (RxOrder=0;RxOrder<RxTotal;RxOrder++){
if (OrderSelect(RxOrder,SELECT_BY_POS,MODE_HISTORY)==true){
if ((OrderOpenTime()<=RxTime)&&(OrderCloseTime()>=RxTime)){
if (OrderType()==OP_BUY) RxPriceBuy=RxPriceBuy+(iClose(OrderSymbol(),0,RxIndex)-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT);
if (OrderType()==OP_SELL) RxPriceSell=RxPriceSell+(OrderOpenPrice()-iClose(OrderSymbol(),0,RxIndex))/MarketInfo(OrderSymbol(),MODE_POINT);
}
}
}
for (RxOrder=0;RxOrder<RxTotal;RxOrder++){
if (OrderSelect(RxOrder,SELECT_BY_POS,MODE_TRADES)==true){
if ((OrderOpenTime()<=RxTime)){
if (RxIndex>0) {
if (OrderType()==OP_BUY) RxPriceBuy=RxPriceBuy+(iClose(OrderSymbol(),0,RxIndex)-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT);
if (OrderType()==OP_SELL) RxPriceSell=RxPriceSell+(OrderOpenPrice()-iClose(OrderSymbol(),0,RxIndex))/MarketInfo(OrderSymbol(),MODE_POINT);
}
else {
if (OrderType()==OP_BUY) RxPriceBuy=RxPriceBuy+(MarketInfo(OrderSymbol(),Bid)-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT);
if (OrderType()==OP_SELL) RxPriceSell=RxPriceSell+(OrderOpenPrice()-MarketInfo(OrderSymbol(),Ask))/MarketInfo(OrderSymbol(),MODE_POINT);
}
}
}
}
TimeBuf1[RxIndex]=RxPriceBuy;
TimeBuf2[RxIndex]=RxPriceSell;
TimeBuf3[RxIndex]=RxPriceBuy+RxPriceSell;
}
ArrayCopy(FxView1,TimeBuf1,0,0,CalcCount);
ArrayCopy(FxView2,TimeBuf2,0,0,CalcCount);

ArrayCopy(FxView3,TimeBuf3,0,0,CalcCount);

А теперь собственно вопрос: получаеться нужно научиться считать баланс по селам и баям, так же стоит учитывать открытые и закрытые позиции ну и все полученные массивы вывести на график. что бы это было возможно выводить на экран при визуализированном тестировании советника. Как развить эту идею дальше? нужны подсказки или похожие примеры.

Aleksandr Volotko
10396
Aleksandr Volotko  

Как-то давно Игорь (Хирург) подсказал для визуализации простое решение. Там четыре строки кода и простой индикатор. Посмотрите в ветке его.

Aleksandr Volotko
10396
Aleksandr Volotko  

Вот это в советник:

if (IsVisualMode())
     {
      GlobalVariableSet("Balance",AccountBalance());
      GlobalVariableSet("Equity",AccountEquity());
      GlobalVariableSet("Margin",AccountMargin());
      GlobalVariableSet("Free",AccountFreeMargin());
     }

а на график индикатор в приложении.

ЗЫ: киньте на график индикатор и сохраните как шаблон для тестера.

Вроде все.

Файлы:
Иван
1007
Иван  
alexx_v:

Как-то давно Игорь (Хирург) подсказал для визуализации простое решение. Там четыре строки кода и простой индикатор. Посмотрите в ветке его.



т.е. по сути в этом коде с моей стороны нет смысла? Иными словами путь неверный?
Иван
1007
Иван  
alexx_v:

Вот это в советник:

а на график индикатор в приложении.

ЗЫ: киньте на график индикатор и сохраните как шаблон для тестера.

Вроде все.


ну да смотрится проще, спасибо, будем кумекать
Aleksandr Volotko
10396
Aleksandr Volotko  

Тип того, излишества.

Кстати вот ссылка, где Игорь это говорил.

Aleksandr Volotko
10396
Aleksandr Volotko  
EricGR:

ну да смотрится проще, спасибо, будем кумекать
И работает в визуальном режиме прекрасно.
Роман
7939
Роман  
alexx_v:

Как-то давно Игорь (Хирург) подсказал для визуализации простое решение. Там четыре строки кода и простой индикатор. Посмотрите в ветке его.



Автор: Игорь (Хирург) - https://www.mql5.com/ru/code/8454
Иван
1007
Иван  
alexx_v:
И работает в визуальном режиме прекрасно.

ну мне преимущественно над посмотреть сделать вывод а потом забрать данные для других решений советника, с этим разберемся, еще раз благодарю.
Aleksandr Volotko
10396
Aleksandr Volotko  
Roman.:

Автор: Игорь (Хирург) - https://www.mql5.com/ru/code/8454
Это немного не то, что нужно было топикстартеру. Хотя индикатор замечательный и востребованный :)
Иван
1007
Иван  
alexx_v:
Это немного не то, что нужно было топикстартеру. Хотя индикатор замечательный и востребованный :)

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