Рассуждения/монолог по функции AccountFreeMarginCheck

 
Очень странное кино: AccountFreeMarginCheck(OrderSymbol(),OP_SELL,Lots) - генерирует ошибку в журнал, если я не открываю ордер, и генерирует после отключения советника, то есть, показывает ее как бы в заключении: Мол, смотри что ты упустил?! Но я проверил журнал на ошибки при включенном советнике и она - эта ошибка, уже там существует, только ждет момент, когда об этом сообщить?! По идее, она должна включить свои действия только после произошедшего события, до этого она должна молчать как рыба, а то она как бы намекает: вот столько будет если что-то произойдет?! Намекает - пусть намекает, но почему она генерирует ошибку, если этого не произошло?! Странное кино. Может я что-то немного не до понимаю?
 
Хотя при включенном советнике сейчас не происходит ошибка, ни на BUY ни на SELL, но почему она сообщает в журнал потом, если не был открыт ни один ордер? Размер свободных средств, которые останутся после открытия указанного ордера по текущей цене на текущем счете. Если свободных средств не хватает, то будет сгенерирована ошибка 134 (ERR_NOT_ENOUGH_MONEY) - это из справочника. А если делать <=0, то получится опять, если я не захочу открывать ордер и поставлю ретурн, то тем самым сам себе подпишу приговор на ошибку, то есть, функция будет думать что у меня не хватает средств, а не то, что я не хочу открывать ордер. Мне она на данный момент нужна для расчета в сфере баланса и предположений; и вот на этом этапе(а я только начал), она ставит меня в тупик; то есть, исходя и зная, что это все ошибочно, мой расчет будет с ошибкой, то есть, у меня отобрали выбор, или, или... . Странно все это?!
 
И у меня нет ни каких условий. Print и сама функция и ее параметры, я смотрю ее работу в журнале. Там еще несколько странностей, но это я думаю с самим счетом, а именно с плечем связанно и тут разберусь со временем. А вот что функция в заключении выдает в журнал ошибку - это не понятно?!
 
Хотя, может и не ошибка?!, она пишет, что она инвалид, а под этим можно подразумевать, что она не сработала и назвала себя инвалидом.
 
Хорошо. Давайте запустим удочку не в Байкал с научными объяснениями, а в маленькое озерко, где водится не лосось, а обычный пескарь. Что эта функция должна показать? Правильно, оставшиеся средства после открытия ордера по текущей цене. 500.00-0.1=499.00 минус(я так думаю), своп. Хорошо. С этим разобрались. Теперь другое. Цена пошла не в ожидаемом направлении и скаканула 300 пунктов в ущерб первому открытому ордеру. Хорошо. Открываем еще один ордер в том же направлении, с теми же параметрами. Что должна будет показать функция? Если я запущу цикл и подсчет своих средств учитывая все-возможные параметры, то зачем мне тогда нужна эта функция?!, да еще которая делает сама, а говорит мне, я ко-бы я произвожу ошибку? Я так понимаю, ее смысл облегчить мои расчеты, а не усугубить и не искоренить их на корню. То есть, при открытии второго ордера, она мне должна показать ущерб по первому ордеру, отнять его от баланса, и приплюсовать туда своп, и все нюансы брокера, второго ордера. То есть, я открывая второй ордер должен буду видеть сумму которая останется на балансе. По поводу второго ордера пока не знаю, а по первому она указывает точно и минусует своп. Но почему в журнал пишется об ошибке? Недопустимый много сумму для функции FreeMarginCheck, то есть, возможно, что она не может рассчитать из нечего? Тогда она в обще не должна говорить об ошибке(на мой взгляд, а там кто его знает как все должно быть?!, у всех по разному).
 
Комментарии, не относящиеся к этой теме, были перенесены в "Рассуждения/монолог по функции AccountFreeMarginCheck".
Причина обращения: