Неужели , тогда ппц, рынку с МТ4 :laugh: сколько воплей скоро буудетттНе хочу рекламировать это го.но, но в МТ5 появилась возможность хеджировать.
Уже с начала лета. Нету воплей.Неужели , тогда ппц, рынку с МТ4 :laugh: сколько воплей скоро буудеттт
На мой взгляд язык MQL5 - лучше чем MQ4Писать не торговым языком програмирования.
void OnTick()
{
//---
Comment(RegimTorgovli());
}
//+------------------------------------------------------------------+
string RegimTorgovli()//Режим торговли
{
string rt;
switch(GetLastError())
{
case 0:
rt="Нет ошибок";
case 10017:
rt="Торговля запрещена";
break;
case 10042:
rt="Разрешены только длинные позиции";
break;
case 10043:
rt="Разрешены только короткие позиции";
break;
case 10044:
rt = "Разрешено только закрывать существующие позиции";
break;
case 10045:
rt = "Разрешено закрывать существующие позиции только по правилу FIFO" ;
break;
}
return(rt);
}
Потому, что break только после "Торговля запрещена";Код:void OnTick() { //--- Comment(RegimTorgovli()); } //+------------------------------------------------------------------+ string RegimTorgovli()//Режим торговли { string rt; switch(GetLastError()) { case 0: rt="Нет ошибок"; case 10017: rt="Торговля запрещена"; break; case 10042: rt="Разрешены только длинные позиции"; break; case 10043: rt="Разрешены только короткие позиции"; break; case 10044: rt = "Разрешено только закрывать существующие позиции"; break; case 10045: rt = "Разрешено закрывать существующие позиции только по правилу FIFO" ; break; } return(rt); }
Почему так то?
case 0:
rt="Нет ошибок";
case 10017:
rt="Торговля запрещена";
break;
Потому, что break только после "Торговля запрещена";
Код:case 0: rt="Нет ошибок"; case 10017: rt="Торговля запрещена"; break;
void OnTick()
{
//---
Comment(RegimTorgovli());
}
//+------------------------------------------------------------------+
string RegimTorgovli()//Режим торговли
{
string rt;
switch(GetLastError())
{
case 0:
rt="Нет ошибок";
case 10017:
rt="Торговля запрещена";
case 10042:
rt="Разрешены только длинные позиции";
case 10043:
rt="Разрешены только короткие позиции";
case 10044:
rt = "Разрешено только закрывать существующие позиции";
case 10045:
rt = "Разрешено закрывать существующие позиции только по правилу FIFO";
}
return(rt);
}
Ты зачем удалил все строки break?Сейчас выдает "Разрешено закрывать существующие позиции только по правилу FIFO";Код:void OnTick() { //--- Comment(RegimTorgovli()); } //+------------------------------------------------------------------+ string RegimTorgovli()//Режим торговли { string rt; switch(GetLastError()) { case 0: rt="Нет ошибок"; case 10017: rt="Торговля запрещена"; case 10042: rt="Разрешены только длинные позиции"; case 10043: rt="Разрешены только короткие позиции"; case 10044: rt = "Разрешено только закрывать существующие позиции"; case 10045: rt = "Разрешено закрывать существующие позиции только по правилу FIFO"; } return(rt); }
хотя в спецификации написано полная торговля.
Все испраил теперь выдает нет ошибок. Что правильно при полной торговле.Ты зачем удалил все строки break?
Давно я не читал твоих вопросов, подумал за это время ты научился хоть чуток думать, раз начал освоение MQL5, но я ошибся. Ухожу на пенсию повторно. Больше я тебе отвечать не буду.
int iMA(
string symbol, // имя символа
ENUM_TIMEFRAMES period, // период
int ma_period, // период усреднения
int ma_shift, // смещение индикатора по горизонтали
ENUM_MA_METHOD ma_method, // тип сглаживания
ENUM_APPLIED_PRICE applied_price // тип цены или handle
);
один я точно не выплывуУхожу на пенсию повторно. Больше я тебе отвечать не буду.
Не нарывайся… Пока я не скажу какая субстанция не тонет…один я точно не выплыву
SYMBOL_TRADE_MODE_DISABLED | Торговля по символу запрещена |
SYMBOL_TRADE_MODE_LONGONLY | Разрешены только покупки |
SYMBOL_TRADE_MODE_SHORTONLY | Разрешены только продажи |
SYMBOL_TRADE_MODE_CLOSEONLY | Разрешены только операции закрытия позиций |
SYMBOL_TRADE_MODE_FULL | Нет ограничений на торговые операции |
Потому что среди ошибок нашел то что нужно.Не нарывайся… Пока я не скажу какая субстанция не тонет…
Вопрос: Почему проверку ведёшь по ошибке, а не по свойству символа SYMBOL_TRADE_MODE которое можно получить до отправки запроса…
Информация об инструменте
SYMBOL_TRADE_MODE_DISABLED Торговля по символу запрещена SYMBOL_TRADE_MODE_LONGONLY Разрешены только покупки SYMBOL_TRADE_MODE_SHORTONLY Разрешены только продажи SYMBOL_TRADE_MODE_CLOSEONLY Разрешены только операции закрытия позиций SYMBOL_TRADE_MODE_FULL Нет ограничений на торговые операции
void OnTick()
{
//---
Comment(RegimTorgovli());
}
//+------------------------------------------------------------------+
string RegimTorgovli()//Режим торговли
{
string rt;
switch((int)SymbolInfoInteger(Symbol(),SYMBOL_TRADE_MODE))
{
case 0:
rt ="Торговля по символу запрещена";
break;
case 1:
rt ="Разрешены только покупки";
break;
case 2:
rt ="Разрешены только продажи";
break;
case 3:
rt ="Разрешены только операции закрытия позиций";
break;
case 4:
rt ="Нет ограничений на торговые операции";
break;
}
return(rt);
}
Только сразу все. TimeToStruct разделит.Как вернуть час, минуты и секунды в mql5?(отдельно каждый)