[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 612

 
xant:

Sim, eu fiz como você escreveu. E não se compila.

Obviamente, eu fiz algo errado, mas o que exatamente não entendo. Você poderia passar por ela passo a passo.

Por interesse, mostre-me minhas funções que você converteu para suas variáveis. E mostre-me o registro com erros de compilação.
 
rigonich:

O primeiro pedido tem um preço aberto de1.2900 e um TP de 1.300. O segundo pedido tem um preço aberto de1.2800 e um TP de 1.290. Estes são parâmetros diferentes. A primeira éBAY, a segunda éBAY_STOP. Estes também são parâmetros diferentes.
Mas você entendeu o ponto, não foi?
 
lottamer:


Você está errado porque simplesmente não entende o ponto. E funciona, e tudo funciona perfeitamente da maneira que eu preciso. Talvez o código pudesse ser simplificado, mas agora não é mais uma questão de gordura... Só preciso terminar a EA inteira e já olhar para o retorno da idéia comercial que ela contém....

Não estou interessado em programar por causa da programação...


Acho que é exatamente isso que você tem - programação por programação. sua função não faz nada além de sobrecarregar a CPU.

Comecei a programar após cinco anos de estudo do mercado, desenvolvendo e experimentando várias estratégias, quando percebi que a estratégia comercial (bem sucedida) desenvolvida por mim e testada manualmente 20 vezes na história, primeiro, não tem análogos, que podem ser encontrados no kodobase, e segundo, mesmo com configurações próximas aos limites das capacidades técnicas, ela estabelece exigências que são impossíveis para os seres humanos, e que podem ser facilmente atendidas mesmo pelo computador mais fraco (por exemplo, ficar com seu computador por uma semana ou mais).

 
yosuf:
Mas você entendeu o ponto?


Basta colocar um pedido pendente com os parâmetros que você deseja.

P.S. No EA -- logo após a abertura do pedido.

 
rigonich:


Basta colocar um pedido pendente com os parâmetros que você deseja.

P.S. No EA -- logo após a abertura do pedido.

O que é o código?
 
yosuf:
Qual é o código?


int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0,arrow_color=CLR_NONE)
A função básica usada para abrir uma posição ou definir uma ordem pendente.
Devolve o número do bilhete que é atribuído ao pedido pelo servidor comercial ou -1 em caso de falha. Para obter mais informações sobre o erro, ligue para GetLastError().
Notas.
Ao abrir uma ordem de mercado (OP_SELL ou OP_BUY), somente os últimos preços Bid (para venda) ou Ask (para compra) podem ser usados como preço de abertura. Se a operação for realizada para um instrumento financeiro, diferente do atual, então para obter as últimas cotações para este instrumento, você deve usar a função MarketInfo() com o parâmetro MODE_BID ou MODE_ASK. Você não pode usar um preço estimado ou não-normalizado. Se o preço de abertura solicitado não estava no fluxo de preços ou o preço solicitado não está normalizado de acordo com o número de casas decimais, será gerado o erro 129 (ERR_INVALID_PRICE). Se o preço de abertura solicitado estiver severamente desatualizado, será gerado um erro 138 (ERR_REQUOTE), independentemente do valor do parâmetro de escorregamento. Se o preço solicitado estiver desatualizado mas ainda estiver presente no fluxo de preços, a posição será aberta ao preço atual e somente se o preço atual cair dentro da faixa preço+deslizamento.

Os preços da StopLoss e TakeProfit podem não estar muito próximos do mercado. A distância mínima de parada em pips pode ser obtida usando a função MarketInfo() com o parâmetro MODE_STOPLEVEL. O erro 130 (ERR_INVALID_STOPS) é gerado em caso de paradas errôneas ou não normalizadas.

Ao fazer um pedido pendente, o preço de abertura não pode estar muito próximo do mercado. A distância mínima do preço pendente do preço de mercado atual em pontos também pode ser obtida usando a função MarketInfo() com o parâmetro MODE_STOPLEVEL. Se o preço pendente do pedido aberto estiver incorreto, será gerado o erro 130 (ERR_INVALID_STOPS).

Em alguns servidores comerciais, pode ser estabelecida uma proibição de expiração de ordens pendentes. Neste caso, um erro 147 (ERR_TRADE_EXPIRATION_DENIED) será gerado ao tentar definir um valor não zero no parâmetro de expiração.

Em alguns servidores comerciais pode ser definido um limite para o número total de ordens abertas e pendentes. Se este limite for ultrapassado, uma nova posição não será aberta (nenhuma ordem pendente será definida) e o servidor comercial retornará o erro 148 (ERR_TRADE_TOO_MANY_ORDERS).
Parâmetros:
símbolo - Nome do instrumento financeiro, com o qual a operação comercial é executada.
cmd - Operação comercial. Pode ser qualquer um dos valores comerciais.
volume - Número de lotes.
preço - Preço de abertura.
escorregamento - Deslize de preço máximo permitido para ordens de mercado (ordens de compra ou venda).
stoploss - O preço de fechamento de uma posição quando a perda é atingida (0 se não houver perda).
takeprofit - O preço fechado de uma posição quando o nível de rentabilidade é alcançado (0 se não houver nível de rentabilidade).
comentário - Encomendar texto de comentário. A última parte do comentário pode ser alterada pelo servidor comercial.
mágica - Número mágico do pedido. Pode ser usado como um identificador definido pelo usuário.
expiração - Tempo de expiração da ordem pendente.
arrow_color - Cor da seta de abertura na tabela. Se o parâmetro estiver faltando ou seu valor for CLR_NONE, a seta de abertura não é mostrada no gráfico.
Exemplo:
 int ticket; if(iRSI(NULL,0,14,PRICE_CLOSE,0)<25) { ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-25*Point,Ask+25*Point, "My order #"+counter,16384,0,Green); if(ticket<0) { Print("OrderSend failed with error #",GetLastError()); return(0); } }
 
lottamer:

e mesmo que seu código tenha dado 24 erros no compilador!!! ainda assim, obrigado até mesmo pela ajuda descuidada.... para a idéia... (agora funciona - embora eu tenha basicamente tentado fazer isso, mas a pontuação falhou)


Eu não tentei compilá-lo, eu apenas coloquei os parênteses! Caso contrário, não funcionariam de forma alguma. Eu mostrei como eles devem ser. O resto da lógica ainda não está clara. Eu me lembro, colocando cada bandeira seguinte, você, perguntou se, ao contrário da condição anterior, enquanto verificava se a bandeira era verdadeira...

Na verdade, meu primeiro comentário o incitou a reconsiderar o que escreveu, verificando a referência.

 
quaisquer dicas para o novato!!!! o conselheiro é desativado no terminal, mas o batente é acionado é possível ?
 
tolik73:
quaisquer dicas para o novato!!!! o conselheiro é desativado no terminal, mas o batente é acionado é possível ?

É claro que sim.
 
tolik73:
quaisquer dicas para o novato!!!! o conselheiro é desativado no terminal, mas o batente é acionado é possível ?

Não é possível, é uma obrigação. O Stop Loss está no servidor e não depende da operação de seu terminal, ao contrário do Stop Trailing.
Razão: