[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 571

 
rigonich:

Eu não entendo que tipo de dados? Acabei de colocar o código da EA. compilá-lo e executá-lo, basta dar-lhe um nome. Eu não o testei, apenas o recompilei como acabou e o coloquei para fora. Se não funcionar corretamente, avise-me e eu tentarei descobrir o porquê.



Hooray I got it ... searched on the web for compile ))))) acaba Compilando .

Eu já comecei a testá-lo, ele abre 500-1000 posições de uma só vez

Aqui está um link para o arquivo de teste://localhost/C:/Users/mv/Desktop/StrategyTester.htm - ele abre muitas posições

 
Frostr:



Hooray I got it ... searched on the web for what it mean to Compile))))) acaba Compile .

Já comecei a testá-lo com o Compile, ele abre 500-1000 posições de uma só vez


Bem, vamos ver.
 

Você pode me dizer quantos caracteres são atualmente intocáveis nos comentários do pedido?

Z.I. Se é importante, é na Alpari.

 
Frostr:



hooray eu descobri... Eu procurei na web por "Compile"))) ele se torna Compile .

Eu já comecei a testá-lo, ele abre 500-1000 posições de uma só vez

Aqui está um link para o teste: file://localhost/C:/Users/mv/Desktop/StrategyTester.htm ele abre muitas posições


Aqui está o código. Ele funciona como você pediu. Em qualquer fechamento, ele abre duas posições opostas.
//+------------------------------------------------------------------+
//|                                                  Trudnyaga_1.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
//+------------------------------------------------------------------+
extern int    stoploss   = 0,          // уровень выставления SL, если 0, то SL не выставляется
              takeprofit = 0,          // уровень выставления TP, если 0, то TP не выставляется
              Magic      = 123456;     // уникальный номер ордера
extern double Lot        = 0.1;        // объем ордера
extern int    slippage   = 3;          // Максимально допустимое отклонение цены для рыночных ордеров
extern int    MaxOrders  = 3;          // Максимально допустимое количество ордеров BUY или SELL
extern int    CycleCount = 5;          // количество попыток открытия ордера
//+------------------------------------------------------------------+
double SL,TP;
int    Total,LastTotal;
string ord;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
   {
   return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
   {
   return(0);
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
   {
   Total=fTotal();
   if((Total==LastTotal&&LastTotal!=0)||Total>=MaxOrders)return(0);
   if(takeprofit!=0)TP=NormalizeDouble(Ask+takeprofit*Point,Digits);else TP=0;
   if(stoploss!=0)SL=NormalizeDouble(Ask-stoploss*Point,Digits);else SL=0;
   OPENORDER("Buy");
   if(takeprofit!=0)TP=NormalizeDouble(Bid-takeprofit*Point,Digits);else TP=0;
   if(stoploss!=0)SL=NormalizeDouble(Bid+stoploss*Point,Digits);else SL=0;
   OPENORDER("Sell");
   LastTotal=fTotal();
   return(0);
}
//+------------------------------------------------------------------+
void OPENORDER(string ord)
   {
   int error,err;
   while(true)
      { 
      error=-1;
      if(ord=="Buy" )error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"BUY",Magic,0,Blue);
      if(ord=="Sell")error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,"SELL",Magic,0,Red);
      if(error==-1) //неудачная покупка OK
         { 
         ShowERROR();err++;Sleep(2000);RefreshRates();
      }
      if (err>=CycleCount)break;
   }
   return;
} 
//+------------------------------------------------------------------+
void ShowERROR()
   {
   int err=GetLastError();
   switch(err)
      { 
      case 1   : return;
      case 2   : Alert("Нет связи с торговым сервером ",Symbol());return;
      case 3   : Alert("Error неправильные параметры ",Symbol());return;
      case 130 : Alert("Error близкие стопы Ticket ",Symbol());return;
      case 134 : Alert("Недостаточно денег ",Symbol());return;
      case 146 : Alert("Error Подсистема торговли занята ",Symbol());return;
      case 129 : Alert("Error Неправильная цена ",Symbol());return;
      case 131 : Alert("Error Неправильный объем ",Symbol());return;
      case 4200: Alert("Error Объект уже существует ",Symbol());return;
      default  : Alert("Error " ,err," ",Symbol());return;
   }
}
//+------------------------------------------------------------------+
int fTotal()
   {
   int Tot=OrdersTotal();
   int BuyCount=0,SellCount=0;
   if(Tot>0)
      {
      for(int i=0;i<OrdersTotal();i++)
         {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
            {
            if(OrderSymbol()==Symbol()&&(Magic==0||OrderMagicNumber()==Magic))
               {
               switch (OrderType())
                  {
                  case OP_BUY :BuyCount++; break;
                  case OP_SELL:SellCount++;break;
               }
            }
         }
      }
   }
   return(BuyCount+SellCount);
}
//+------------------------------------------------------------------+
 
quais correios podem enviar mensagens sobre o correio recebido e seu conteúdo?
 
gheka:
quais correios podem enviar mensagens sobre o correio recebido e seu conteúdo?
É melhor comprar um smartphone, agora eles são mais baratos. Só não conecte à MTS, esses bastardos roubaram meus dois últimos kopecks :)))
 
Sem ofensa, ficarei ao lado da MTS. 7 anos com a MTS e sem problemas
 
gheka:
Sem ofensa, ficarei ao lado da MTS. 7 anos com a MTS e sem problemas

Desde que eu tivesse apenas um telefone, também não tive problemas por cinco anos. Assim que eu conectei a Internet deles, problemas (com pagamento) apareceram imediatamente. Eles os resolvem, é claro, e até pedem desculpas, mas é muito para escrever e provar. Mais importante ainda, após um mês o mesmo problema novamente e tudo está de novo. Agora eu uso megafone.
 
rigonich:

Aqui está o código, ele funciona como você pediu. Em qualquer fechamento, ele abre duas posições opostas.



Obrigado.

Mas você tem uma EA diferente, ela funciona de maneira diferente.

Gostaria que minha EA abrisse posições em ambas as direções se algumas delas estiverem fechadas,

Não sei como fazer isso, mas já vi abrir algumas posições.

Arquivos anexados:
sellbuy_1.ex4  5 kb
 

Tentei adicioná-lo, quase funcionou, mas ele abre posições do jeito que eu preciso se o preço se mover em uma direção.

Por exemplo Ele fechou uma compra, depois abriu uma nova compra e venda, depois novamente fechou uma compra, depois abriu novamente também compra e venda, mas se ele fechou NÃO compra e vende, não abre uma nova (((((

Por favor, dê uma olhada e veja se isso ajuda...

o que um monte de porcaria eu escrevi )) . Mas é assim que funciona, tenho estas condições de abertura...

Preciso de outra condição quando abrirá uma posição se o preço mudar ...

Arquivos anexados:
Razão: