[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 238

 
Vinin >> :

Viene visualizzato, appena fuori dallo schermo. Fallo in una finestra separata.

>> "in una finestra separata" - come?

 
splxgf >> :

Questo è un forum di programmazione, non un forum di elliotchiska... forse dovresti andare su http://elliottwave.ru/

Questo forum discute le strategie di trading e il trading con le onde di Elliott

è anche una strategia, vero?

 
dmmikl86 писал(а) >>

"in una finestra separata" - come?

#property indicator_separate_window
 
dmmikl86 >> :

>> "in una finestra separata" - come?

Non si può mettere un cavallo sullo stesso carro

Un cavallo e una cerva tremante. (с)

Il tuo indicatore cade inevitabilmente a pezzi, anche se viene visualizzato in una finestra separata. È molto scomodo mostrare 1,5 per GPPUSD e 145,0 per GBPJPY sullo stesso grafico senza alcun trucco speciale.

 

Buonasera, sto cercando di creare il mio EA... l'ho fatto simile a un altro EA per l'incrocio delle MA e il back crossing...

Ma lo ha fatto con i propri parametri ... Apre le posizioni solo in una direzione e non le chiude nemmeno...

Come faccio ad aggiungere una funzione qui che si chiude quando una linea viene attraversata indietro...

Tutto sommato, aiuto maestra!:-(

....

Quando la linea blu è incrociata verso l'alto ha comprato e quando incrocia verso il basso chiude.

Quando si attraversa la linea rossa verso l'alto si vende e quando si attraversa verso il basso si chiude.

Come potete vedere nella foto, questo sistema non funziona...

Aiuta un po' con il codice... per favore!


extern double Lots               = 0.1;
double Points;
int init ()
  {
   Points = MarketInfo (Symbol(), MODE_POINT);
   return(0);
  }
int CalculateCurrentOrders(string symbol)
  {
   int buys=0, sells=0;
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()== MAGICMA)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
   if( buys>0) return( buys);
   else       return(- sells);
  }
double LotsOptimized()
  {
   double lot= Lots;
   int    orders= HistoryTotal();  
   int    losses=0;                 
   lot=NormalizeDouble(AccountFreeMargin()*0.02/1000.0,1);
   if(3>0)
     {
      for(int i= orders-1; i>=0; i--)
        {
         if(OrderSelect( i, SELECT_BY_POS, MODE_HISTORY)==false) { Print("Error in history!"); break; }
         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
         //----
         if(OrderProfit()>0) break;
         if(OrderProfit()<0) losses++;
        }
      if( losses>1) lot=NormalizeDouble( lot- lot* losses/3,1);
     }
   if( lot<0.1) lot=0.1;
   return( lot);
  }
void CheckForOpen()
  {
double apglav1;
double apglav2;
double apsig1;
double apsig2;
int    res;
   if(Volume[0]>1) return;
   apglav1 =iCustom(NULL,0,"Caska",0,1); // первая линия на 1м баре
   apsig1 =iCustom(NULL,0,"Caska",1,1); // вторая линия на 1м баре   
   apglav2 =iCustom(NULL,0,"Caska",0,2); // первая линия на 2м баре
   apsig2 =iCustom(NULL,0,"Caska",1,2); // вторая линия на 2м баре
     if ( apglav2< apsig2 && apglav1> apsig1)
     {
      res=OrderSend(Symbol(),OP_BUY, LotsOptimized(),Ask,3,"", MAGICMA,0,Blue);
      return;
     }
     if ( apglav2> apsig2 && apglav1< apsig1)
     {
      res=OrderSend(Symbol(),OP_SELL, LotsOptimized(),Bid,3,"", MAGICMA,0,Red);
      return;
     }
  }
  void CheckForClose()
  {
double apglav1;
double apglav2;
double apsig1;
double apsig2;
   if(Volume[0]>1) return;
   apglav1 =iCustom(NULL,0,"Caska",0,1); // первая линия на 1м баре
   apsig1 =iCustom(NULL,0,"Caska",1,1); // вторая линия на 1м баре   
   apglav2 =iCustom(NULL,0,"Caska",0,2); // первая линия на 2м баре
   apsig2 =iCustom(NULL,0,"Caska",1,2); // вторая линия на 2м бар
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES)==false)        break;
      if(OrderMagicNumber()!= MAGICMA || OrderSymbol()!=Symbol()) continue;
      if(OrderType()==OP_BUY)
        {
        if( apglav2> apsig2 && apglav1< apsig1) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
        break;
        }
   if(OrderType()==OP_SELL)
        {
        if( apglav2< apsig2 && apglav1> apsig1) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
        break;
        }
}
}
void start()
  {
   if(Bars<100 || IsTradeAllowed()==false) return;
   if( CalculateCurrentOrders(Symbol())==0) CheckForOpen();
   else                                    CheckForClose();
  }
 

Gli elioterapisti sono sempre sui forum dove parlano di trading. Crea un thread e fai una domanda. E puoi fare la domanda qui. Forse risponderò io o lo farà qualcun altro.

 
DDFedor >> :

in ritardo... timer iniziato... >> "analisi delle onde

Sabluk farà bannare anche questo thread.

 
Ibiss >> :

Quando si attraversa la linea blu verso l'alto si compra e quando si attraversa verso il basso si chiude.

Quando si attraversa la linea rossa verso l'alto si vende e quando si attraversa verso il basso si chiude.

Come potete vedere nella foto, questo sistema non funziona.

Aiuta un po' con il codice... per favore!


Sembra che sia tutto a posto. (solo uno sguardo).

Solo. Questa espressione

se(Volume[0]>1) ritorno;

è meglio rimuoverlo. "Questo" funziona correttamente solo nel tester. E non funzionerà quasi ovunque online!

Meglio fare un lavoro adeguato al prezzo di apertura.

 

Cari utenti del forum!

Ho scritto un indicatore e c'è un problema, la media mobile (Buf_2) non viene disegnata, ecco il codice:

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red

extern int average=14;
//---- buffers
double Buf_1[], Buf_2[];


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0, Buf_1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1, Buf_2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    i, 
          Counted_bars=IndicatorCounted();


//----
//====================================================================
// график тела с объемом
double sum_b=0.0;
i=Bars- Counted_bars-1;           // Индекс первого непосчитанного
   while( i>=0) 
      {  
       //----
       if (Close[ i]>Open[ i]) {
         sum_b = sum_b + (Close[ i]-Open[ i])*Volume[ i];
         Buf_1[ i]= sum_b;
         }
         
       if (Close[ i]<Open[ i]) {
         sum_b = sum_b - (Open[ i]-Close[ i])*Volume[ i];
         Buf_1[ i]= sum_b;
         }
         
       if (NormalizeDouble(Close[ i],Digits)==NormalizeDouble(Open[ i],Digits)) {
         Buf_1[ i] = Buf_1[ i-1];
         }
         
       i--;
       //----
      }
//====================================================================
// average
int n=0;
   while( i>=0) 
      {  
       //----
       while( n<= average){
         Buf_2[ i]= Buf_1[ i- n];
         n++;
         }
       
       i--;
       //----
      }

//----
   return(0);
  }
//+------------------------------------------------------------------+
Mi aiuti a capire qual è il problema?
 

Urain писал(а) >>

Sabluk farà bandire anche questo ramo.

Sì, bene.

2 Oper. In breve, per fare trading puramente sulle onde, bisogna avere un cervello con le prestazioni di un computer. Esattamente il cervello con tali prestazioni. In altre parole questo può essere un caso di un grafico di un mese (con tutte le conseguenze su B1 almeno). È solo in un mese che un principiante può calcolare tutti i possibili scenari, tenendo conto dell'intera storia che dovrebbe anche essere disponibile, preferibilmente dall'inizio del trading dello strumento. O, in alternativa, la risposta alla domanda - come fai a sapere com'è la seconda ondata (l'hai chiesto tu)? Qualsiasi inversione inizia con la PRIMA onda. Una correzione alla prima è la seconda. Prendete M15, su di esso vedrete in dettaglio l'inizio del movimento, la correzione ad esso (la prima e la seconda onda - il PATTERN) se lo fate cento volte (considerate l'inversione), allora la risposta alla vostra domanda è pronta. L'unica cosa da tenere in considerazione è che il mercato spesso disegna il modello senza alcuna continuazione, cioè, se avete visto un tale PATTERN, nella realtà, ma non sulla storia, può essere considerato vero, solo dopo che la tendenza si sviluppa nella stessa direzione, spesso il modello si rompe. In generale, devi avere molte condizioni per fare trading sulle onde.

Personalmente, non possiedo una parte di queste caratteristiche.

1. Non sono molto intelligente.

2. Un sacco di tempo per padroneggiare una materia molto complicata.

3. Citazioni dall'inizio dello strumento di trading.

Pensiero astratto.

4. È necessario tenere a mente il modello dell'onda intera almeno per un anno (è qui che serve un cervello) e non solo tenerlo, ma con delle varianti. Ci sono molte varianti, così come i tipi di correzione. È come l'ottimizzazione dei parametri - hai aggiunto un parametro e due valori, hai due volte più varianti, e se aggiungi cinque parametri e se aggiungi 1000 valori?

Beh, non abbiamo abbastanza cervello per questo. E non abbastanza tempo, e non abbastanza citazioni.

E ci sono molte altre cose. È molto più facile usare l'AT classica. Non funziona peggio di VA, anche se personalmente uso sempre Wave Analysis dato che ci ho speso tanto tempo. Ma la maggior parte dei commercianti se la cava molto bene senza BA.