Fazendo coisas interessantes de graça - página 32

 
inoy:

Olá. Talvez alguém estivesse interessado em escrever a rede de arrasto original. Eu não encontrei nada semelhante na web. O ToR real: tanto os movimentos de parada como de lucro (TralTP), mas sempre apenas na direção do PREÇO, ou seja, o alcance em ambos os lados apenas se estreita. Tudo isso é simples, e o "truque" é que a rede de arrasto muda em % (e NÃO em pips) do SL ou TP. Exemplo: tenho uma posição aberta com SL = 300, TP = 100 (total 400 pips = 100%, SL = 75%, TP = 25% do alcance). O preço se moveu +50 pips, o stop loss está fixado em 150 pips. 150 pips do preço, ou seja, -100. No total, a relação inicial de 3/1 foi mantida. O preço voltou ao ponto de abertura (0), para SL 100 pontos, o que significa que temos que mudar TP para +33. E assim por diante.

O preço não se move por alguns saltos fantásticos (+50, -50)... A especificação técnica não é solvível. Ou melhor, pode ser resolvido, mas não será o que você quer. A rede de arrasto reagirá a cada tique e o alcance se reduzirá mais rápido do que você deseja. Não estou dizendo que o alcance ficará mais estreito a cada tique, mas assim que você passar alguns pontos, o alcance ficará mais estreito. E não estou falando nem mesmo de cinco dígitos, a rede de arrasto será ainda mais sensível às citações e o alcance diminuirá ainda mais rápido.

 
Pensei imediatamente nisto, que é para isso que serve a variável Step. A trilha não deve se mover em "alguns pontos", mas em uma determinada % da faixa, por exemplo, 25% da atual SL - TP. Alternativamente, a tarefa pode ser resolvida de forma diferente em geral (como opção): o usuário deve verificar a relação P/L original em um intervalo de tempo especificado pelo usuário em minutos. O significado não mudará, e a essência da idéia permanece a mesma. Melhor ainda, você pode fazer as duas coisas.
 
inoy:
Pensei sobre isso imediatamente, é para isso que serve a variável Step. A rede de arrasto não deve se mover em "alguns pontos", mas em uma determinada % do intervalo, por exemplo 25% do atual diferencial SL - TP. Alternativamente, a tarefa pode ser resolvida de forma diferente em geral (como opção): o usuário deve verificar a relação P/L original em um intervalo de tempo especificado pelo usuário em minutos. O significado não mudará e a essência da idéia permanece a mesma. Melhor ainda, você pode fazer as duas coisas.

Merda... Desculpe... Entendeu mal esse parâmetro Passo! :))

Mas ainda assim, vou escrever um pensamento em voz alta. Não se deve arrastá-los do zero, mas confiar na análise técnica.

 
Talvez você esteja certo. Mas além de TA, há também uma análise probabilística, que resolve o problema da escolha em diferentes proporções de risco. Tive a idéia para a rede de arrasto do teste Shapiro descrito por Elder.
 

Olá, encontrei um bom indicador, dá um sinal claro para pelo menos 20 pips, mas os sinais vêm muito raramente e inesperadamente, não tenho tempo para rastreá-los. Eu tentei colocar um alerta (bip) mas não funciona, eu gostaria de poder usá-lo como Conselheiro Especialista também! Eu o uso há cinqüenta anos e é um bom uso! Estou usando-o há mais de um ano e é um bom uso!

aqui está um milagre

Arquivos anexados:
 
DDEEDD:

Olá, encontrei um bom indicador, dá um sinal claro para pelo menos 20 pips, mas os sinais vêm muito raramente e inesperadamente, não tenho tempo para rastreá-los. Eu tentei colocar um alerta (bip) mas não funciona, eu gostaria de poder usá-lo como Conselheiro Especialista também! Estou usando-o há meio ano e é um bom uso! Estou usando-o há mais de um ano e é um bom uso!

aqui está um milagre.


O indicador espreita a 1 barra.

Mais precisamente - ele desenha um ponto de entrada no bar ao qual verifica o preço de fechamento. o que significa que você entrará não ao preço de abertura do bar, mas ao preço de fechamento, ou seja, 1 bar de atraso.

isto é o que analisa - o preço próximo que atravessa a linha de arrasto (a uma distância de nPips) a partir da última volta

você está em um apartamento



 

Estou usando um consultor especializado junto com ele. É claro que há perdas, mas elas são insignificantes em comparação com a situação geral.

 

Encontrei um indicador interessante no CodeBase e gostaria de mudá-lo ligeiramente.

Saídas para o canto superior direito do
TF de trabalho
ApPrise
DnPrise

Distância entre linhas em pips

Talvez quem possa refazê-la?

Arquivos anexados:
 
Olá a todos. Eu queria fazer um ziguezague rápido para minha EA usando o tema XLab_ZZZ do autor do fio. Mas XLab_ZZZ conta desde o início da história e eu preciso dos dois primeiros intervalos à direita. Eu o escrevi, mas está com falhas e não sei onde está. Olhe a olho nu, talvez você veja onde está o erro. Veja os preços de abertura.
//+------------------------------------------------------------------+
//|                                                   1+FZZ_test.mq4 |
//+------------------------------------------------------------------+

 int Step=30;
 string tmp,line[4]; int last_time_signal_ss,last_time_signal_bs;
 double p1,p2,p3,p4,p5; int mp, t1,t2,t3,t4,t5;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
     mp=1; if(Digits==3 || Digits==5)mp=10; 
     for (int i=0;i<4;i++)line[i]="Line"+Symbol()+"_"+i+"_ZZ";
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   DeleteObjects("ZZ");Comment("");
//----
   return(0);
  }

void DeleteObjects(string text) {
   string name;
   for (int i = ObjectsTotal() - 1; i >= 0; i--) {
      name = ObjectName(i);
      if (StringFind(name,text) > -1) ObjectDelete(name);
   }
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  
  Signal();
 //_ObjectSet(line[0], p2,t2,Close[1],Time[0]);
 _ObjectSet(line[1], p3,t3,p2,t2);
 _ObjectSet(line[2], p4,t4,p3,t3);
 _ObjectSet(line[3], p5,t5,p4,t4);
//----
   return(0);
  }
//+------------------------------------------------------------------+
int Signal(){
int x,n;
p1=0;p2=0;p3=0;p4=0;p5=0; t1=0;t2=0;t3=0;t4=0;t5=0;
double hi=High[1], lo=Low[1], c=Close[1]; int th=0,tl=0;

for(int i=1; i<500;i++)
   {
    
    if(p2==0)
    {
    if(High[i]>hi){hi=High[i]; th=Time[i];}
    if(Low [i]<lo){lo=Low [i]; tl=Time[i];}
    if(hi-lo>Step*Point*mp)
      {
       if(c>lo && c<hi ){
                          if(th>tl){p2=hi;t2=th;p3=lo;t3=tl;}
                          if(tl>th){p2=lo;t2=tl;p3=hi;t3=th;}
                          continue;
                         }
       }
    }
    
    if(p2>0 && p4==0)
     {
     n=i;
       if(p3>p2){
                 if(p3-Low [n]>Step*Point*mp){p4=Low [n];t4=Time[n];continue;}
                 if(High[n]>p3)if(p3-Low [n]< Step*Point*mp){p3=High[n];t3=Time[n];}
                }  
       if(p3<p2){
                 if(High[n]-p3>Step*Point*mp){p4=High[n];t4=Time[n];continue;}
                 if(Low[n]<p3){p3=Low[n];t3=Time[n];}
                }  
     }
    
    if(p4>0)
      {
       x=i;
       if(p4>p3){
                 if(p4-Low [x]>Step*Point*mp){p5=Low [x];t5=Time[x];break;}
                 if(High[x]>p4){p4=High[x];t4=Time[x];}
                 
                }  
       if(p4<p3){
                 if(High[x]-p4>Step*Point*mp){p5=High[x];t5=Time[x];break;}
                 if(Low[x]<p4){p4=Low[x];t4=Time[x];}
                 
                }  
      }
    if(p5>0)break;
    
    }

return(0);}

void _ObjectSet(string name, double price1, int time1, double price2,int time2) {
   if(ObjectFind(name)!= -1)ObjectDelete(name); 
   ObjectCreate(name,OBJ_TREND,0,0,0,0,0);
   ObjectSet(name,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSet(name,OBJPROP_COLOR,DodgerBlue);
   ObjectSet(name, OBJPROP_TIME1, time1);
   ObjectSet(name, OBJPROP_PRICE1, price1);
   ObjectSet(name, OBJPROP_TIME2, time2);
   ObjectSet(name, OBJPROP_PRICE2, price2);
   ObjectSet(name,OBJPROP_RAY,false); 
}
 
FION:
Eu queria fazer um ziguezague rápido para a EA baseado no tema XLab_ZZZ do autor do fio.

Em primeiro lugar, você está contando em uma direção errada. Em segundo lugar, você matou o propósito do meu ziguezague em tudo :)

Você deve inserir o código do indicador no Expert Advisor diretamente como ele é. Nada acontecerá com a EA se ela calcular todo o histórico (ou desde a barra especificada) quando ela for lançada.