Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
MQL4:
MODE_LOTSTEP
24
Шаг для изменения лотов
MQL5:
ШАГ_ОБЪЕМА_СИМВОЛА
Минимальный шаг изменения объема для совершения сделки
двойной
Таким образом, он информирует вас о минимальном шаге увеличения или уменьшения размера лота, если он равен 0,01, то ваши лоты должны соответствовать 0,01, 0,02, 0,03, 0,04 и т. д.
Если это 0.1, то ваше изменение размера лота должно соответствовать 0.1, затем 0.2, затем 0.3 и т.д.
Поэтому я не понимаю вас:
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
Может быть, вы имеете в виду другой шаг лота?
Обычно вы не меняете это значение, потому что оно фиксировано для каждого символа.
if(sparam==lotbuttonplus)
{
if(lotsize>=(lotstep*100))
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
Все может запутаться, если вы измените значение переменной с интуитивным названием. Я бы предложил, чтобы lotstep всегда была lotstep и ничем другим.
Как насчет чего-то вроде этого?
lotmaxdivide=lotmax/lotmax *(lotvalue*10);
lotsize=fmin(lotmaxdivide,lotsize+(( ctrlfalse) ? increment*10 : increment));
Marco vd Heijden:
Поэтому я не понимаю вас:
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
Может быть, вы имеете в виду другой шаг лота?
Обычно вы не меняете это значение, потому что оно фиксировано для каждого символа.
Да! Я имею в виду другой шаг лота, то есть когда размер лота достиг размера лота 1.00 для EURUSD. Тогда мне нужно увеличить размер лота на 1.00. До того, как размер лота достигнет 1.00 - размер лота увеличивается на 0.01, 0.02 и т.д. (какой я хочу) - но после того, как размер лота достиг 1.00 - тогда размер лота увеличивается на 1.00, 2.00, 3.00 и т.д.
Это то, что я хочу сделать в этой подтеме.
Большое спасибо.
Все может запутаться, если вы измените значение интуитивно понятной переменной. Я бы предложил, чтобы lotstep всегда был lotstep, и ничего больше.
Как насчет чего-то вроде этого?
lotmaxdivide=lotmax/lotmax *(lotvalue*10);
lotsize=fmin(lotmaxdivide,lotsize+(( ctrlfalse) ? increment*10 : increment));
( Я просто немного изменил не - ... ? lotstep : lotstep*100 - ...? lotstep : lotstep*10 )
Да! В моем первоначальном коде все перепуталось.
После вашей большой помощи я решил свою проблему. Большое спасибо.
Также я хотел бы, чтобы размер лота увеличивался следующим образом.
Размер лота увеличивается следующим образом 0.99, 1.00, 1.01, 1.11.
Но мне нужно вот так 0.99, 1.00, 1.10, 1.20 и т.д.
Заранее спасибо.
Я думаю, что 0.99, 1.00, 1.01, 1.02. будет лучшей идеей.
Придерживайтесь наименьшего доступного шага, я думаю.
Почему вы хотите делать эти УЛЬТРА БОЛЬШИЕ шаги?
Вы уже пробовали?
Пожалуйста, попробуйте.Я думаю, что 0.99, 1.00, 1.01, 1.02. будет лучшей идеей.
Пожалуйста, попробуйте.Придерживайтесь наименьшего доступного шага, я думаю.
Почему вы хотите делать такие УЛЬТРА БОЛЬШИЕ шаги?
Вы пробовали?
Я уже пробовал, думаю, если мне нужно достичь размера лота 5.00, я должен 40 раз нажать кнопку лот плюс ( + ctrl ).
Ничего себе, и почему пять?
Вы можете просто использовать + и - вместо *
Но в моем роботе есть одна строка, которая спасает его от полного уничтожения, и это она:
Но в моем роботе есть одна строчка, которая спасает его от полного уничтожения, и это она:
Это абсолютно верно, и, конечно, я уважаю эту установку.
Но это только вопрос - я имею в виду, что я могу настроить его в любое время.
Возможно, мне нужно немного опыта по поводу размера лота.
Я думаю, что эту подтему можно пока закрыть.
Спасибо @Marco vd Heijden и @honest_knave.
#Lot Step - закрыто
#Lot Size Max - Open
@Marco vd Heijden- большое спасибо за ваш последний комментарий, который вдохновил меня написать эту часть кода для моего советника. (Я просто перестал писать другие функции - поэтому стараюсь написать эту раньше других).
Итак, как обычно я пытаюсь протестировать что-то на максимальный размер лота.
Когда размер лота больше максимального, функция печати не дает мне знать о режиме торговли.
После того, как я решу этот вопрос, мне нужно поставить эту функцию на кнопки Sell и Buy.
Вопрос: Как я могу сделать так, чтобы функция печати не сообщала мне о режиме торговли? ( - размер лота лучше, чем размер лота max или меньше, чем он)
В: Полезен ли этот метод для максимального размера лота?
Заранее спасибо.
{
string trademode;
ENUM_ACCOUNT_TRADE_MODE accounttype=(ENUM_ACCOUNT_TRADE_MODE) AccountInfoInteger(ACCOUNT_TRADE_MODE);
if(accounttype==ACCOUNT_TRADE_MODE_DEMO)
{
switch(accounttype)
{
case ACCOUNT_TRADE_MODE_DEMO:
if( lotsize > ( lotstep * lotsizemax ) ) return;
trademode="demo";
break;
case ACCOUNT_TRADE_MODE_CONTEST:
trademode="contest";
break;
default:
trademode="live";
break;
}
}
Print("Trade Mode: ",trademode);
}
Для проверки того, демо-счет это или реальный счет, конкурс используется редко.
Максимальный лот может быть очень простым.
// calculate lotsize here
//---
// check if lotsize is not too high
if(lotsize>lotsize_max)
{
lotsize=losize_max;
}