Kolumb
Новичок форума
Так прекрасно, если не сложно исправь пожалуйста. У меня Lot2 сначала задается во внешних параметрах в ручную, это для обеих пар, и потом в функции Ordersend в паре EURAUD умножается на 1.5. Лоты во внешних параметрах я не менял, поэтому да, могли возникнуть ошибки. Я понял, о чем ты говоришь. Вот первые ордера открылись, выглядит вот так.давай еще раз я попробую объяснить... Лот не может принимать какое угодно значение. Его размер строго предопределен. Теперь смотрим что у тебя в советнике - как-то так Lot2 = 1.5*Lot1. Ты уверен, что значение Lot2 примет допустимое значение? я вот в этом не уверен, более того - с вероятностью 50% ты нарвешься на ошибку 131 ERR_INVALID_TRADE_VOLUME и то при условии, что Lot1 выставлен правильно. А это может быть совсем не так - к примеру, ты по запарке лишнюю циферку вписал и прочее... пример функции нормализующей размер лота
Код:double NormalizeLots(string symbol,double lots) { //--- double lot_min=SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN), lot_max=SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX), lot_step=SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP); int step=MathMax(0,MathRound((lots-lot_min)/lot_step)); double lot=MathMin(lot_min+step*lot_step,lot_max); return(lot); //--- }
Вложения
Последнее редактирование: