Как рассчитать размер лота от заданной суммы? - страница 3

 
   double m;
   bool z=OrderCalcMargin(ORDER_TYPE_BUY,Symbol(),1.0,SymbolInfoDouble(Symbol(),SYMBOL_ASK),m);   
   double x=AccountInfoDouble(ACCOUNT_MARGIN_FREE)/m;    
   double s=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);
   x=NormalizeDouble(MathFloor(x/s)*s,8);
   Alert(x);

Допилите сами

 
Andrey Dik:

нифига не фигня, а зашибись.

не работает штатная функция?

 
Andrey Dik:

не работает штатная функция?

Нет. где-то 0 дает, где-то 100000.

 
Прочитал тему и понял что у меня ошибка в рассчете лота. Уже несколько дней сижу и никак не пойму.  В примере советника moving average (на 25 строке можете глянуть), который с терминалом, по моему неправильный рассчёт. Написано , что риск в процентах, на самом деле с разрядами ошибка по моему. Сори что код не кидаю, у меня буфера общего нет с тем компом. Ну там суть такая что OrderCalcMargin с параметром 1 лот, получает 1000.  Потом ACCOUNT_MARGIN_FREE умножается на риск в процентах и делится на 1000. По моему получается лот огромный слишком, на один разряд кажется ошибка. А почему нет стопа тут? Как правильно написать рассчёт лота? Что-то запутался. Так надо со стопом или без?  Напишите пж, как имея процент риска и стоп, получить лот.
 
Andrey Dik:

не работает штатная функция?

у одних ДЦ работает, а у других нет  -  установлено экспериментально

 
ОrderCalcMargin с лотом 0.01 даёт цену одного пункта в валюте депозита, при лоте 0.01 ????
 
Ivan_Invanov:
ОrderCalcMargin с лотом 0.01 даёт цену одного пункта в валюте депозита, при лоте 0.01 ????

вам нужна OrderCalcProfit

 
Ivan_Invanov:
ОrderCalcMargin с лотом 0.01 даёт цену одного пункта в валюте депозита, при лоте 0.01 ????

Нет

 
jaffer wilson #:

Могу ли я процитировать вопрос, где я говорю, у меня есть 10000 долларов. Но я использую только 1000 долларов. Теперь сколько лотов может уместиться в 1000 долларов. Может быть, вы можете сказать, я использовал 10% от общей суммы, которая составляет 10000 долларов.

Я хочу использовать это полностью сказать, что я хочу взять 100% -ый риск на 1000 $. Если это произойдет, то у меня все еще будет 9000 долларов

Но я хочу знать, как рассчитать размер лота (объем), который будет соответствовать $ 1000.

Это вопрос.

Если кому-то понадобятся дальнейшие разъяснения, пожалуйста, дайте мне знать, что вы пропустили в этом разъяснении. Я обязательно дам вам знать

Предположу, что никак.
Только купив/продав один лот и посмотрев, какая сумма в результате получится. А уже затем разделив свою условную $1000 на эту сумму понять количество лотов.
В QUIK данная сумма показывается в столбцах Стоимость и Ликв. Стоимость. Но она видна только после покупки/продажи лота