[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 138

 
supernyb:

mas para a saída, entendo que a impressora imprime apenas 4 ou menos dígitos.

então se imprimir (DoubleToStr(Startprice,5)); // imprimir Startprice

dá 5.

Mas quando você adiciona um tempo de barra

Esta linha não acrescenta o tempo de barra?



string name="Pr1_";
string cur_name=name+Time[0];
 
supernyb:


se for assim.

não está funcionando, está culpando '=' - tipos incompatíveis C:\sve.mq4 (34, 14)

Como escrevê-lo corretamente?

Obrigado pela resposta, eu já estou trabalhando nisso há uma semana)


Experimente assim:

 extern int MA_Period = 50;                   //периуд Ма
extern int MA_Method =MODE_SMA;               //Метод усреднения скользящего среднего. Может быть любым из значений методов скользящего среднего (Moving Average):
                              //*MODE_SMA 
                              
 extern int Maximum_History = 0;              //Ограничение истории для расчетов, если 0 то расчет всей истории
 
   
    
                                               //начало кода советника
int start()
{      
    double MA4;                                // Значение МА на 4 баре     
    double Startprice;
  
   MA4=iMA(NULL,0,MA_Period,0,MA_Method,PRICE_CLOSE,4); 
 
   
 if  (Low[4]< MA4 && MA4 < High[4])            //условия если 4-я свеча лежит в скользящей  
     {      
   Startprice=Close[0];
     }
       
   Print (DoubleToStr(Startprice,5));          // распечатаем Startprice
     
      
   datetime TmR1=Time[0];                      // запоминаем время текущего бара? 
   
       ObjectCreate("Rep1"+TmR1,OBJ_ARROW, 0, TmR1, Startprice); // создаем обьект 
       ObjectSet("Rep1", OBJPROP_COLOR, White); // устанавливаем обьект на график
       ObjectSet("Rep1", OBJPROP_ARROWCODE,71); 
      
     return(0); 
 }    
 
supernyb:

mas para a saída, entendo que a impressora imprime apenas 4 ou menos dígitos.

então se imprimir (DoubleToStr(Startprice,5)); // imprimir Startprice

dá 5.

Mas quando você adiciona um tempo de barra

Esta linha não acrescenta o tempo de barra?


 
Roger:
Mostre como você chegou ao bay_min.


 if (StochM < St_min && StochS < St_min) 
   bay_min = true;
 
r772ra:
if (bay_min == true)   datetime T=Time[0] //сработал сигнал на покупку запоминаем время  бара

if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
   {   
  if (Open[1]<Close[1] && Open[2]<Close[2] )   //и эти бары бычьи 
     { 
    // что-то делаем
     }
   }
   
// я думаю, как-то так.

Obrigado, a lógica é clara, mas parou completamente de abrir um negócio.
проблема в этой строчке
if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
 
Por favor, informe. Meu indicador ZigZag está com o desenho a descoberto. Ele desenha um determinado objeto na tabela. Quando o preço muda e é necessário excluir o objeto, o objeto é excluído, mas o valor do buffer no gráfico ainda está. Como excluir também o valor antigo, não apenas do gráfico? Se você puder codificar ou mostrar onde é implementado no ziguezague?
 
Dimka-novitsek:
Como ensinar o computador a realizar esta tarefa estritamente comercial de freios? Caso contrário, a alavanca do testador de velocidade só responde se ela quiser! O atraso é freqüentemente de 3-8 segundos. Mencionando todas as mulheres más!
Tenha um bom dia!
 
Dimka-novitsek:
Como ensinar o computador a realizar esta tarefa estritamente comercial de freios? Caso contrário, a alavanca do testador de velocidade só responde se ela quiser! O atraso é freqüentemente de 3-8 segundos. Mencionando todas as mulheres más!


Fazendo o melhor que pode
 



Relatório de teste de estratégia

subot11
(Construir 438)

SímboloEURUSD (Euro vs Dólar americano)
Período1 Hora (H1) 2005.01.24 00:00 - 2012.09.26 23:00 (2005.01.24 - 2012.09.27)
ModeloTodos os carrapatos (método mais preciso baseado em todos os menores períodos de tempo disponíveis)
ParâmetrosParâmetros=" EA"; lote=1; lote2=1; Magic_Number=68705; yroven=120; pr=50; sp=16; MA_Period=50; Maximum_History=0;

Bares na história48438Carrapatos modelados62876826Qualidade da simulação90.00%
Erros de descasamento de cartas0




Depósito inicial10000.00



Lucro líquido7635.00Lucro total41380.00Perda total-33745.00
Rentabilidade1.23Pagamento previsto16.71

Desembolso absoluto2271.00Máximo de drawdown3769.00 (32.78%)Drawdown relativo32.78% (3769.00)

Total de negócios457Posições curtas (% ganho)0 (0.00%)Posições longas (% ganho)457 (24.29%)

Ofícios rentáveis (% de todos)111 (24.29%)Perdas comerciais (% do total)346 (75.71%)
A maiorcomércio lucrativo600.00perdendo negócio-150.00
Médianegócio lucrativo372.79perdendo comércio-97.53
Número máximoganhos contínuos (lucro)5 (2020.00)Perdas contínuas (perda)20 (-2114.00)
MáximoLucro contínuo (número de vitórias)2098.00 (4)Perda contínua (número de perdas)-2114.00 (20)
Médiaprêmios contínuos2perda contínua5




Consegui criar minha própria EA. Eu a administrei com um spread fixo de 19. Desde 2005. Sempre pare de perder. Leve sempre. Não utiliza média e martin. As posições são fechadas dentro do dia, ou seja, não são transferidas para o dia seguinte.

Meu programador é péssimo, para dizer de forma branda.

 
artmedia70:

Está fora há alguns dias... Estou me perguntando - os feiticeiros jogados sobre o gráfico têm os mesmos parâmetros que os feiticeiros usados nos cálculos? Talvez seja aí que reside o problema?

É claro, eles têm os mesmos parâmetros. Aqui, em modo de teste, abri as propriedades de um determinado MA.

Parâmetros MA

artmedia70:

(Ainda não tive tempo de mergulhar no código e desmontá-lo).

Está tudo escrito de forma muito simples, para que qualquer pessoa possa entendê-lo num relance :)

artmedia70:

Eu faria uma função, por exemplo:

//-----------------------------------------------------------------------------+
duplo ma(int MAperiod, int MAmethod, int MAshift) {retorno (iMA(Symbol(), Period(), MAperiod, 0, MAmethod, PRICE_OPEN,MAshift));}
//-----------------------------------------------------------------------------+
e a chamou para obter parâmetros


Estava pensando nisso inicialmente quando escrevi todo o Expert Advisor, não este. MAS o iMA já é uma função. Chamando a função iMA, você pode inserir qualquer parâmetro, alguns com variáveis declaradas globalmente, e outros por padrão, por exemplo. A questão é: de que adianta chamar uma função de uma função se ela não faz sentido?
Razão: