Punto e a capo

10 risposte

nate!

Abbonato, bbp_partecipante, comunità, 7 risposte.

Visita il profilo

7 anni fa #116547

È possibile creare un indicatore Point and Figure o un EA in EA Wizard?

Grazie in anticipo per qualsiasi aiuto o info. 🙂

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

7 anni fa #142290

Salve,

 

come si lavora con Point&Figure in MetaTrader? Dovrebbe essere possibile. L'EA prodotto da Wizard non è limitato da determinate impostazioni di timeframe.

0

nate!

Abbonato, bbp_partecipante, comunità, 7 risposte.

Visita il profilo

7 anni fa #142303

Salve, grazie per la risposta. Attualmente utilizzo un indicatore Point and Figure che ho preso da un forum su internet e che funziona bene su Metatrader. L'ho importato come indicatore personalizzato in EA Wizard. Ho provato a utilizzare l'output dell'indicatore in EA Wizard senza successo. Ovviamente non sono esperto di codifica o dell'uso di EA Wizard, quindi non sono sicuro di fare qualcosa di sbagliato. Questo è il motivo per cui sto scrivendo a questo forum per sapere se posso usare le funzioni dell'EA wizard per creare la logica e l'output del punto e della figura. Sarei felice di utilizzare entrambi i metodi (indicatore personalizzato o crearne uno io stesso) purché sia in grado di programmare i breakout delle X e delle O in EA Wizard per creare un EA.

Non so come allegare un file mq4 in questo post, quindi ho tagliato e incollato il codice. Scusate la mia ignoranza 🙁 Grazie!

 

//+——————————————————————+

//| XO.mq4 |
//| GranParadiso |
//+——————————————————————+
#proprietà copyright "GranParadiso"
#collegamento proprietà "[email protected]"
 
#proprietà indicator_chart_window
#proprietà indicatore_buffer 2
#proprietà indicatore_colore1 Rosso
#proprietà indicatore_stile1 STILE_SOLIDO
#proprietà indicatore_larghezza1 2
#property indicator_color2 Verde
#proprietà indicatore_stile2 STILE_SOLIDO
#proprietà indicatore_larghezza2 2
 
 
extern int BoxSize = 5;
extern int ReversalAmount = 3;
 
 
int LastCalculatedBarIndex;
int LastTrend;
double arr_XO_Open[];
double arr_XO_Close[];
double arr_Open[];
double arr_Close[];
//+——————————————————————+
//|                                                                  |
//+——————————————————————+
init()
  {
   IndicatorBuffers(4);
   SetIndexBuffer(0,arr_XO_Open);
   SetIndexStyle(0,DRAW_HISTOGRAM);
 
   SetIndexBuffer(1,arr_XO_Close);
   SetIndexStyle(1,DRAW_HISTOGRAM);
 
   SetIndexBuffer(2,arr_Open);
   SetIndexBuffer(3,arr_Close);
 
   ritorno(0);
  }
//+——————————————————————+
//|                                                                  |
//+——————————————————————+
int start()
  {
   int
   j,
   k;
   doppio UP,
   DW;
 
   int counted_bars=IndicatorCounted();
   if(counted_bars < 0) return(-1);
   if(counted_bars>0) counted_bars-;
   int limit=barre contate_barre;
   if(counted_bars==0) limit-=1+1;
 
   for(int i=limite;i>=0;i-)
     {
      LastTrend=0;
      se(i==Barre-1)
        {
         arr_Open[i]=MathRound(Close[i]*(MathPow(10,Digits)/BoxSize))/(MathPow(10,Digits)/BoxSize);
         arr_Close[i]=arr_Open[i];
         continuare;
        }
 
      if(arr_Open[i+1]>arr_Close[i+1]) LastTrend=-1;
      se(arr_Open[i+1]<arr_Close[i+1]) LastTrend=1;
 
      arr_Close[i]=arr_Close[i+1];
      arr_Open[i]=arr_Open[i+1];
 
      UP=0,0;
      DW=0,0;
 
      UP=(High[i]-arr_Close[i])/Punto;
      DW=(arr_Close[i]-Low[i])/Punto;
 
      switch(LastTrend)
        {
         caso 1:
            se(UP<BoxSize) UP=0,0;
            altrimenti UP=MathFloor(UP/BoxSize)*BoxSize;
            se(DW<(BoxSize*ReversalAmount)) DW=0,0;
            altrimenti DW=MathFloor(DW/BoxSize)*BoxSize;
            arr_Close[i]=arr_Close[i]+UP*Point;
            se(DW!=0,0)
              {
               arr_Close[i+1]=arr_Close[i+1]+UP*Point;
               arr_Open[i]=arr_Close[i+1]-BoxSize*Point;
               arr_Close[i]=arr_Close[i+1]-UP*Punto-DW*Punto;
              }
            pausa;
 
         caso -1:
            se(UP<(BoxSize*ReversalAmount)) UP=0,0;
            altrimenti UP=MathFloor(UP/BoxSize)*BoxSize;
            se(DW<Dimensione casella) DW=0,0;
            altrimenti DW=MathFloor(DW/BoxSize)*BoxSize;
            arr_Close[i]=arr_Close[i]-DW*Punto;
            se(UP!=0.0)
              {
               arr_Close[i+1]=arr_Close[i+1]-DW*Point;
               arr_Open[i]=arr_Close[i+1]+BoxSize*Point;
               arr_Close[i]=arr_Close[i+1]+UP*Punto+DW*Punto;
              }
            pausa;
 
         predefinito:
            se(UP<(BoxSize*ReversalAmount)) UP=0,0;
            altrimenti UP=MathFloor(UP/BoxSize)*BoxSize;
            se(DW<(BoxSize*ReversalAmount)) DW=0,0;
            altrimenti DW=MathFloor(DW/BoxSize)*BoxSize;
            arr_Close[i]=arr_Close[i]+UP*Point;
            arr_Close[i]=arr_Close[i]-DW*Punto;
            pausa;
        }
     }
 
   limit=0;
   k=0;
   if(arr_Open[0]!=arr_XO_Open[0])
     {
      limit=Bar;
      arr_XO_Open[0]=arr_Open[0];
      arr_XO_Close[0]=arr_Close[0];
     }
   per(j=1;j<limite;j++)
     {
      if(arr_Open[j]!=arr_XO_Open[k])
        {
         k++;
         arr_XO_Open[k]=arr_Open[j];
         arr_XO_Close[k]=arr_Close[j];
        }
     }
 
   ritorno(0);
  }
//+——————————————————————+

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

7 anni fa #142318

Salve,

 

Ok, verificherò cosa si può fare qui

0

nate!

Abbonato, bbp_partecipante, comunità, 7 risposte.

Visita il profilo

7 anni fa #142336

Grazie per il vostro aiuto... molto apprezzato!

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

7 anni fa #142359

Salve,

 

Sei riuscito a importare l'indicatore come mostrato nella schermata allegata?

0

nate!

Abbonato, bbp_partecipante, comunità, 7 risposte.

Visita il profilo

7 anni fa #142362

Ciao,

 

Sì, l'ho importato in questo modo. Come ho già detto, ho provato a utilizzare gli output (cioè arr_XO_Open a,d arr_XO_Close) in EA wizard ma non ho avuto successo. Forse l'ho usato nel modo sbagliato....i presupponeva che quelle 2 variabili fossero i livelli X o O del grafico a punti e figure. Avete avuto fortuna nell'utilizzare queste due variabili in qualche modo?

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

7 anni fa #142371

Salve,

 

Sì, per me funziona bene con l'EA allegato

0

nate!

Abbonato, bbp_partecipante, comunità, 7 risposte.

Visita il profilo

7 anni fa #142376

Ciao,

 

Ho problemi ad aprire il file che mi hai inviato. Quando faccio doppio clic, dice che Windows non può aprirlo. Ho provato con il blocco note ma si apre con un sacco di testo con cui non ho familiarità. Qualche suggerimento? 

Inoltre... quando dici che funziona bene per te... intendi che queste variabili (arr_XO_open, arr_XO_close) possono essere usate come livelli X e O nell'EA? Quale dovrei usare? In pratica voglio essere in grado di programmare un breakout, con un importo inserito dall'utente, della colonna "X" o "O" di un grafico a punti e figure. Nell'EA che ho provato prima di scrivere a questo forum, l'ho programmato per acquistare a mercato se le variabili fossero rotte da un importo fisso. Quando ho provato l'EA nel tester della strategia in MT4, non sono state effettuate operazioni. 

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

7 anni fa #142378

Salve,

 

Non importa, si vedano le schermate allegate su come l'ho configurato

File: PF1.jpgPF1.jpg
File: PF2.jpgPF2.jpg
File: PF3.jpgPF3.jpg

0

nate!

Abbonato, bbp_partecipante, comunità, 7 risposte.

Visita il profilo

7 anni fa #142459

Ciao, grazie per il tuo aiuto. Grazie all'uso della funzione "Log to Journal", sono riuscito a scoprire quali sono le 2 variabili (arr_XO_open, arr_XO_close) e i loro valori. Sto cercando di utilizzare questi valori nel mio tentativo di creare un EA. Un grande lavoro in corso, però! Grazie ancora per il vostro aiuto e molto probabilmente tornerò in questo forum nel prossimo futuro per chiedere di più! Grazie!

0

Stai visualizzando 10 risposte - da 1 a 10 (di 10 totali)