И что не работает?
А ордеров сколько открывает/закрывает? Если только один откроет, то будет просто баланс.
double Balance; int start() {
if (условия закрытия)
{ OrderClose(Ticket,Lot,Ask,2);}
if (AccountBalance()< Balance)
{ Alert('мы проиграли = ', Balance - NewBalance ); }
if (AccountBalance()>Balance)
{ Alert('мы выиграли = ', NewBalance - Balance);}
if (условия открытия)
{Balance = AccountBalance();
OrderSend(Symb,OP_BUY,Lts,Bid,2,0,0);}
}
Попробуйте так может получится
Подправлю
{ if(OrderSend(Symb,OP_BUY,Lts,Bid,2,0,0)>-1) Balance = AccountBalance(); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прошу помощи разобраться с несложным вопросом.
На мой взгляд все должно работать, но оно не работает. Задача узнать баланс при открытии ордера и затем после закрытия.
Допусти так:
double Balance, NewBalance;
int start()
{
if (условия закрытия)
{
OrderClose(Ticket,Lot,Ask,2);
NewBalance = AccountBalance();
if (NewBalance < Balance)
{
Alert('мы проиграли = ', Balance - NewBalance );
}
else
{
Alert('мы выиграли = ', NewBalance - Balance);
}
}
if (условия открытия)
{
OrderSend(Symb,OP_BUY,Lts,Bid,2,0,0);
Balance = AccountBalance();
}
}
Хочется научится этому делу, объясните пожалуйста почему это не работает.
На выходе мы получаем Alert с просто новым балансом.