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

 
artmedia70:
:) A impaciência geralmente é treinada em outro escritório. :)


Você não precisa treinar minha paciência para isso. Sou muito paciente.

Desculpe. Tenho apenas uma grande carga de trabalho e não quero perder meu tempo.

E lamento ainda mais, porque o autor do tópico provavelmente não sabe sobre o assunto. Provavelmente um menino da escola.

 
Vinin:


Não há necessidade de treinar minha paciência para isso. Eu sou muito paciente.

Desculpe. Tenho apenas uma grande carga de trabalho e não quero perder meu tempo.

E lamento ainda mais, porque o autor do tópico provavelmente não sabe sobre o assunto. Provavelmente um menino da escola.

Acho que muitas pessoas percebem que ser moderador é ingrato em muitos aspectos. Você faz algo, você tenta, você mantém as coisas em ordem, mas a lista de pessoas insatisfeitas não fica menor. As pessoas...
Desculpe-me pelos offtops.
ZS. Minha filha é uma estudante e ela entende muito... :)
 
FoxUA:

Ela ainda abre esta ordem em lote.
Eis como eu defino as variáveis em meu Expert Advisor.
e aqui está a abertura do pedido

É difícil não concordar com a artmedia70 sobre o layout de seu código. É muito difícil de ler, você tem que olhar para ele por muito tempo para entender qualquer coisa, e então você tem que colocar colchetes, espaços e recuos corretamente. Por favor, observe seu estilo e evite o caos na codificação, mesmo que ela seja composta de blocos diferentes de autores diferentes. Você a traz em um só, seu próprio estilo, assim será mais fácil trabalhar com ela no futuro e modernizá-la.

//+------------------------------------------------------------------+
extern int TakeProfit=18;
extern int StopLoss=18;
extern double Lot=1;
extern int StartTime=0;
//+------------------------------------------------------------------+
int Today=0;
int h=10;
int h1=26;
int mag=777;
bool b=0,s=0, //соответственно бай или селл  
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;//      то же по ТП
double bl=0,sl=0; // лоты соответсвенно для бай и селл

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start(){

   if(DayOfWeek()==0 || DayOfWeek()==6) return(0); // в выходные не работаем
   if(!IsTradeAllowed()) return(0); // пропустим тик если терминал занят
   int total = OrdersTotal();
   
   if(total == 0){
      NewOrder1(OP_BUY,Lot);
      NewOrder1(OP_SELL,Lot);
      NewOrder1(OP_BUYLIMIT,Lot);
      NewOrder1(OP_SELLLIMIT,Lot);
      NewOrder1(OP_BUYSTOP,Lot);
      NewOrder1(OP_SELLSTOP,Lot);
      Today=TimeDay(TimeCurrent());
   }
   
   for(int cnt=OrdersHistoryTotal();cnt>0;cnt--){
      OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY);
      if(OrderMagicNumber()== mag && OrderSymbol()==Symbol()){
         if(OrderType() == OP_BUY ){
            b=1;
            if(OrderClosePrice()==OrderTakeProfit())bt=1;
            if(OrderClosePrice()==OrderStopLoss())bs=1;
            bl=OrderLots()*100;
            break;
         }
         if(OrderType() == OP_SELL){
            s=1;
            if(OrderClosePrice()==OrderTakeProfit())st=1; 
            if(OrderClosePrice()==OrderStopLoss())ss=1;
            sl=OrderLots()*100;
            break;
         }
      }
   }

   if(bs==1||bl==1){   
      NewOrder1(OP_BUYLIMIT,Lot);
      Today=TimeDay(TimeCurrent());
   }
}    
//+------------------------------------------------------------------+
//| NewOrder1 function                                               |
//+------------------------------------------------------------------+
int NewOrder1(int Cmd,double Lot){
   double TP=0; //тейкпрофит
   double SL=0; //стоплосс
   double PR=0; //Цена
   double LT=0; //Лот
   int tic1;
   
   while(!IsTradeAllowed()) Sleep(100);
   
   if(Cmd==OP_BUYLIMIT){
      PR=Ask-Point*h;
      if(TakeProfit>0)TP=PR+TakeProfit*Point;
      if(StopLoss>0)SL=PR-StopLoss*Point;
      if(Lot>0)LT=3*Lot;
      
       tic1 = OrderSend(Symbol(),Cmd,LT,PR,3,SL,TP,0,mag,0,CLR_NONE);   
   }
   
   if(tic1<0)Print(GetLastError());

   if(tic1>0){
      b=0;s=0; //соответственно бай или селл  
      bs=0;// если закрытие по стоплоссу ордера бай
      ss=0;// если закрытие по стоплоссу ордера sell
      bt=0;
      st=0;//      то же по ТП
      bl=0;sl=0; // лоты соответсвенно для бай и селл
   }
   
   return(tic1);
}
//+------------------------------------------------------------------+

Eu tentei no testador, parece abrir apenas uma ordem pendente (BUYLIMIT), mas eu realmente não sei o que mais deveria fazer e sob quais circunstâncias.

 
ToLik_SRGV:

É difícil não concordar com a artmedia70 sobre o layout de seu código. É muito difícil de ler, você tem que olhar para ele por muito tempo para entender qualquer coisa, e então você tem que colocar colchetes, espaços, recuos corretamente. Por favor, observe seu estilo e evite o caos na escrita do código, mesmo sendo composto de blocos diferentes, autores diferentes. Traga-o em um só, seu próprio estilo, para que no futuro seja mais fácil para você trabalhar com ele e modernizar-se.

Eu tentei no testador, parece abrir apenas uma ordem pendente (BUYLIMIT), mas eu realmente não sei o que mais deveria fazer e sob quais circunstâncias.

Anatoly! Bravo! Eu estava começando a pensar que teria que abandonar tudo e começar a limpar. Mesmo um olhar rápido sobre o aspecto do código é estimulante para a reflexão. ...e, mais importante ainda, não estica o olho nem o repele. Respeito!
 

Como calcular a quantidade de negócios recentemente perdidos!!!

Obrigado...

 
itum:

Como calcular a quantidade de negócios recentemente perdidos!!!

Obrigado...

Quantos recentes? ... exatamente em gramas... :)

Faça um loop em ordens fechadas do terminal, verifique o lucro da ordem e, se for negativo, aumente o contador do número de ordens fechadas ou, se precisar da quantia em dinheiro, não o número de ordens perdidas, então adicione seu lucro (que é negativo) ao último valor da variável duplo, onde você armazenou a quantidade de lotes em dinheiro...

 
artmedia70:

Deve ser realmente necessário... :) Ou meu mouse está preso...

Pasta de localização MT4/logs

pasta de localização MT4\tester\logs

Tenho-o aqui mesmo:

D:Arquivos de programa MetaTrader - Conta E-Global TFG-1654729

D:Arquivos de programa MetaTrader - Conta E-Global TFG-1654729tester


Muito obrigado pela resposta e desculpas pelos muitos postos do mesmo tipo, eu mesmo queria fazer a limpeza, mas hoje fiquei preso no mercado. Mais uma vez, obrigado a todos .
 
LAIT123:
Muito obrigado pela resposta e desculpas pelos muitos postos do mesmo tipo, eu mesmo queria fazer a limpeza, mas hoje fiquei preso no mercado. Mais uma vez, obrigado a todos .
Você terá que ir até Victor para se curvar... :) Estava brincando... Ele entende tudo...
 
Olá a todos! Caros artmedia70, drknn, Abzasc, anteontem, usando seu conselho, deixei cair o arquivo de fontes do Wingdings em falta na pasta do Windows e no terminal Fractals apareceu normalmente. Muito obrigado a todos vocês. Cumprimentos ao Furkat.
 
trader265:
Olá a todos! Caros artmedia70, drknn, Abzasc, anteontem, usando seu conselho, deixei cair o arquivo de fontes do Wingdings em falta na pasta do Windows e no terminal Fractals apareceu normalmente. Muito obrigado a todos vocês. Cumprimentos ao Furkat.
Seja bem-vindo. Não foi difícil adivinhar, e depois é uma questão de técnica... :)