[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 158

 
Xaoss1990:

Ajude, por favor... Eu tenho lutado por dias....

Onde está o código? Como posso ajudar?
 
Roger:
Onde está o código? Como posso ajudar?

Aqui está uma parte do código onde fazemos acordos:

//+
+
//+ CLOSE A POINT +
//+ + if (POINT_BUY_M15 >= Strgh_UP_M15 &&& POINT_BUY_H1 >= Strgh_UP_H1 && POINT_BUY_H4 >= Strgh_UP_H4 && OrderTotal() == 0)
{
ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 5, 0, 0, "Meu pedido #", 111, 0, Azul);
if(ticket < 0)
{
Imprimir("Pedido não definido. Erro - #",GetLastError());
return(0);
}
}

//+------------------------------------------------------------------+
//+-------------------------СТАВИМ СПОП ЛОСС-------------------------+
//+------------------------------------------------------------------+
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
Magic = OrderMagicNumber();

if (POINT_BUY_M15 < Strgh_UP_M15 || POINT_BUY_H1 < Strgh_UP_H1 || POINT_BUY_H4 < Strgh_UP_H4 && OrderTotal() == 1 && Magic == 111 && OrderType( ) == 0)
{
close = 1;
}
if (fechar == 1)
{
if (OrderClose(OrderTicket(), lots, Bid, 5, Yellow) == verdadeiro) Alerta("OrderTicket() = ", OrderTicket(), ", lots = ", lots, ", Bid = ", Bid);
else Imprimir ("Stop not set;)

}

//+
+
//+ CONCLAIM SALE
+ //+------------------------------------------------------------------+ if (POINT_SELL_M15 >= Strgh_DOWN_M15 && POINT_SELL_H1 >= Strgh_DOWN_H1 && POINT_SELL_H4 >= Strgh_DOWN_H4 && OrderTotal() == 0)
{
ticket = OrderSend(Symbol(), OP_SELL, lots, Bid, 5, 0, 0, 0, 0, "My order #", 222, 0, Green);
if(ticket < 0)
{
Print("Order not set. Erro - #",GetLastError());
return(0);
}
}
///------------------------------------------------Print parameters to select
//Print("Sell M15 = ", POINT_SELL_M15, ", Sell H1 = ", POINT_SELL_H1, ", Sell H4 = ", POINT_SELL_H4, ", order number = ", ticket);
//------------------------------------------------Печать параметров на выбор----------------------------------------------------

//+------------------------------------------------------------------+
//+-------------------------СТАВИМ СПОП ЛОСС-------------------------+
//+------------------------------------------------------------------+
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
Magic = OrderMagicNumber();

if (POINT_SELL_M15 < Strgh_DOWN_M15 || POINT_SELLL_H1 < Strgh_DOWN_H1 || POINT_SELLL_H4 < Strgh_DOWN_H4 && OrderTotal() == 1 && Magic == 222 && OrderType( ) == 1)
{
close = 1;
}
se (fechar == 1)
{
OrderClose(OrderTicket(), lots, Ask, 5, Red);
}

 
Esta não é a parte do código onde poderia haver um erro.
 
Roger:
Esta não é a parte do código onde poderia haver um erro.

em.... e o resto do código é calcular valores ( POINT_BUY_M15, POINT_BUY_H, POINT_BUY_H4, POINT_SELLL_M15, POINT_SELLL_H, POINT_SELLL_H4 ) para fazer negócios, funciona corretamente... Eu verifiquei. é simples lá....

 
Se o erro estivesse aqui, os registros diriam "Stop not set", mas este não é o caso.
 
Por favor, informe. Uma ordem foi aberta por uma determinada condição e fechada por uma rede de arrasto. Como fazer uma posição para não ser aberto novamente sobre esta vela, se a condição for verdadeira.
 

Uma condição na função init está sendo verificada:

...
extern int proc_zahlest=50;

int init() 
{
if (proc_zahlest>100)
{
Alert("Параметр proc_zahlest д.б. <100% !!!");
}
return(0);
}

Como parar o indicador de funcionamento (impedir que a função de partida funcione) se proc_zahlest>100

 
prom18:
Por favor, informe. Uma ordem foi aberta por uma determinada condição e fechada por uma rede de arrasto. Como posso fazer uma posição para não ser aberto novamente nesta vela se a condição for verdadeira.


Se apenas um pedido pode ser aberto, é fácil

start()
{
static int newbar;
if(newbar==Time[0])return(0);
if(OrdersTotal()>0)newbar=Time[0];
...
 
Roger:


Se apenas um pedido pode ser aberto, é fácil

Por favor, explique em palavras a lógica do que está escrito.
 
prom18:
Favor explicar por palavras a lógica do que está escrito.

Quando uma ordem é aberta, à variável newbar é atribuído o valor do tempo de abertura da barra atual. Nos próximos tiques, até a nova barra, a EA será bloqueada. Se a ordem ainda não tiver sido fechada, a operação se repete. E assim continuamos fazendo isso até o fechamento do pedido. Então, no próximo bar, o Expert Advisor está pronto para novas aberturas.