Tenho um problema com a função StringConcatenate() na MQL4. Um bloco de zeros aparece na corda. Isto pode ser visto quando se envia a cadeia de resumo para um ficheiro.
Tenho um problema com a função StringConcatenate() na MQL4. Um bloco de zeros aparece na corda. Isto pode ser visto quando se envia a cadeia de resumo para um ficheiro.
Obrigado pelo correio, fixado. A reparação será incluída na próxima construção.
Por favor explique porque é que no separador Negociação os preços actuais (esta é a coluna Preço à direita do SL/TP - não confundir com o preço aberto à esquerda do SL/TP!) para posições de mercado e ordens pendentes são mostrados de forma diferente para o mesmo instrumento, do mesmo tipo (por exemplo, comprar)? Em teoria, o preço actual do símbolo deve ser o mesmo, pelo menos para várias ordens em aberto ele muda de forma síncrona (coincide).
marketeer: Por favor explique porque é que no separador Negociação os preços actuais (esta é a coluna Preço à direita do SL/TP - não confundir com o preço aberto à esquerda do SL/TP!) para posições de mercado e ordens pendentes são mostrados de forma diferente para o mesmo instrumento, do mesmo tipo (por exemplo, comprar)? O preço actual no símbolo deve ser o mesmo, pelo menos para várias ordens em aberto ele muda de forma síncrona (coincide).
Porque há um preço Bid e há um preço Ask:
Na imagem, há uma posição aberta(venda) e há duas ordens pendentes(limite de venda e limite de compra). Para uma posição aberta(venda) é especificado o preço actual Ask. Para umlimite de venda é especificado o preço actual Bid. Para limite de compra é especificado o preçoAsk actual.
Não tenho separador "Calendário". Terminal MetaTrader 5 x64 construir 946 iniciado (MetaQuotes Software Corp.). Conta demo no servidor MetaQuotes-Demo. Além disso, existem várias contas reais no terminal.
E só falta no portátil. Numa tabuleta e num PC, existe um separador Calendário.
Ao iniciar MT4 no indicador, init() falha porque MarketInfo(xxx, MODE_TICKVALUE) retorna zero (para todos os símbolos). É evidente que o valor do tick está ligado à moeda da conta, mas o terminal exibe janelas mesmo antes do login. Acontece então que nenhum guião ligado a um valor funcionará correctamente? Isto é uma característica ou um bug?
marketeer: Quando se inicia MT4 no indicador, init() não tem lugar, porque MarketInfo(xxx, MODE_TICKVALUE) retorna zero (para todos os símbolos). É evidente que o valor do tick está ligado à moeda da conta, mas o terminal exibe janelas mesmo antes do login. Acontece então que nenhum guião ligado a valores funcionará correctamente? Isto é uma característica ou um bug?
MetaTrader 4. Versão: 4.00 Build 654.
Tente usar Symbol( ) em vez de xxx e use OnInit() em vez de init():
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mapping//--- превращение динамических массивов в индикаторные буферыSetIndexBuffer(0,ExtMapBufferEMA,INDICATOR_DATA);
//--- MarketInfoPrint("Symbol=",Symbol());
Print("Минимальная дневная цена=",MarketInfo(Symbol(),MODE_LOW));
Print("Максимальная дневная цена=",MarketInfo(Symbol(),MODE_HIGH));
Print("Время поступления последней котировки=",(MarketInfo(Symbol(),MODE_TIME)));
Print("Последняя поступившая цена предложения=",MarketInfo(Symbol(),MODE_BID));
Print("Последняя поступившая цена продажи=",MarketInfo(Symbol(),MODE_ASK));
Print("Размер пункта в валюте котировки=",MarketInfo(Symbol(),MODE_POINT));
Print("Количество цифр после запятой в цене инструмента=",MarketInfo(Symbol(),MODE_DIGITS));
Print("Спрэд в пунктах=",MarketInfo(Symbol(),MODE_SPREAD));
Print("Минимально допустимый уровень стоп-лосса/тейк-профита в пунктах=",MarketInfo(Symbol(),MODE_STOPLEVEL));
Print("Размер контракта в базовой валюте инструмента=",MarketInfo(Symbol(),MODE_LOTSIZE));
Print("Размер минимального изменения цены инструмента в валюте депозита=",MarketInfo(Symbol(),MODE_TICKVALUE));
Print("Минимальный шаг изменения цены инструмента в пунктах=",MarketInfo(Symbol(),MODE_TICKSIZE));
Print("Размер свопа для ордеров на покупку=",MarketInfo(Symbol(),MODE_SWAPLONG));
Print("Размер свопа для ордеров на продажу=",MarketInfo(Symbol(),MODE_SWAPSHORT));
Print("Календарная дата начала торгов (фьючерсы)=",MarketInfo(Symbol(),MODE_STARTING));
Print("Календарная дата окончания торгов (фьючерсы)=",MarketInfo(Symbol(),MODE_EXPIRATION));
Print("Разрешение торгов по указанному инструменту=",MarketInfo(Symbol(),MODE_TRADEALLOWED));
Print("Минимальный размер лота=",MarketInfo(Symbol(),MODE_MINLOT));
Print("Шаг изменения размера лота=",MarketInfo(Symbol(),MODE_LOTSTEP));
Print("Максимальный размер лота=",MarketInfo(Symbol(),MODE_MAXLOT));
Print("Метод вычисления свопов=",MarketInfo(Symbol(),MODE_SWAPTYPE));
Print("Способ расчета прибыли=",MarketInfo(Symbol(),MODE_PROFITCALCMODE));
Print("Способ расчета залоговых средств=",MarketInfo(Symbol(),MODE_MARGINCALCMODE));
Print("Начальные залоговые требования для 1 лота=",MarketInfo(Symbol(),MODE_MARGININIT));
Print("Размер залоговых средств для поддержки открытых ордеров в расчете на 1 лот=",MarketInfo(Symbol(),MODE_MARGINMAINTENANCE));
Print("Маржа, взимаемая с перекрытых ордеров в расчете на 1 лот=",MarketInfo(Symbol(),MODE_MARGINHEDGED));
Print("Размер свободных средств, необходимых для открытия 1 лота на покупку=",MarketInfo(Symbol(),MODE_MARGINREQUIRED));
Print("Уровень заморозки ордеров в пунктах=",MarketInfo(Symbol(),MODE_FREEZELEVEL));//---return(INIT_SUCCEEDED);
}
Qualquer pessoa com problemas ou perguntas sobre a contabilidade de conversão do programa de afiliados - escreva-me, eu testá-lo-ei:
Tenho um problema com a função StringConcatenate() na MQL4. Um bloco de zeros aparece na corda. Isto pode ser visto quando se envia a cadeia de resumo para um ficheiro.
Aqui está o que o terminal escreve
2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily: 3872 3872 ???????????????
2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily: 3856 3856 ???????????????
2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily: 3840 3840 ???????????????
2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily: 3824 3824 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123
2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily: 3808 3808 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123
2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily: 3792 3792 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123
Tenho um problema com a função StringConcatenate() na MQL4. Um bloco de zeros aparece na corda. Isto pode ser visto quando se envia a cadeia de resumo para um ficheiro.
Por favor explique porque é que no separador Negociação os preços actuais (esta é a coluna Preço à direita do SL/TP - não confundir com o preço aberto à esquerda do SL/TP!) para posições de mercado e ordens pendentes são mostrados de forma diferente para o mesmo instrumento, do mesmo tipo (por exemplo, comprar)? O preço actual no símbolo deve ser o mesmo, pelo menos para várias ordens em aberto ele muda de forma síncrona (coincide).
Porque há um preço Bid e há um preço Ask:
Na imagem, há uma posição aberta(venda) e há duas ordens pendentes(limite de venda e limite de compra). Para uma posição aberta(venda) é especificado o preço actual Ask. Para umlimite de venda é especificado o preço actual Bid. Para limite de compra é especificado o preçoAsk actual.
E só falta no portátil. Numa tabuleta e num PC, existe um separador Calendário.
Quando se inicia MT4 no indicador, init() não tem lugar, porque MarketInfo(xxx, MODE_TICKVALUE) retorna zero (para todos os símbolos). É evidente que o valor do tick está ligado à moeda da conta, mas o terminal exibe janelas mesmo antes do login. Acontece então que nenhum guião ligado a valores funcionará correctamente? Isto é uma característica ou um bug?
MetaTrader 4. Versão: 4.00 Build 654.
Tente usar Symbol( ) em vez de xxx e use OnInit() em vez de init():