- Вопросы от "чайника"
- Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
- Как вычислить максимальный лот которым можно открыться?
MarketInfo(Symbol(),MODE_MAXLOT);https://docs.mql4.com/ru/common/MarketInfo
Нет, я имею в виду как вычислить суммарный объем всех сделок на счете которым я могу открыться (на которые хватит свободных средств), а не макс. лот на одну сделку
теперь понятно что вы хотите
я пользуюсь этой функцией
//============================ Расчет лота ======================================= double LotMM(string Sym,int Tip,double LotPercent){ double TestLot,NewLot,AM,AFM,AFMC,Max; double MinLot = MarketInfo(Sym,MODE_MINLOT); double StepLot = MarketInfo(Sym,MODE_LOTSTEP); double MaxLot = MarketInfo(Sym,MODE_MAXLOT); double Mdig; int TipTest; switch(Tip){ case 0 : TipTest = 0; break; case 1 : TipTest = 1; break; case 2 : TipTest = 0; break; case 3 : TipTest = 1; break; case 4 : TipTest = 0; break; case 5 : TipTest = 1; break; } AM = AccountMargin(); AFM = AccountFreeMargin(); //(Свободно)значение свободных средств, разрешенных для открытия позиций на текущем счете. AFMC = AccountFreeMarginCheck(Sym,TipTest,StepLot); //Размер свободных средств, которые останутся после открытия указанной позиции по текущей цене на текущем счете if(AFM>AFMC){ double SUMM = AFM*LotPercent/100; // сумма процентов double MIN = AFM+AM-AFMC; // Сумма на мин лот int KVO = SUMM/MIN; // Сколько мин лотов из указанной суммы NewLot = KVO*StepLot; // полученный лот } if(NewLot>MaxLot){NewLot=MaxLot;} if(NewLot<MinLot){NewLot=MinLot;} return(NewLot); }
string Sym - Символ
int Tip - Тип ордера (BUY,SELL, и т.д.)
double LotPercent - процент от свободных средств
надеюсь разберетесь
теперь понятно что вы хотите
я пользуюсь этой функцией
//============================ Расчет лота =======================================
string Sym - Символ
int Tip - Тип ордера (BUY,SELL, и т.д.)
double LotPercent - процент от свободных средств
надеюсь разберетесь
большое спасибо, то что надо!
У меня чуть проще вариант...
double ДОСТУПНОЛОТ=AccountFreeMargin()/MarketInfo(Symbol(),MODE_MARGINREQUIRED);
У меня чуть проще вариант...
double ДОСТУПНОЛОТ=AccountFreeMargin()/MarketInfo(Symbol(),MODE_MARGINREQUIRED);
Плюс нормализовать до ДигитсМинЛот, плюс проверить, что больше-меньше, если ДОСТУПНОЛОТ меньше, то из полученного после нормализации 1 минлот вычесть :). Но обычно этого ничего не надо.
Ну звиняйте... ;)))
Привык что многие параметры без надобности.
Тем более спрашивали КАК расчитать,
а КАК причесать для применения эт дело десятое...
У меня чуть проще вариант...
double ДОСТУПНОЛОТ=AccountFreeMargin()/MarketInfo(Symbol(),MODE_MARGINREQUIRED);
Плюс нормализовать до ДигитсМинЛот, плюс проверить, что больше-меньше, если ДОСТУПНОЛОТ меньше, то из полученного после нормализации 1 минлот вычесть :). Но обычно этого ничего не надо.
Lots=NormalizeDouble(Lots/MarketInfo( Symbol(),MODE_LOTSTEP), 0)*MarketInfo( Symbol(),MODE_LOTSTEP);и можно и нужно получить лот с правильным шагом
... как вычислить суммарный объем всех сделок на счете которым я могу открыться (на которые хватит свободных средств), ...
Весёлые вы однако ребята :)
Никак раньше не мог понять для чего плечо 200:1, 500:1 придумали, считал что для того чтобы процесс слива 1-го депо надолго не затягивался :)
Что ж это за экстрим-трейдинг такой, когда на всю маржу открываешься?
Поделитесь если не секрет.
Очень редко на реале даже с учётом доливок по тренду и хеджа позволяю держать суммарную позицию более 30% депозита.
А чегой не повеселится то...
1. Расчёт может нужен для последующих расчётов, а не для открытия
2. По классике на сделку убыток не более 2%
но не указано собственно количество оных сделок...
А посему и повеселится не грех, если открываться на максдепо со стопом в 2%
гулять так гулять, сливать так сливать
а лоси летят, летят высоко...
я им помашу депой :)))
(с)
Кстати, без нормализации нормально открывается.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования