Pergunte! - página 29

 
Yannis:
Dave,

Tente mudar seu código para seguir o snippet e me avise se isso fez o truque.

Yannis

int i=0;

para (int cnt=OrdensTotal()-1;cnt>=0;cnt--)

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && ( OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Ponto),Bid-(20*Ponto),Cyan); //Modify stop loss and take profit

retorno(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && ( OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit

retorno(0);

}

retorno(0);

}

}

Tenho um problema com isso sempre modificando os negócios no backtester uma e outra vez. Como faço para modificar os ofícios uma vez. Como o programa vai dormir, as únicas trocas que precisam ser modificadas são quaisquer trocas ainda abertas.

Veja em anexo .Gif dos resultados do Backtest. Estou tão perto de acertar isso - Por favor, avise!! Eu uso esta modificação Take Profit e Stop Loss em conjunto com o modo de dormir. Por favor, veja o código abaixo

int start()

{

se (UseHourTrade)

{

int a=0;

int b=0;

int c=0;

if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;

if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;

if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;

if(a===1 && b===1 && c===1)

{

Comentário(

"\n", *VISOR SOLAR EXPERIOR DE VINHOS *",

"\n",

"\n", " - PROGRAMA EM CICLO DE SLEEP - ",

"\n",

"\n"," > HORAS NÃO-TRADAS! <");

///////////////////MODIFICAR PARAR AS PERDAS E TER LUCRO NO INÍCIO DO CICLO DO SONO /////////////////

int h=0;

para (int cnt1=OrdensTotal()-1;cnt1>=0;cnt1--)

OrderSelect(h, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Ponto),Bid-(20*Ponto),Cyan); //Modify stop loss and take profit

retorno(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit

retorno(0);

}

retorno(0);

}

}

Dave<<<

POR FAVOR OLHE A MINIATURA ANEXA!

Arquivos anexados:
 

para (int cnt1=OrdensTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

faça com que conte o mesmo número

 

Não entendo. Como faço para corrigir este erro? Talvez eu veja - Deixe-me mudar a cnt1 para h. Estou correto?

Dave

<<

 
phoenix:
seu OrderSelect() não contou com base no loop em execução

int start()

{

se (UseHourTrade)

{

int a=0;

int b=0;

int c=0;

if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;

if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;

if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;

if(a===1 && b===1 && c===1)

{

Comentário(

"\n", *VISOR SOLAR EXPERIOR DE VINHOS *",

"\n",

"\n", " - PROGRAMA EM CICLO DE SLEEP - ",

"\n",

"\n"," > HORAS NÃO-TRADAS! <");

///////////////////MODIFICAR PARAR AS PERDAS E TER LUCRO NO INÍCIO DO CICLO DO SONO /////////////////

//int h=0;

para (int h=OrdensTotal()-1;h>=0;h--)

OrderSelect(h, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Ponto),Bid-(20*Ponto),Cyan); //Modify stop loss and take profit

retorno(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit

retorno(0);

}

retorno(0);

}

}

///////////////////////////////////////////////////////////////////////////////////////

Fizeram as mudanças, mas ainda recebendo um loop constante de modificações versus uma mudança única.

Aconselhe novamente, por favor!

Diga-nos, por favor

<<<

 

Favor colocar seu código dentro dos códigos [PHP][/PHP]. É muito mais fácil de ler e debugar o código formatado.

 

Aba de entrada do indicador

Como e onde eu codifico um indicador para que a guia Input não mostre mais quando ela está anexada ao gráfico?

Obrigado,

solaris

 
iscuba11:
int start()

{

se (UseHourTrade)

{

int a=0;

int b=0;

int c=0;

if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;

if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;

if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;

if(a===1 && b===1 && c===1)

{

Comentário(

"\n", *VISOR SOLAR EXPERIOR DE VINHOS *",

"\n",

"\n", " - PROGRAMA EM CICLO DE SLEEP - ",

"\n",

"\n"," > HORAS NÃO-TRADAS! <");

///////////////////MODIFICAR PARAR AS PERDAS E TER LUCRO NO INÍCIO DO CICLO DO SONO /////////////////

//int h=0;

para (int h=OrdensTotal()-1;h>=0;h--)

OrderSelect(h, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{if( OrderStopLoss() > Pergunta + Ponto * 15 || OrderStopLoss() == 0 )

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Ponto),Bid-(20*Ponto),Cyan); //Modify stop loss and take profit

retorno(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if( OrderStopLoss() < Licitação - Ponto * 15 )

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit

retorno(0);

}

retorno(0);

}

}

///////////////////////////////////////////////////////////////////////////////////////

Fizeram as mudanças, mas ainda recebendo um loop constante de modificações versus uma mudança única.

Aconselhe novamente, por favor!

Dave

<<<

tente adicionar a linha roxa ...pode ajudar

 
solaris:
Como e onde eu codifico um indicador para que a guia Input não mostre mais quando ela está anexada ao gráfico?

Obrigado,

solaris

por que não tentar salvá-lo como um modelo...então não há necessidade de configurar nenhum parâmetro novamente quando você chamar todos os seus indicadores em um novo gráfico

 

Eu fiz o que você sugeriu! (Agradeço sua paciência)

para (int cnt1=OrdensTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

** Mas ainda estou recebendo modificações maciças de loop em um único comércio como antes!

Evidentemente, eu tenho um loop dentro de um loop na lógica!

Dave

<<

Por favor, veja os últimos resultados do backtest. Desculpe o logo.htm - Não consigo me livrar dele.

Arquivos anexados:
 
iscuba11:
Eu fiz o que você sugeriu! (Agradeço sua paciência)

para (int cnt1=OrdensTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

** Mas ainda estou recebendo modificações maciças de loop em um único comércio como antes!

Evidentemente, tenho um loop dentro de um loop na lógica!

Dave

<<
Por favor, veja os últimos resultados do backtest. Desculpe o logo.htm - Não consigo me livrar dele.

tente adicionar o púrpura acima ainda?

theif( OrderStopLoss() > Pergunte + Ponto * 15 || OrderStopLoss() == 0 )

e se( OrderStopLoss() < Bid - Ponto * 15 )