[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 93

 
Roll:
Objetivo da pergunta? Opinião pessoal: quaisquer que sejam as normas, regras e opinião pública que possam existir sobre qualquer questão para o algoritmo do código (usuários do código), a opinião subjetiva do(s) autor(es) deste código é de importância primordial, independentemente da "exatidão".
O propósito da pergunta - quais são os padrões de castiçal mais significativos, digamos, para uma inversão de tendência ou continuação de uma tendência?
 
first_may:
O objetivo da pergunta é quais são os padrões de castiçal mais significativos, digamos para uma inversão de tendência ou para uma continuação de uma tendência?

Precisa de uma lista de literatura?
 
Roll:

Precisa de uma lista de literatura?

Literatura que indicará os padrões mais importantes? O livro Morris G. Candlesticks Japanese Candlesticks não é bom para isso?
 

Boa tarde, você poderia me aconselhar o que acrescentar ao código do Consultor Especialista para que as informações exibidas na praça não fossem distorcidas (por exemplo, pelo gráfico ou outras linhas), ou seja, ficariam em primeiro plano e não brilhassem. Obrigado de antemão.

ObjectCreate("Flag-1", OBJ_LABEL, 0, 0, 0, 0);
ObjectSetText("Flag-1", "g", 154, "Webdings");
ObjectSet("Flag-1", OBJPROP_CORNER, 0);
ObjectSet("Flag-1", OBJPROP_XDISTANCE, 6);
ObjectSet("Flag-1", OBJPROP_YDISTANCE, 4);
ObjectSet("Flag-1", OBJPROP_COLOR, DimGray);
ObjectSet("Flag-1", OBJPROP_BACK, falso);

 
sergeev:

Estratégias de teste. MT4. MQL4



1
1billionbaks 16.08.2011 13:26

Olá.

Estou interessado nesta pergunta. Como faço o download e teste EAs e indicadores em uma grande escala de tempo?


Verdadeiro - somente em demonstração e em diferentes pares de moedas! O testador de estratégia dá resultados completamente impensáveis.
 
bercut0077:

Boa tarde, você poderia me aconselhar o que acrescentar ao código do Consultor Especialista para que as informações exibidas na praça não fossem distorcidas (por exemplo, pelo gráfico ou outras linhas), ou seja, ficariam em primeiro plano e não brilhassem. Obrigado de antemão.

ObjectCreate("Flag-1", OBJ_LABEL, 0, 0, 0, 0);
ObjectSetText("Flag-1", "g", 154, "Webdings");
ObjectSet("Flag-1", OBJPROP_CORNER, 0);
ObjectSet("Flag-1", OBJPROP_XDISTANCE, 6);
ObjectSet("Flag-1", OBJPROP_YDISTANCE, 4);
ObjectSet("Flag-1", OBJPROP_COLOR, DimGray);
ObjectSet("Flag-1", OBJPROP_BACK, falso);


Se funcionar, escreva como você o fez
 

Bom dia. Ajude a POR FAVOR O TESTEADOR NÃO PODE INICIAR: Por exemplo, o consultor de trabalho 1.6 ilan e 18, eu abro ordens estão sendo negociadas, mas lentamente entra em déficit, eu quero testar, eu defino os parâmetros do par de moedas m5 euro-dólares e pressiono a barra verde start lentamente avançando. Não vejo nenhum resultado, vejo um gráfico em branco, mas escrevi um erro 131 Por favor, me avise, acabo de começar a aprender. Estou trabalhando com forex4, muito obrigado Igor. Eu não sei como estabelecer uma parada de perda.

 

Boa tarde!!! Devo estar ficando burro novamente. Voltei a apagar todos os pedidos. Não me lembro exatamente o que estava fazendo lá há um mês e criei uma nova EA a partir de peças.

Em resumo, a EA não apaga pedidos. Na verdade, o loop forex não cai fora.

//----  


 // Alert ("ОсталосььOrdersTotal()", OrdersTotal());
    j=-1;
 for ( i=0; i<OrdersHistoryTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderSymbol()!=Symbol())     continue;
         if (OrderType()>1)               continue;
         if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
            if (wremjapomnim<OrderCloseTime()) {
                wremjapomnim=OrderCloseTime();
                j=i;
               }
            }
         }
      }
   if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
      if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point) {
         Alert("Позиция с тикетом #",OrderTicket()," закрыта по TakeProfit, закрываем остальные прозиции и удаляем отложенные ордера");
         // Здесь код для закрытия всех открытых позиций (тоже в цикле)
         for ( i=0; i<OrdersTotal(); i++) {Alert ("Здесь код для закрытия всех открытых позиций (тоже в цикле)",i);
           OrderSelect(i, SELECT_BY_POS );
              if (  OrderType( )==OP_BUY && OrderType( )==OP_SELL ){
                          OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);
   Alert ("OrderClose-vse-2",  GetLastError( ) ); C=0;A=1; }} 
         // Здесь код для удаления всех отложенных ордеров (также в цикле)
         for ( i=0; i<OrdersTotal(); i++) {Alert("Здесь код для удаления всех отложенных ордеров (также в цикле)",i);    
         OrderSelect(i, SELECT_BY_POS );
           if (  OrderType( )==OP_BUYSTOP && OrderType( )==OP_SELLSTOP ){ 
            OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vse-2",  GetLastError( ) ); }}    CloseAll();
         }
      }
//----


   return(0);
  }
//+------------------------------------------------------------------+


//+ -----------------------------------------------------------------+

      
//+------------------------------------------------------        



//+------------------------------------------------------------------+
// Закрываем все ордера                                              |
//+------------------------------------------------------------------+
void CloseAll()
{
 int ticket, i;
 while(OrdersTotal()>0) {
  for(i=OrdersTotal()-1;i>=0;i--){
   OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(OrderType()<2){
     if(OrderType()==OP_BUY) {
        RefreshRates();
        ticket=OrderClose(OrderTicket(),OrderLots(),Bid,3,0);
        if(!ticket) Print(" Ошибка! ",GetLastError()); 
        Sleep(1000); }
     if(OrderType()==OP_SELL) {
        RefreshRates();
        ticket=OrderClose(OrderTicket(),OrderLots(),Ask,3,0);
        if(!ticket) Print(" Ошибка! ",GetLastError()); 
        Sleep(1000); }
    }    
  }
 }   
}
//+ -----------------------------------------------------------------+
Tudo é registrado em uma boa antes do ciclo de avanço, o tronco nunca recebe uma entrada.
Alert ("Здесь код для закрытия всех открытых позиций (тоже в цикле)",i);
E o ciclo em que...
for ( i=0; i<OrdersTotal(); i++) {Alert("Здесь код для удаления всех отложенных ордеров (также в цикле)",i);

A função também não apagará nada... Ajuda!!!!Por favor! Estou olhando para o formulário há 40 minutos...

Onde diabos eu estou?

 
é possível fazer o download de um indicador para ondas zolliot
 

2Dimka-novitsek

por void CloseAll()

ticket=OrdemFechar

O bilhete é do tipo inteiro, OrderClose é booleano. É melhor não fazer isso.

enquanto o loop é infinito, e a tentativa é feita para apagar apenas ordens de mercado, se houver uma pendente, então esta música será eterna.

Quanto ao resto

O primeiro formulário procura o último pedido fechado por bilhete e símbolo.

para ( i=0; i<OrdensTotal(); i++)

é melhor procurar um fechamento na ordem inversa; não creio que precisemos explicar o motivo.

se ( OrderType( )==OP_BUY && OrderType( )==OP_SELL )

O pedido pode ser tanto COMPRAR como VENDER, mas eu preferiria tê-lo |||

(OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))

Eu colocaria j antes desta linha; simplificaria as coisas e também pensaria sobre a condição

if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0,5*Point)

Recomendo esclarecer quem é o ponto e por que ele é multiplicado por 0,5?