Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нет, только для проверки, демо-счет это или реальный счет, contest используется редко.
Максимальный лот может быть очень простым.
Спасибо за быстрый ответ.
Мне просто нужно применить максимальный размер лота только на демо-счете.
(но, конечно, на самом деле реальный счет - это просто для теста - я хочу попробовать, если демо-счет, если размер лота лучше, тогда размер лота max не будет открывать ордера на продажу и покупку - но если реальный счет или конкурсный счет - так что этот размер лота max не будет применяться к ним обоим (реальный или конкурсный)).
Могу ли я использовать switch operator?
Спасибо большое.
(Я попробую позже.)
// calculate lotsize here
//---
// check if lotsize is not too high
if(lotsize>lotsize_max)
{
lotsize=losize_max;
}
Я хочу спросить - вы хотите сказать - если "lotize > lotize_max", то размер лота должен быть "lotize = lotize_max" для демо счета? Я правильно вас понял, пожалуйста?
Спасибо большое.
(Я работаю над этим)
Я хочу спросить - вы хотите сказать - если "lotize > lotize_max", то размер лота должен быть "lotize = lotize_max" для демо счета? Я правильно вас понял, пожалуйста?
Спасибо большое.
( Я работаю над этим )
Попробуйте
О! Отлично! Большое спасибо.
----
функция должна спросить меня - Да или Нет- я думаю, что это может быть лучше на данный момент. (Мне просто нужен опыт для этой функции, как она работает для меня на демо (конечно, реальном) счете - я буду тестировать эту функцию в понедельник - если я смогу закончить эту часть кода).
( сейчас я не знаю достаточно об этой функции - надеюсь, я смогу сделать это до завтра )
Любой хороший комментарий будет лучшей помощью для меня.
Заранее спасибо.
Да, конечно, конечно, всеми средствами идите с ним без lotsmax и если вы потом захотите более тонко настроить свою стратегию или ограничить риск, вы можете использовать его, так что это не является необходимостью как таковой в настоящее время.
Вы можете просто исключить его, я просто хотел показать вам некоторые линии моего механизма безопасности.
Если вам нужно подтверждение, вы можете использовать
https://docs.mql4.com/common/messagebox
int result=MessageBox(" This is a Messagbox, Do you want to proceed?","Warning",MB_YESNO);
if(result==IDYES)
{
// Yes Pressed
Print("OK");
}
if(result==IDNO)
{
// No Pressed
}
Вот основные флаги, которые вы устанавливаете в функции messagebox после сообщения:
Константа
Значение
Описание
MB_OK
0x00000000
Окно сообщения содержит только одну кнопку: OK. По умолчанию
MB_OKCANCEL
0x00000001
Окно сообщения содержит две кнопки: OK и Cancel
MB_ABORTRETRYIGNORE
0x00000002
Окно сообщения содержит три кнопки: Прервать, Повторить и Игнорировать
MB_YESNOCANCEL
0x00000003
Окно сообщения содержит три кнопки: Да, Нет и Отмена
MB_YESNO
0x00000004
Окно сообщения содержит две кнопки: Да и Нет
MB_RETRYCANCEL
0x00000005
Окно сообщения содержит две кнопки: Повторить и Отменить
MB_CANCELTRYCONTINUE
0x00000006
Окно сообщения содержит три кнопки: Отменить, Повторить попытку, Продолжить
А вот возвращаемые значения:
Константа
Значение
Описание
IDOK
1
Была нажата кнопка "ОК"
IDCANCEL
2
Была нажата кнопка "Отмена"
ИДАБОРТ
3
Нажата кнопка "Отмена"
IDRETRY
4
Нажата кнопка "Повторная попытка"
ИДИГНОР
5
Нажата кнопка "Игнорировать"
IDYES
6
Нажата кнопка "Да"
ИДНО
7
Нажата кнопка "Нет"
IDTRYAGAIN
10
Нажата кнопка "Повторите попытку"
IDCONTINUE
11
Была нажата кнопка "Продолжить".
Messagebox() не работает в тестере.
Да, конечно, конечно, конечно, идите с ним без lotsmax и если вы потом захотите более тонко настроить свою стратегию или ограничить риск, вы можете использовать его, так что это не необходимость как таковая в настоящее время.
Вы можете просто исключить его. Я просто хотел показать вам несколько линий моего механизма безопасности.
Большое спасибо за вашу помощь.
Итак, я только что попробовал нижеприведенный метод, правильно ли я делаю, пожалуйста?
(Мне нужно было спросить, прежде чем я перенесу их в мой основной файл .mq4 - я работаю над ним)
Заранее спасибо.
{
result_message=MessageBox("Do you want to proceed?","Warning",MB_YESNO);
if(result_message==IDYES)
{
ordersell(); // Send Order function here
Print("Clicked YES"," Sell Order Applied");
}
if(result_message==IDNO)
{
Print("Clicked NO"," Sell Order Canceled");
}
ObjectSetInteger(0,sparam,OBJPROP_STATE,false);
}
Просто совет по стилю, который сделает ваш код более эффективным (очень, очень незначительно)... но это все сходится!
У вас есть окно сообщения с 2 кнопками. Если это не IDYES, то это должно быть IDNO (или функция не была завершена успешно).
Поэтому нет необходимости проверять result_message дважды.
{
result_message=MessageBox("Do you want to proceed?","Warning",MB_YESNO);
if(result_message==IDYES)
{
ordersell(); // Send Order function here
Print("Clicked YES"," Sell Order Applied");
}
else
{
Print("Clicked NO"," Sell Order Canceled");
}
ObjectSetInteger(0,sparam,OBJPROP_STATE,false);
}
Если вы предпочитаете видеть это в письменном виде, используйте оператор 'else if':
{
result_message=MessageBox("Do you want to proceed?","Warning",MB_YESNO);
if(result_message==IDYES)
{
ordersell(); // Send Order function here
Print("Clicked YES"," Sell Order Applied");
}
else if(result_message==IDNO)
{
Print("Clicked NO"," Sell Order Canceled");
}
ObjectSetInteger(0,sparam,OBJPROP_STATE,false);
}
Просто совет по стилю, который сделает ваш код более эффективным (очень, очень незначительно)... но это все сходится!
У вас есть окно сообщения с 2 кнопками. Если это не IDYES, то это должно быть IDNO (или функция не была завершена успешно).
Поэтому нет необходимости проверять result_message дважды.
Большое спасибо за все.
Теперь я могу вставить их в основной советник.
( также мне нужен опыт для MessageBox() )
Огромное спасибо за все.
Теперь я могу вставить их в основной советник.
( также мне нужен опыт для MessageBox() )