Добрый день, помогите пожалуйста исправить, у меня функция подсчета прибыли работает только на конкретной валютной паре, а их у меня 4, хотелось бы находясь на одной паре, видеть результаты торговли по всем парам, а не прыгать по каждой и смотреть где как. Вот код: Что тут ни так?
double Earn(datetime startDate = 0)
{
double result = 0;
for (int i = 0; i < OrdersHistoryTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY))
{
if(OrderMagicNumber()==G_magic_176_16 && OrderSymbol()==Symbol ())
{
if (startDate < OrderCloseTime())
result += OrderProfit() + OrderSwap() + OrderCommission();
}
if(OrderMagicNumber()==G_magic_176_15 && OrderSymbol()==Symbol())
{
if (startDate < OrderCloseTime())
result += OrderProfit() + OrderSwap() + OrderCommission();
}
if(OrderMagicNumber()==MagicNumber_Hilo && OrderSymbol()==Symbol())
{
if (startDate < OrderCloseTime())
result += OrderProfit() + OrderSwap() + OrderCommission();
}
}
}
return(NormalizeDouble(result, 2));
double Earn(datetime startDate = 0) { double result = 0; for (int i = 0; i < OrdersHistoryTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)) { if(OrderMagicNumber()==G_magic_176_16 ) { if (startDate < OrderCloseTime()) result += OrderProfit() + OrderSwap() + OrderCommission(); } if(OrderMagicNumber()==G_magic_176_15 ) { if (startDate < OrderCloseTime()) result += OrderProfit() + OrderSwap() + OrderCommission(); } if(OrderMagicNumber()==MagicNumber_Hilo) { if (startDate < OrderCloseTime()) result += OrderProfit() + OrderSwap() + OrderCommission(); } } } return(NormalizeDouble(result, 2));
Как то так.
Как то так.
Алексей, спасибо огромное!! Все работает!!

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день, помогите пожалуйста исправить, у меня функция подсчета прибыли работает только на конкретной валютной паре, а их у меня 4, хотелось бы находясь на одной паре, видеть результаты торговли по всем парам, а не прыгать по каждой и смотреть где как. Вот код: Что тут ни так?
double Earn(datetime startDate = 0)
{
double result = 0;
for (int i = 0; i < OrdersHistoryTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY))
{
if(OrderMagicNumber()==G_magic_176_16 && OrderSymbol()==Symbol ())
{
if (startDate < OrderCloseTime())
result += OrderProfit() + OrderSwap() + OrderCommission();
}
if(OrderMagicNumber()==G_magic_176_15 && OrderSymbol()==Symbol())
{
if (startDate < OrderCloseTime())
result += OrderProfit() + OrderSwap() + OrderCommission();
}
if(OrderMagicNumber()==MagicNumber_Hilo && OrderSymbol()==Symbol())
{
if (startDate < OrderCloseTime())
result += OrderProfit() + OrderSwap() + OrderCommission();
}
}
}
return(NormalizeDouble(result, 2));