[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 329

 
Zhunko:

Infelizmente, todas as variantes sem DDE estão condenadas a perder carrapatos das embalagens. Eles podem ser recuperados por aproximação, mas isto não é muito bom.

Há uma opção para recuperar via DDE diretamente da Exel.


Vadim, obrigado. Vou dar uma olhada.
 
granit77:
1. https://www.mql5.com/ru/articles/1368
2. https://www.mql5.com/ru/forum/100028/page58#94290

E, como primeira aproximação, isso é suficiente.

Victor, obrigado do fundo do meu coração. Com certeza vou analisar este artigo e as recomendações de Rosh.
 

Olá a todos! Tentativa #3 :))

Prezados Profissionais!!!

Olhe, por favor, eu não entendo qual é o problema. Ao tentar fazer um pedido pendente, são feitos dois pedidos.

enquanto (Ticket2<0)

{

RefreshRates();

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,",MN); //1 pedido está pendente Comprar

Alerta ("Error in Cycle",GetLastError())); Alerta ("TIK2= ",Ticket2;)

Sleep(500);

}

Agradecemos antecipadamente a todos que responderem.

 
demlin:

Olá a todos! Tentativa #3 :))

Prezados Profissionais!!!

Olhe, por favor, eu não entendo qual é o problema. Ao tentar colocar um pedido pendente, dois são colocados.

enquanto (Ticket2<0)

{

RefreshRates();

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,",MN); //1 pedido está pendente Comprar

Alerta ("Error in Cycle ",GetLastError())); Alerta ("TIK2= ",Ticket2;)

Sleep(500);

}

Agradecemos antecipadamente a todos que responderem.


Adicionar bandeiras ( presença de ordem pendente) em condição ao número do bilhete, ou seja, primeiro bandeira - falsa, depois em condição - enquanto bilhete < 0 e bandeira==falsa - colocar bandeira pendente e colocar bandeira em verdadeira. Após a ordem pendente ser acionada no mercado ou apagar a ordem pendente - reinicializar a bandeira para falsa. Tente desta forma...
 

Há esta questão: como exibir o preço nas bordas da linha de tendência. Ou ter o marcador de preço da direita (esquerda) magnetizado para a linha de tendência ou para a barra baixa (alta), como a própria linha de tendência faz. Eu gostaria de usar as ferramentas padrão de mapeamento MT4. Mas se isso não for possível, talvez eu precise de um indicador que prenda as etiquetas de preços da direita (esquerda) a todas as linhas de tendência na janela (eu uso 4 linhas de tendência e todas precisam de preços nas bordas)? A linha Trendline é sem viga e as bordas são fixadas em barras altas ou baixas - naturalmente manualmente. Uma cadeia de quatro linhas de tendência é semelhante ao indicador ZigZag. Não tenho experiência em indicadores escritos. Na verdade, estou escrevendo por causa disso. Não tenho experiência em indicadores escritos.

 
demlin:

Olá a todos! Tentativa #3 :))

Prezados Profissionais!!!

Olhe, por favor, eu não entendo qual é o problema. Ao tentar colocar um pedido pendente, dois são colocados.

enquanto (Ticket2<0)

{

RefreshRates();

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,",MN); //1 pedido está pendente Comprar

Alerta ("Error in Cycle ",GetLastError())); Alerta ("TIK2= ",Ticket2;)

Sleep(500);

}

Agradecemos antecipadamente, se me permitem responder.

A lógica é muito simples:

Se não houver nenhuma ordem pendente com o tipo certo, então, estabeleça-a. É TUDO...

 

Tenho uma pergunta, há um certo indicador que dá um sinal quando uma determinada condição é atingida,

Minha pergunta é como fazê-lo abrir uma ordem ao invés de um sinal,

Aqui está o código para o sinal e a mensagem

if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){
         Alert("Открываем Селл ",Symbol()," ",Period());
        alertTag = Time[0];

Eu tentei colocar apenas um lugar para que o alerta de abertura não funcionasse,

Se eu tiver um EA com descrição do que anexar do indicador, ficarei muito grato.

 
FoxUA:

Tenho uma pergunta, há um certo indicador que dá um sinal quando uma determinada condição é atingida,

Minha pergunta é como fazê-lo abrir uma ordem ao invés de um sinal,

Aqui está o código para o sinal e a mensagem

if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){
         Alert("Открываем Селл ",Symbol()," ",Period());
        alertTag = Time[0];

Eu tentei colocar apenas um lugar para que o alerta de abertura não funcionasse,

Se eu não soubesse como fazer um pedido, não daria um alerta e nunca daria um alerta.

O indicador não pode abrir ordens. Este é o trabalho da EA. Se este código pertence ao indicador, temos que escrever os dados em seu buffer criado especialmente para estes dados. Quando não há sinal, um zero ou um valor vazio é escrito no buffer e quando há um sinal (como no seu exemplo), em vez de Alert(); escreva o valor no buffer.
Por exemplo:
+1 para Comprar e
-1 para Vender.
Em seguida, leia os dados do buffer no Expert Advisor usando iCustom();.

Ou escreva todas estas condições diretamente no Consultor Especialista.

 

Bom dia!

Você pode me aconselhar, eu abro o pedido todos os dias

Magic_b+++; OrderSend (Symbol(), OP_BUY, Loot,Ask, 50, SL, TP,NULL,Magic_b,0,L) (ou Magic_s+++; OrderSend (Symbol(), OP_BUY, Loot,Bid, 50, SL, TP,NULL,Magic_s,0,L; dependendo das condições);

Quero fechar um pedido aberto todos os dias a uma determinada hora. Para isso, utilizo o seguinte esquema (exceto às sextas-feiras)

if ((DayOfWeek () == 1) |||| (DayOfWeek () == 2) ||| (DayOfWeek () == 3) ||| (DayOfWeek () == 4 ))

{if (((timecur > "23:59:00") && (timecur < "23:59:04")) && (iOpen(Symbol (), PERIOD_H4, 0)

!= iOpen(Símbolo (), PERÍODO_D1, 0))

{if (iOpen(Symbol (), PERIOD_H4, 0) > iOpen(Symbol (), PERIOD_D1, 0))

{Alerta ("preço é mais alto");

for(i=OrdensTotal()-1;i>=0;i--)

{ OrderSelect(i, SELECT_BY_POS

if(OrderMagicNumber()==Magic_b)

{Alerta ("Orderticket",OrderTicket();

OrderClose(OrderTicket(),Loot,Bid,80,R);

Alerta ("GetLastError");

Controle = 0;

Magic_b+++;

} } }

se (((timecur > "22:59:00") && (timecur < "22:59:04")) && (iOpen(Symbol (), PERIOD_H4, 0)

!= iOpen(Símbolo (), PERÍODO_D1, 0))

{if (iOpen(Symbol (), PERIOD_H4, 0) < iOpen(Symbol (), PERIOD_D1, 0))

{Alerta (" preço é mais alto");

for(i=OrdensTotal()-1;i>=0;i--)

{ OrderSelect(i, SELECT_BY_POS

if(OrderMagicNumber()==Magic_s)

{Alerta ("Orderticket",OrderTicket();

OrderClose(OrderTicket(),Loot,Ask,80,R);

Alerta(GetLastError);

Controle = 0;

Magic_s+++;

} } } } }

Mas no testador por alguma razão não está fechado todos os dias (por exemplo, nos testes de 23.08-23.10 2010) fechou apenas 27.09. E 24.08, apesar do fato de que não implementado nytp,no SL- comércio não está fechado. já no terceiro dia dor de cabeça, eu não consigo pensar o que está errado. por favor, ajude

P.S. condição de entrada sempre coincide com uma condição de fechamento (exceto, é claro, é possível admitir que aqui a hora de 22 de outubro é 22:01:00)

 
Talvez porque o alcance é muito pequeno, apenas 4 segundos? Há poucos carrapatos na barra neste momento e o testador pode não atingir o intervalo estabelecido.
Razão: