shelandr:
Отрабатываю новую прогу на МТ5. Нестабильно работает определение типа позиции ( Buy -Sell ) -часто определяет с ошибкой до наоборот.
И определение цены открытия позиции-часто выдаёт 0 значение PriceOpen().
Может я чой то затупил или кто то шалит типа ДЦ ? ДЦ- Альфа форекс..
куски подпрограмм:
void OnTrade()
{
...
Чтобы правильно вставить код на форуме нажмите SRC а потом скопируйте туда код.
Посмотрите статью Торговые операции на MQL5 - это просто, может там найдёте что-то полезное.
paladin800:
Чтобы правильно вставить код на форуме нажмите SRC а потом скопируйте туда код.
Посмотрите статью Торговые операции на MQL5 - это просто, может там найдёте что-то полезное.
PositionSelect( symbol); long type=PositionGetInteger(POSITION_TYPE); if(type==(long)POSITION_TYPE_BUY ) newby=true; if(type==(long)POSITION_TYPE_SELL ) newsel=true; CPositionInfo myposition;Согласен..с SRC получше будет..
shelandr:
Согласен..с SRC получше будет..
Согласен..с SRC получше будет..
if(PositionSelect(_Symbol)) { // ... }
paladin800:
Согласен-так ещё будет правильней.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Отрабатываю новую прогу на МТ5. Нестабильно работает определение типа позиции ( Buy -Sell ) -часто определяет с ошибкой до наоборот.
И определение цены открытия позиции-часто выдаёт 0 значение PriceOpen().
Может я чой то затупил или кто то шалит типа ДЦ ? ДЦ- Альфа форекс..
куски подпрограмм:
void OnTrade()
{
if ( order == 1 && newby < 1 && newsel < 1 && Strade < 1 ) ChecTicket () ;
} // out OnTrade()
void ChecTicket ()
{
long type=PositionGetInteger(POSITION_TYPE);
if(type==(long)POSITION_TYPE_BUY ) newby=true;
if(type==(long)POSITION_TYPE_SELL ) newsel=true;
CPositionInfo myposition;
// double pos_op_price = myposition.PriceOpen();
opprice = myposition.PriceOpen();
if ( opprice > 0) Opprce = (int)((opprice-Ksm)*Kms ); ;
if ( opprice < 1) Opprce = B[1] ;
} // Out ChecTicket ()