Procurei em todas as funções e operadores - não consigo encontrar, e se existe uma, não consigo ver a função que modificaria todas as posições em aberto,
que modificaria todas as posições abertas de uma só vez, ao invés de uma posição selecionada a cada tique.
Nesta linha eu colocarei os códigos de minhas funções na MQL4, darei exemplos de seu uso e responderei perguntas relacionadas ao seu uso. Cada função será publicada em dois posts. O primeiro post conterá o código de função, o segundo - exemplos de uso e breves explicações. Às vezes eu anexarei o código de um script ao segundo post para realmente testar a função e exibir os resultados.
ipm писал(а) >> Igor. Bom dia. Você pode desenhar um problema simples para você: definir a que preço a linha de sinal atravessará MACD, ou em outras palavras, o histograma MACD se tornará igual a zero.
Olá Oleg!
Eu não resolvi tais problemas na prática. E teoricamente, tenho uma vaga idéia de como fazer isso. Provavelmente, os valores de makdac são tomados como x e o preço como x e então a função y=f(x) representará a dependência dos valores de makdac em relação ao preço. Se fosse assim tão simples, poderíamos inverter a função y=f(x) expressando x através de ypc x=F(y). Mas a dificuldade é que a função y=f(x) depende de mais de um x. Faltei a estas palestras na universidade :-)
mozg писал(а)>> Você pode aconselhar como fechar o pedido ao preço de fechamento da barra atual? Ou seja, o bar fecha junto com o pedido.
staticdatetime prevTimeOpen=0if( prevTimeOpen>0&& prevTimeOpen<Time[0]){for( цикл перебора позиций){if( выбрана позиция, которую надо закрыть){OrderClose(...);}}}
prevTimeOpen=Time[0];
Procurei em todas as funções e operadores - não consigo encontrar, e se existe uma, não consigo ver a função que modificaria todas as posições em aberto,
que modificaria todas as posições abertas de uma só vez, ao invés de uma posição selecionada a cada tique.
Se você não se importa - por favor, avise.
Não creio que tais ações sejam apropriadas. Afinal de contas, cada posição geralmente tem parâmetros individuais. Então você seleciona um, específico...
Retorna o nome do dia da semana com base no número passado como parâmetro:
ndw - Número do dia da semana. Parâmetro necessário.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 01.09.2005 |//| Описание : Возвращает наименование дня недели |//+----------------------------------------------------------------------------+//| Параметры: |//| ndw - номер дня недели |//+----------------------------------------------------------------------------+string NameDayOfWeek(int ndw){if( ndw==0)return("Воскресенье");if( ndw==1)return("Понедельник");if( ndw==2)return("Вторник");if( ndw==3)return("Среда");if( ndw==4)return("Четверг");if( ndw==5)return("Пятница");if( ndw==6)return("Суббота");}
Esta função retorna o valor normalizado do lote sendo negociado. Além da normalização, a função se ajusta ao tamanho do lote dentro dos limites especificados pelo centro de negociação (os valores mínimo e máximo do lote e a etapa de mudança de lote são verificados). A função NormalizeLot() aceita os seguintes parâmetros:
lo - NormalizarValor da lote. Parâmetro necessário.
ro - Método de arredondamento. Falso - para o lado menor, Verdadeiro - para o lado maior. Valor por defeito - Falso - para o lado inferior.
sy - Nome do instrumento comercial. NULL ou "" - símbolo atual. Valor padrão - "".
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 16.05.2008 |//| Описание : Возвращает нормализованное значение торгуемого лота. |//+----------------------------------------------------------------------------+//| Параметры: |//| lo - нормализуемое значение лота. |//| ro - способ округления ( False - в меньшую, |//| True - в большую сторону) |//| sy - наименование инструмента ("" или NULL - текущий символ) |//+----------------------------------------------------------------------------+double NormalizeLot(double lo,bool ro= False,string sy=""){double l, k;if( sy==""|| sy=="0") sy=Symbol();double ls=MarketInfo( sy,MODE_LOTSTEP);double ml=MarketInfo( sy,MODE_MINLOT);double mx=MarketInfo( sy,MODE_MAXLOT);if( ml==0) ml=0.1;if( mx==0) mx=100;if( ls>0) k=1/ ls;else k=1/ ml;if( ro) l=MathCeil( lo* k)/ k;else l=MathFloor( lo* k)/ k;if( l< ml) l= ml;if( l> mx) l= mx;return( l);}
SZZ. Anexado um roteiro para testar a função NormalizeLot().
Olá Igor,
Você poderia me dizer qual operador substituir este em mql4 - OrderValue(cnt,VAL_TYPE)=OP_BUY (mql3).
Agradecemos antecipadamente.
Olá Igor.
Procurei em todas as funções e operadores - não consigo encontrar, e se existe uma, não consigo ver a função que modificaria todas as posições em aberto,
que modificaria todas as posições abertas de uma só vez, ao invés de uma posição selecionada a cada tique.
Se você não se importa, por favor, me aconselhe.
Nesta linha eu colocarei os códigos de minhas funções na MQL4, darei exemplos de seu uso e responderei perguntas relacionadas ao seu uso. Cada função será publicada em dois posts. O primeiro post conterá o código de função, o segundo - exemplos de uso e breves explicações. Às vezes eu anexarei o código de um script ao segundo post para realmente testar a função e exibir os resultados.
Começarei com funções para lidar com os pedidos de acordo com o pedido de Lukyanov no tópico "Como executar dois EAs ao mesmo tempo" no final.
Que a primeira função seja a função de ajuste de ordem (versão para o testador MT4):
Olá Igor, você está familiarizado com AlterTrader? Se sim, você poderia me dizer as respostas a 3 ou 4 das minhas perguntas?
Igor. Bom dia.
Você pode desenhar um problema simples para você:
definir a que preço a linha de sinal atravessará MACD, ou em outras palavras, o histograma MACD se tornará igual a zero.
Olá Oleg!
Eu não resolvi tais problemas na prática. E teoricamente, tenho uma vaga idéia de como fazer isso. Provavelmente, os valores de makdac são tomados como x e o preço como x e então a função y=f(x) representará a dependência dos valores de makdac em relação ao preço. Se fosse assim tão simples, poderíamos inverter a função y=f(x) expressando x através de ypc x=F(y). Mas a dificuldade é que a função y=f(x) depende de mais de um x. Faltei a estas palestras na universidade :-)
Olá Igor,
Você poderia me dizer qual operador substituir este em mql4 - OrderValue(cnt,VAL_TYPE)=OP_BUY (mql3).
Agradecemos antecipadamente.
Aparentemente, será OrderType().
Você pode aconselhar como fechar o pedido ao preço de fechamento da barra atual? Ou seja, o bar fecha junto com o pedido.
Olá Igor.
Procurei em todas as funções e operadores - não consigo encontrar, e se existe uma, não consigo ver a função que modificaria todas as posições em aberto,
que modificaria todas as posições abertas de uma só vez, ao invés de uma posição selecionada a cada tique.
Se você não se importa - por favor, avise.
Não creio que tais ações sejam apropriadas. Afinal de contas, cada posição geralmente tem parâmetros individuais. Então você seleciona um, específico...
E o que exatamente você quer modificar?
Função NameDayOfWeek()
Retorna o nome do dia da semana com base no número passado como parâmetro:
A função NormalizeLot().
Esta função retorna o valor normalizado do lote sendo negociado. Além da normalização, a função se ajusta ao tamanho do lote dentro dos limites especificados pelo centro de negociação (os valores mínimo e máximo do lote e a etapa de mudança de lote são verificados). A função NormalizeLot() aceita os seguintes parâmetros:
SZZ. Anexado um roteiro para testar a função NormalizeLot().