вот например, накидала как это должно выглядить. функция всё считает.
double на прямую сравнивать конечно не корректно, но с учётом более значимой погрешности на спреде, пёс с ними
панель сам допиши.
double на прямую сравнивать конечно не корректно, но с учётом более значимой погрешности на спреде, пёс с ними
панель сам допиши.
void indicator_result_panel(double & buffer_buy[], double& buffer_sell[], int stop_loss, int take_profit) { // variables for counting int count_signals_total = 0; int count_signals_win = 0; // spread for calculations double spread = Ask - Bid; // cycle for checking signal one by one for(int i=ArraySize(buffer_buy); i>0; i--) { // buy signal if(buffer_buy[i]!=EMPTY_VALUE) { // order open price double open_price = iOpen(NULL,0,i-1) + spread; // check result for(int b=i-1;b>=0;b--) { // reach take profit if(iHigh(NULL,0,b) >= open_price + take_profit*_Point) { count_signals_total++; count_signals_win ++; break; } // reach stop loss if(iLow(NULL,0,b) <= open_price - stop_loss*_Point) { count_signals_total++; break; } } } // sell signal if(buffer_sell[i]!=EMPTY_VALUE) { // order open price double open_price = iOpen(NULL,0,i-1); // check result for(int b=i-1;b>=0;b--) { // reach take profit if(iLow(NULL,0,b) + spread <= open_price - take_profit*_Point) { count_signals_total++; count_signals_win ++; break; } // reach stop loss if(iHigh(NULL,0,b) + spread >= open_price + stop_loss*_Point) { count_signals_total++; break; } } } } // draw panel // .... }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Доброго времени, коллеги!
Есть у кого наработки, или советы по алгоритму как реализовать в индикаторе панель статистики по касаниями СЛ и ТП.
Например как тут.
В советнике проще проанализировав историю позиций. Но у меня планируется индикатор.