Gostaria de saber se existe uma alternativa ao guião de loop infinito em 5, porque tal guião é muito caprichoso, gostaria que continuasse a funcionar quando reabrir o terminal ou alterar o prazo?
Olegts: Gostaria de saber se existe uma alternativa ao guião de loop infinito em 5, porque tal guião é muito caprichoso, gostaria que continuasse a funcionar quando reabrir o terminal ou alterar o prazo?
Se estiver satisfeito com a frequência mínima de 1 segundo, então OnTimer, caso contrário
Desde quenão haja uma operação de microssegundos no OnTimer.
possível perda de dados devido ao tipo de conversão ChartObject.mqh 213 4 possível perda de dados devido ao tipo de conversão ChartObject.mqh 481 4 possível perda de dados devido ao tipo de conversão ChartObject.mqh 867 17 possível perda de dados devido ao tipo de conversão ChartObjectsTxtControls.mqh 519 4
Bild 375 - as vornings apareceram em bibliotecas standard. Pode haver mais alguns, ainda não os verifiquei.
nanaos: Poderia dizer-me, por favor, como sei se um comércio é fechado por um stop loss?
Em MT5 não é a troca que fecha na paragem de perda, mas a posição, no momento em que se pode descobrir apenas pelo comentário da troca que fechou a posição na paragem de perda. Aqui está um código de amostra.
void Event()
{
if(!HistorySelectByPosition(ID))return;
double margin=0.0;
bool res;
int total=HistoryOrdersTotal();
ulong deal_ticket=HistoryDealGetTicket(total-1);
string coment=HistoryDealGetString(deal_ticket,DEAL_COMMENT);
long deal_type=HistoryDealGetInteger(deal_ticket,DEAL_TYPE);
double volume=HistoryDealGetDouble(deal_ticket,DEAL_VOLUME);
double MinLot=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
double MaxLot=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX);
double Bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);
double Ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
ulong stoplevel=SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);
if(deal_type==ORDER_TYPE_BUY)
{
if(StringFind(coment,"sl")>=0)
{
request.volume=NormalizeDouble(volume*Klot,DigitsVolume());
request.price=NormalizeDouble(Bid,_Digits);
request.type = ORDER_TYPE_SELL;
if(SL<=0 || TP<=0)return;
if(SL>=stoplevel) request.sl=NormalizeDouble(Ask+(SL*_Point),_Digits);
if(SL<stoplevel) request.sl=NormalizeDouble(Ask+(stoplevel*_Point),_Digits);
if(TP>=stoplevel) request.tp=NormalizeDouble(Bid -(TP*_Point),_Digits);
if(TP<stoplevel) request.tp=NormalizeDouble(Bid -(stoplevel*_Point),_Digits);
OrderCalcMargin(request.type,_Symbol,request.volume,Bid,margin);
if(AccountInfoDouble(ACCOUNT_FREEMARGIN)-margin<0)return;
}
if(StringFind(coment,"tp")>=0){flagNewSeries=true;return;}
}
if(deal_type==ORDER_TYPE_SELL)
{
if(StringFind(coment,"sl")>=0)
{
request.volume=NormalizeDouble(volume*Klot,DigitsVolume());
request.price=NormalizeDouble(Ask,_Digits);
request.type = ORDER_TYPE_BUY;
if(SL<=0 || TP<=0)return;
if(SL>=stoplevel) request.sl=NormalizeDouble(Bid -(SL*_Point),_Digits);
if(SL<stoplevel) request.sl=NormalizeDouble(Bid -(stoplevel*_Point),_Digits);
if(TP>=stoplevel) request.tp=NormalizeDouble(Ask+(TP*_Point),_Digits);
if(TP<stoplevel) request.tp=NormalizeDouble(Ask+(stoplevel*_Point),_Digits);
OrderCalcMargin(request.type,_Symbol,request.volume,Ask,margin);
if(AccountInfoDouble(ACCOUNT_FREEMARGIN)-margin<0)return;
}
if(StringFind(coment,"tp")>=0){flagNewSeries=true;return;}
}
if(request.volume<MinLot)request.volume=MinLot;
if(request.volume>MaxLot)request.volume=MaxLot;
request.volume=NormalizeDouble(request.volume,DigitsVolume());
request.action = TRADE_ACTION_DEAL;
request.magic = Magic;
request.symbol = _Symbol;
request.deviation = Slip;
request.type_filling = ORDER_FILLING_AON;
request.comment = CommentOrder;
OrderSend(request,result);
switch(result.retcode)
{
case10008: {Print("Ордер размещен");PositionSelect(Symbol());ID=PositionGetInteger(POSITION_IDENTIFIER);}break;
case10009: {Print("Заявка выполнена");PositionSelect(Symbol());ID=PositionGetInteger(POSITION_IDENTIFIER);}break;
case10004: {Print("Реквота");}break;
case10006: {Print("Запрос отвергнут");}break;
case10007: {Print("Запрос отменен трейдером");res=false;}break;
case10010: {Print("Заявка выполнена частично");res=false;}break;
case10011: {Print("Ошибка обработки запроса");res=false;}break;
case10012: {Print("Запрос отменен по истечению времени");}break;
case10013: {Print("Неправильный запрос");res=false;}break;
case10014: {Print("Неправильный объем в запросе");res=false;}break;
case10015: {Print("Неправильная цена в запросе");res=false;}break;
case10016: {Print("Неправильные стопы в запросе");res=false;}break;
case10017: {Print("Торговля запрещена");res=false;}break;
case10018: {Print("Рынок закрыт");}break;
case10019: {Print("Нет достаточных денежных средств для выполнения запроса");res=false;}break;
case10020: {Print("Цены изменились");}break;
case10021: {Print("Отсутствуют котировки для обработки запроса");}break;
case10022: {Print("Неверная дата истечения ордера в запросе");res=false;}break;
case10023: {Print("Состояние ордера изменилось");}break;
case10024: {Print("Слишком частые запросы");res=false;}break;
case10025: {Print("В запросе нет изменений");res=false;}break;
case10026: {Print("Автотрейдинг запрещен сервером");res=false;}break;
case10027: {Print("Автотрейдинг запрещен клиентским терминалом");res=false;}break;
case10028: {Print("Запрос заблокирован для обработки");res=false;}break;
case10029: {Print("Ордер или позиция заморожены");res=false;}break;
case10030: {Print("Указан неподдерживаемый тип исполнения ордера по остатку");res=false;}break;
case10031: {Print("Нет соединения с торговым сервером");}break;
case10032: {Print("Операция разрешена только для реальных счетов");res=false;}break;
case10033: {Print("Достигнут лимит на количество отложенных ордеров");res=false;}break;
case10034: {Print("Достигнут лимит на объем ордеров и позиций для данного символа");res=false;}break;
default: Print("Ошибка № - ",result.retcode);
}
}
A EA foi optimizada no intervalo AB. Acima é uma corrida com estes parâmetros no intervalo AD. Não compreendo o que acontece no ponto C.
Não consigo compreender que o Expert Advisor não seja optimizado praticamente em intervalos de CD. Talvez haja uma mudança em algumas regras comerciais depois 25.10.2010 (ponto C) ou algo mais?
A EA foi optimizada no intervalo AB. Acima é uma corrida com estes parâmetros no intervalo AD. Não compreendo o que acontece no ponto C.
Embora o Expert Advisor não esteja praticamente optimizado no intervalo do CD. Talvez haja uma mudança em algumas das regras comerciais após 25.10.2010 (ponto C) ou algo mais?
Qual é a dimensão média do lucro comercial do Expert Advisor? Algo me diz que é menos de 10 pips.
O problema está provavelmente nos dados históricos - ou é mais penteado (filtrado), ou apenas mais correcto (por exemplo, contém os spreads correctos).
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Moderadores, uma pergunta para si.
Não posso enviar um pedido ao Servicedesk.
E o botão fechar não funciona
Moderadores, uma pergunta para si.
Não posso enviar um pedido ao Servicedesk.
E o botão "Fechar" não funciona
Gostaria de saber se existe uma alternativa ao guião de loop infinito em 5, porque tal guião é muito caprichoso, gostaria que continuasse a funcionar quando reabrir o terminal ou alterar o prazo?
Se estiver satisfeito com a frequência mínima de 1 segundo, então OnTimer, caso contrário
Desde que não haja uma operação de microssegundos no OnTimer.
possível perda de dados devido ao tipo de conversão ChartObject.mqh 481 4
possível perda de dados devido ao tipo de conversão ChartObject.mqh 867 17
possível perda de dados devido ao tipo de conversão ChartObjectsTxtControls.mqh 519 4
Bild 375 - as vornings apareceram em bibliotecas standard. Pode haver mais alguns, ainda não os verifiquei.
Se estiver satisfeito com uma frequência mínima de 1s, então OnTimer, caso contrário
Até ao OnTimer não há nenhuma operação de microssegundo.
Poderia dizer-me, por favor, como sei se um comércio é fechado por um stop loss?
Em MT5 não é a troca que fecha na paragem de perda, mas a posição, no momento em que se pode descobrir apenas pelo comentário da troca que fechou a posição na paragem de perda. Aqui está um código de amostra.
A EA foi optimizada no intervalo AB. Acima é uma corrida com estes parâmetros no intervalo AD. Não compreendo o que acontece no ponto C.
Não consigo compreender que o Expert Advisor não seja optimizado praticamente em intervalos de CD. Talvez haja uma mudança em algumas regras comerciais depois 25.10.2010 (ponto C) ou algo mais?
A EA foi optimizada no intervalo AB. Acima é uma corrida com estes parâmetros no intervalo AD. Não compreendo o que acontece no ponto C.
Embora o Expert Advisor não esteja praticamente optimizado no intervalo do CD. Talvez haja uma mudança em algumas das regras comerciais após 25.10.2010 (ponto C) ou algo mais?
Qual é a dimensão média do lucro comercial do Expert Advisor? Algo me diz que é menos de 10 pips.
O problema está provavelmente nos dados históricos - ou é mais penteado (filtrado), ou apenas mais correcto (por exemplo, contém os spreads correctos).
O que é o servidor?