Pergunte! - página 30

 

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

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

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

{

if(OrderStopLoss()>Ask+Point*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()<Bid-Point*15 ||OrderStopLoss()==0)

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

retorno(0);

}

retorno(0);

}

}

Chegando mais perto, mas não exatamente lá! Isto é realmente um teste à minha paciência!

Dave

<<<

Arquivos anexados:
 

então acrescente isto talvez melhor

iscuba11:
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

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

{if

( OrderOpenPrice() - Ask >= TrailingStop * Point)

{

if(OrderStopLoss()>Ask+Point*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( Licitação - OrderOpenPrice() >= TrailingStop * Ponto)

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

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

}

retorno(0);

}

retorno(0);

}

}

Chegando mais perto, mas não exatamente lá! Isto é realmente um teste à minha paciência!

Dave

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

Eu estou me recompondo a este programa. Estou prestes a completá-lo. Infelizmente, não há escolas nesta língua e a documentação deixa muito a desejar. Dito isto, não faço a menor idéia do que você está falando. Sem querer ofender!

Dave <<<<
 

então acrescente isto talvez melhor[/QUOTE

Este é o mais recente backtester run. Tão perto, mas tão longe. Faz-me lembrar os meus dias no Vietnã. Confira o .gif dos resultados anexados. Eu lhe devo por ter a bondade de seu coração para me ajudar a atravessar este momento de tribulação! Ainda parece que existe um loop que não está saindo como mostrado no comércio de venda.

Dave<<
Arquivos anexados:
 
iscuba11:
Eu lhe devo por ter a bondade de seu coração para me ajudar neste momento de tribulação!
Dave<<

você é bem-vinda

 

Eu ainda tenho um loop - maldição. Eu vou cair. Amanhã é outro dia. Esta linguagem de baixo nível é o buraco para aprender.

Dave <<<.

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

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

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

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

{

if(OrderOpenPrice()-Ask>=TrailingStop*Point)

{

if(OrderStopLoss()>Ask+Point*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(Bid-OrderOpenPrice()>=TrailingStop*Point)

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

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

}

retorno(0);

}

retorno(0);

}

}

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

A minha codificação como está acima. Há um bug nele que causa um loop de modificação. Muitos bugs ou adições o trouxeram para esta etapa. Por favor, ajude a encontrar o bug do loop alguém!

Arquivos anexados:
 

ou que tenha sido meu mal-entendido de seu propósito

o que você quer que a função OrderModify() faça?

para fazer parada de enchimento ou algo mais?

pls clarifique-a novamente

 

O projeto original é para apertar o stop losses e obter lucros em qualquer ordem de compra ou venda em aberto quando o programa está prestes a entrar em seu modo de sono.

Ao invés de uma grande perda de 40 - 50 pip stop loss e uma grande perda de 100 pip take profit em cada ordem aberta, eu queria que cada ordem aberta fosse reduzida a 15 pip stop loss, e que o take profit de 100 fosse reduzido a 25 pip take profit.

Então, o programa dormiria (stop) e as negociações abertas seguiriam seu curso sem qualquer outra intervenção do programa (sleep mode) - cada negociação aberta teria então um lucro de 25 pip ou um prejuízo de 15 pip e se fecharia.

Espero que isto ajude a esclarecer o propósito do stop loss e a ter lucro modificado. Sinto muito pelo mal-entendido. Por favor, ajude se você quiser realizar estas modificações! Muito obrigado por sua ajuda até o momento!

Caramba, eu mesmo precisei dormir ontem à noite!

Dave

<<<
 
iscuba11:
Eu estou me recompondo a este programa. Estou prestes a completá-lo. Infelizmente, não há escolas nesta língua e a documentação deixa muito a desejar. Dito isto, não faço a menor idéia do que você está falando. Sem querer ofender!
Dave <<<<

Quando você for copiar e colar um trecho de código, selecione aquele pequeno botão "php" na parte superior da tela de edição. Alternativamente, você pode primeiro digitar "[ PHP ]".

e então terminar seu código digitando "[ /PHP ]" sem as aspas e remover os espaços dentro dos colchetes. Veja o que você recebe

 
Maji:
Quando você for copiar e colar um trecho de código, selecione aquele pequeno botão "php" na parte superior da tela de edição. Alternativamente, você pode primeiro digitar "[ PHP ]"e depois terminar seu código digitando "[ /PHP ]" sem as aspas e remover os espaços dentro dos colchetes. Veja o que você recebe

O botão PHP? Está localizado no lado do fórum ou no MetaEditor a partir do qual estou copiando o código? Eu não consigo encontrar um botão PHP no MetaEditor.

Dave<<<