[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 176
COMO VOCÊ CONTARIA O NÚMERO DE POSIÇÕES LONGAS LUCRATIVAS E, SEPARADAMENTE, O NÚMERO DE POSIÇÕES CURTAS LUCRATIVAS?
A estratégia é a seguinte: se o número de posições longas lucrativas desde o início da EA (ou melhor - para todo o histórico da conta) for maior do que o número de posições curtas, então somente as posições longas devem ser abertas. E vice versa.
É claro como contar estes negócios, se eles forem fechados pelo Consultor Especialista: Fechar - Contar. Mas se uma posição é fechada por TP ou SL, então ... ?
Talvez alguém tenha um código pronto da função?
int ProfitableOrdersOfLongs(){
int i,Orders=0;
for(i=0;i<OrdersHistoryTotal();i++){
if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))continue;
if(OrderSymbol()!=Symbol())continue;
if(OrderMagicNumber()!=Magic)continue;
if(OrderType()==0)if(OrderProfit()>0) Orders++;
}
return(Orders);}
//====================================================================================================== int ProfitableOrdersOfShorts(){
int i,Orders=0;
for(i=0;i<OrdersHistoryTotal();i++){
if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))continue;
if(OrderSymbol()!=Symbol())continue;
if(OrderMagicNumber()!=Magic)continue;
if(OrderType()=1)if(OrderProfit()>0) Orders++;
}
return(Orders);}
Você pode me dizer como comparar corretamente o preço atual ou a média móvel com a linha de tendência?
Agradecemos antecipadamente.
Uma linha de tendência tem um ponto inicial com coordenadas tempo-preço e um ponto final com coordenadas tempo-preço.
Você pode usar a equação da linha reta com as mesmas coordenadas para encontrar o nível de preço em qualquer ponto que esteja entre essas duas coordenadas do segmento construído e comparar os níveis de preço do MAA e o ponto de cruzamento da barra desejada com esta linha...
Você pode ler - há uma descrição detalhada de tal exemplo.
Você toma o último pedido fechado, compara seu tempo de fechamento com o anterior usando OrderCloseTime(), se for o mesmo, você o compara com o tempo de fechamento de seu pedido fechado anterior... assim, naturalmente, está tudo em loop - desde o último fechado até o primeiro, você vai um após o outro e compara o tempo de fechamento dos pedidos... Outra coisa - imprima o horário de fechamento das últimas ordens que você conhece de antemão, digamos três ordens , pode ser diferente, mesmo que você o entenda como " simultaneamente", ou seja, como eu o entendo, a ordem fecha a qualquer momento, ou seja Na verdade, o tempo de fechamento de, digamos, três ordens ao mesmo tempo não pode ser o mesmo - tente imprimir() e ver os valores de suas três ordens TIME - seus valores de características OrderCloseTime(), ou seja, podemos ter que introduzir o conceito de TIME de fechamento, ou seja, desvio do tempo de fechamento de várias ordens por algum valor pequeno quando podemos considerar que elas fecharam simultaneamente. Experimentem e vejam por vocês mesmos a partir daqui.
Obrigado que funcionou, mas agora abre uma ordem múltipla
Eu o fiz assim
OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY);//выбрать последний ордер
tik=OrderCloseTime();
for (int l=OrdersHistoryTotal(); l>=0; l--)
{
OrderSelect(l, SELECT_BY_POS, MODE_HISTORY);
if (OrderType()==OP_BUY||OP_SELL)
{
if (OrderMagicNumber()==1)
{
if (OrderProfit()<0)
{
if (OrderClosePrice()!= OrderStopLoss())
{
if (tik<=OrderCloseTime())
{
OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY);//выбрать последний ордер
tik=OrderCloseTime();
for (int l=OrdersHistoryTotal(); l>=0; l--)
{
OrderSelect(l, SELECT_BY_POS, MODE_HISTORY);
if (OrderType()==OP_BUY||OP_SELL)
{
if (OrderMagicNumber()==1)
{
if (OrderProfit()<0)
{
if (OrderClosePrice()!= OrderStopLoss())
{
if (tik<=OrderCloseTime())
{
a = OrdersHistoryTotal();
if (a>w)
{
if (sarik>0)
{
OrderSend(Symbol(),OP_BUY,Lot1,NormalizeDouble(Ask,4),1,Ask - SL1*Point,Ask + 10*Point,0,2);
w++;
}
Você pode me dizer como comparar corretamente o preço atual ou a média móvel com a linha de tendência?
1. if(maH_fast>"Tr_S1") {...} -- erro: maH_fast é um número real, "Tr_S1"- valor do tipo de string; 2. double ObjectGetValueByShift( nome da string, int shift) A função calcula e retorna o valor do preço para a barra especificada (offset da barra atual). O valor do preço é calculado usando a equação linear com base na primeira e segunda coordenadas. Aplica-se a linhas de tendência. Parâmetros: nome - Nome do objeto. turno - Número de barras.
Olá! Tenho esta pergunta... Digamos que iHighest e iLowest podem ser usados para descobrir o número de barras com o valor máximo de alto/baixo por um certo período, mas como posso descobrir o valor máximo do indicador st Dev para um certo número de barras?
Olhei para tudo, fiz de tudo... Não vai abrir uma posição, só isso! Fecha corretamente, mas não abre... Eu não sei o que fazer! Talvez alguém encontre um bug no programa?
Abre e fecha os pedidos em 5 min. EURUSD corretamente. Pequenos problemas de modificação, muitas vezes tentam modificar com os mesmos valores, portanto erros freqüentes.
2)Há uma ordem de encomenda(...) em aberto. Tem SL e TP. Como condição adicional à parada e perda, temos que definir a ordem para viver a partir do momento em que foi aberta até 18 horas, e depois fechá-la ao preço atual.
Isto significa que uma das três condições deve ser cumprida:
1. uma parada de perda é acionada
ou
2. O lucro é acionado
ou
Como nem Stop Loss nem Take Profit foram acionados, a posição é fechada 18 horas após sua abertura ao preço então vigente.
Eis como definir esta condição de tempo, eh????
Pergunta 2:
Como soletrar corretamente a condição de que o evento deve ocorrer se( período de 1 dia):
- O fechamento da barra atual é maior que C da barra anterior e maior que C da barra anterior, e C da barra anterior também é maior que C da barra anterior.
Não se preocupe, por favor. Eu estava sentado no Rumus antes e estou em processo de reconstrução...
Você pode me dizer como comparar corretamente o preço atual ou a média móvel com a linha de tendência?
Agradecemos antecipadamente.
COMO VOCÊ CONTARIA O NÚMERO DE POSIÇÕES LONGAS LUCRATIVAS E, SEPARADAMENTE, O NÚMERO DE POSIÇÕES CURTAS LUCRATIVAS?
A estratégia é a seguinte: se o número de posições longas lucrativas desde o início da EA (ou melhor - para todo o histórico da conta) for maior do que o número de posições curtas, então somente as posições longas devem ser abertas. E vice versa.
É claro como contar estes negócios, se eles forem fechados pelo Consultor Especialista: Fechar - Contar. Mas se uma posição é fechada por TP ou SL, então ... ?
Talvez alguém tenha um código pronto da função?
Você pode me dizer como comparar corretamente o preço atual ou a média móvel com a linha de tendência?
Agradecemos antecipadamente.
Uma linha de tendência tem um ponto inicial com coordenadas tempo-preço e um ponto final com coordenadas tempo-preço.
Você pode usar a equação da linha reta com as mesmas coordenadas para encontrar o nível de preço em qualquer ponto que esteja entre essas duas coordenadas do segmento construído e comparar os níveis de preço do MAA e o ponto de cruzamento da barra desejada com esta linha...
Você pode ler - há uma descrição detalhada de tal exemplo.
Você toma o último pedido fechado, compara seu tempo de fechamento com o anterior usando OrderCloseTime(), se for o mesmo, você o compara com o tempo de fechamento de seu pedido fechado anterior... assim, naturalmente, está tudo em loop - desde o último fechado até o primeiro, você vai um após o outro e compara o tempo de fechamento dos pedidos... Outra coisa - imprima o horário de fechamento das últimas ordens que você conhece de antemão, digamos três ordens , pode ser diferente, mesmo que você o entenda como " simultaneamente", ou seja, como eu o entendo, a ordem fecha a qualquer momento, ou seja Na verdade, o tempo de fechamento de, digamos, três ordens ao mesmo tempo não pode ser o mesmo - tente imprimir() e ver os valores de suas três ordens TIME - seus valores de características OrderCloseTime(), ou seja, podemos ter que introduzir o conceito de TIME de fechamento, ou seja, desvio do tempo de fechamento de várias ordens por algum valor pequeno quando podemos considerar que elas fecharam simultaneamente. Experimentem e vejam por vocês mesmos a partir daqui.
Obrigado que funcionou, mas agora abre uma ordem múltipla
Eu o fiz assim
Obrigado, mas agora um pedido múltiplo se abre.
Eu o fiz assim
Problema resolvido. Obrigado a todos vocês.
Você pode me dizer como comparar corretamente o preço atual ou a média móvel com a linha de tendência?
2. double ObjectGetValueByShift( nome da string, int shift)
A função calcula e retorna o valor do preço para a barra especificada (offset da barra atual). O valor do preço é calculado usando a equação linear com base na primeira e segunda coordenadas. Aplica-se a linhas de tendência.
Parâmetros:
nome - Nome do objeto.
turno - Número de barras.
Olhei para tudo, fiz de tudo... Não vai abrir uma posição, só isso! Fecha corretamente, mas não abre... Eu não sei o que fazer! Talvez alguém encontre um bug no programa?
Abre e fecha os pedidos em 5 min. EURUSD corretamente. Pequenos problemas de modificação, muitas vezes tentam modificar com os mesmos valores, portanto erros freqüentes.
Olá a todos. Ajuda para um iniciante, por favor:
Resumindo.
1)período é de 1 dia.
2)Há uma ordem de encomenda(...) em aberto. Tem SL e TP. Como condição adicional à parada e perda, temos que definir a ordem para viver a partir do momento em que foi aberta até 18 horas, e depois fechá-la ao preço atual.
Isto significa que uma das três condições deve ser cumprida:
1. uma parada de perda é acionada
ou
2. O lucro é acionado
ou
Como nem Stop Loss nem Take Profit foram acionados, a posição é fechada 18 horas após sua abertura ao preço então vigente.
Eis como definir esta condição de tempo, eh????
Pergunta 2:
Como soletrar corretamente a condição de que o evento deve ocorrer se( período de 1 dia):
- O fechamento da barra atual é maior que C da barra anterior e maior que C da barra anterior, e C da barra anterior também é maior que C da barra anterior.
Não se preocupe, por favor. Eu estava sentado no Rumus antes e estou em processo de reconstrução...