[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 1044
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Não estou interessado. Só quero traçar uma linha...
Это для не стандартного подхода, того чего нет в отчете оптимизатора. файл здесь terminal\tester\files
Сохраняйте отчет из "Результаты оптим." сохран как>>
Agora eu entendo como salvar algo. Por favor, me diga como salvar automaticamente os resultados da otimização. Basicamente, eu só me preocupo com o máximo de drawdown e lucro.
Agora eu entendo como salvar algo de que preciso. Por favor, informe como salvar automaticamente os resultados da otimização. Em princípio, eu só me preocupo com o máximo de drawdown e lucro.
Em Deinit, conte através da OrderHistoryTotal a soma de todos os lucros, não-lucrativos, drawdown, lucro e para o arquivo ;)
Algo como isto
não, cloze.
Da mesma forma, no período inferior você pode visualizar o vetor do mais antigo no gráfico H1 nas configurações do ind H4.
E para que serve?!
Em Deinit, use OrderHistoryTotal para contara soma de todos os lucros, não-lucrativos, drawdown, lucro e arquivá-lo ; )
Algo como isto
Sim, há isso. Infelizmente, este método fornece dados diferentes da MT. Basta salvar atomicamente os resultados da otimização em um arquivo e pronto...
Você percorre as ordens abertas e pendentes em ordem de número de posição na lista, seleciona a que lhe interessa e vai buscar seu bilhete
e continuar trabalhando com o bilhete.
Se você não sabe o que fazer com ele, simplesmente não sabe o que fazer com ele.
Por favor, me diga por que precisamos fazer isso se já selecionamos a mesma ordem?
Ou talvez eu não entenda algo: ESTE código :
símbolo de seqüência = Symbol();int cnt;
for(cnt = OrderTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy) {
ticketbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }
e este aqui:
símbolo de string = Symbol();int cnt;
for(cnt = OrderTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy) {
lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }
fará a mesma coisa?
Obrigado por sua resposta.
Por que precisamos fazer isso se já selecionamos a mesma ordem?
Ou talvez eu não entenda algo: ESTE código :
símbolo de seqüência = Symbol();int cnt;
for(cnt = OrderTotal()-1; cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy) {
ticketbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES); lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }
}
e este aqui:
símbolo de string = Symbol();int cnt;
for(cnt = OrderTotal()-1; cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy) {
lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }
}
fará a mesma coisa?
O código marcado em vermelho é redundante, pois o pedido já foi selecionado e você não precisa selecioná-lo novamente para processá-lo.
Obrigado por sua resposta.
Por que precisamos fazer isso se já selecionamos a mesma ordem?
Ou talvez eu não entenda algo: ESTE código :
símbolo de seqüência = Symbol();int cnt;
for(cnt = OrderTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy) {
ticketbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }
e este aqui:
símbolo de string = Symbol();int cnt;
for(cnt = OrderTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy) {
lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }
fará a mesma coisa?
Na primeira variante, a segunda OrderSelect na compra de bilhetes, usa um segundo cheque, suponho (se ele escorregar em um pendente ou +1 ordertotal...).
No post anterior foram encontrados corretamente erros (exceto verde).
A compra de bilhetes não está marcada na segunda. Precisamos identificar