
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Уважаемые трейдеры!
В связи с тем, что я хочу создать собственного советника, у меня есть к Вам несколько вопросов по MQL4.
Во-первых: как в mql4 узнать цену открытия и закрытия предыдущего бара (или свечи), и как их сравнить (на пример в if)?
Во-вторых: какой код нужен для покупки или продажи, с тейк-профитом и стоп-лосом.
В-третьих: как, с помощью mql4, узнать закрылась ли предыдущая сделка по стоп-лосу или по тейк-профиту?
В-четвертых: как остановить выполнение советника (естественно с помощью кода), типа тайм-аута.
В-пятых: как перейти по метке (например, как goto в visual basic)?
1. советник для тестера или для реала ... 2 ни цены открытия ни цены закрытия точно никак не узнать... первый тик бара чаще всего не совпадает ни с ценой открытия ни с временем открытия бара... ну а цена закрытия - аналогично всего лишь последняя известная цена...3 тейк и стоп возможны ток при исполнении инстант ( с сопутствующими приятностями типа реквот ) при исполнении маркет ставятся только после открытия при модификации ( с приятностями типа проскальзываний )...4. с помощью селектора по истории...
так что не так всё просто ...
Вопросов много ответ один, точнее два
Бриллиантовые слова.
2стартЕртопик (2doon): Прежде, чем лезть на форум ознакомьтесь с инфой по вышеприведенным сцылкам...хотя бы так...ради прикола... :-)))
П.С. Свои сообщения, будьте добры, покрупнее пишите - сейчас, мониторы у всех большие - чтобы сразу всем все было видно.
Еще раз здравствуйте.
Дело в том, что мне надо проверять проверялся ли ордер с помощью функции isCloseLastPosByStop().Магик использовать нельзя, т.к. он рано или поздно он кончиться (2147483647), а стирать или изменять его нельзя. Подскажите, как это осуществить.Жги ище :-)))
Хочу, чтобы после закрытия по стоп лосу выводилось сообщение, но в mt4 ничего не происходит.
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
string sy="NULL";
int op=-1;
int mn=-1;
bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
datetime t;
double ocp, osl;
int dg, i, j=-1, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
dg=MarketInfo(sy, MODE_DIGITS);
if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
osl=NormalizeDouble(OrderStopLoss(), dg);
if (ocp==osl) return(True);
}
return(False);
}
int start()
{
//----
bool stopl;
stopl = isCloseLastPosByStop(sy,op,mn);
if (stopl == true)
Alert ("последняя сделка закрылась по s/l");
//----
return(0);
}
1. советник для тестера или для реала ... 2 ни цены открытия ни цены закрытия точно никак не узнать... первый тик бара чаще всего не совпадает ни с ценой открытия ни с временем открытия бара... ну а цена закрытия - аналогично всего лишь последняя известная цена...3 тейк и стоп возможны ток при исполнении инстант ( с сопутствующими приятностями типа реквот ) при исполнении маркет ставятся только после открытия при модификации ( с приятностями типа проскальзываний )...4. с помощью селектора по истории...
так что не так всё просто ...
Слава, не отпугивайте товарища (хотя я с Вами во всем вышеуказанном согласен), пусть сначала слепит первый пирожок для тестера - а там потихоньку будет разбираться. Ну нельзя перед перловой кашей торт вкушать :)
Да товарисч, жгет во всю, а Вы торт с перловой кашей... :-)))
Уверен, ему сейчас ни до того, ни до другого...
Так, что все в поряде.