Il mio approccio. Il nucleo è il motore. - pagina 100

 
Vasiliy Sokolov:

Se state usando una tabella, dovete decidere se volete che i dati nella tabella siano strettamente numerici o testuali. Se testo, si passa in stringhe. Se è reale, la vostra funzione deve avere una vista:

Il problema è che una cella può passare qualsiasi valore. Ecco perché è una cella.

Ma una casella di controllo o un pulsante non lo è. Lì è più semplice. Mai campi di input e le celle delle tabelle - qualsiasi dato.

E si scopre che non c'è niente di meglio delle righe in questo caso...(((


È difficile decidere. Quindi, dobbiamo rendere il linguaggio di markup più complicato. Per ogni tipo di cella - un elemento separato. Ma qual è il punto?

Oppure potete rifiutarvi di passare i testi. Oppure potremmo fare tutto attraverso il sindacato. Veloce e professionale.

Ma, vedete, questa è una cattiva uscita....

 

E così, le possibilità di animazione personalizzata all'interno delle finestre del motore si espandono. Finora è stato possibile raggiungere questo livello:

 
 

I seguenti compiti:

  1. Per ottenere il controllo della trasparenza del modulo sul lato utente.
  2. Per fissare il trasferimento di un array di valori al motore, che sarà utilizzato per disegnare una linea curva sulla scala del grafico utente. In effetti, questo diventerà una caratteristica simile a CGrafic.

Creare e gestire il disegno delle forme è molto facile:

  1. Il costruttore crea funzioni wrapper per caricare le tele richieste.
  2. 14 nomi di funzioni di disegno semplici.
  3. I parametri della funzione semplice sono X, Y, W, H, COLOR.
  4. Alla fine devi chiamare il ridisegno del kanvas.

Esempio:

      LOAD_CANVAS_Last_10_bars();
      //---------------------------
      CIRCLE(q1,q2,q3,clrGreen);  
      TRIANGLE(q1,q1,q1 + 100,q1 + 10,q1 + 50,q1 + 200,clrRed);  
      ELLIPSE(q1,q1,q1 + q1*2,q1 +  q1,clrBlue);  
      FILLED_CIRCLE(q1,20,20,clrBlue); 
      TRIANGLE(q1 + 10,q1,q1 + 10,q1 + 100,q1 + 50,q1 + 200,clrAqua);  
      ELLIPSE(q1 + 50,q1,q1 + q1*2,q1 * q1-30,clrBlack);  
      ELLIPSE(q1 + 52,q1,q1 + q1*3,q1 * q1-32,clrMagenta); 
      ELLIPSE(q1 + 54,q1,q1 + q1*4,q1 * q1-34,clrOrange); 
      FILLED_CIRCLE(q1 + 70,q1+20,20,clrDarkCyan);        
      FILLED_CIRCLE(q3,q2,40,clrGreen); 
      REC(q1,q1,q1*2,q1*2,clrBlue);
      REC(50,50,q1*2,20,clrBlue);
      FILLED_REC(50,70,q1*2,20,clrBlue);
      FILLED_REC(50,95,q1*2,20,clrGreenYellow);
      FILLED_REC(50,120,q1*2,20,clrAntiqueWhite);
      FILLED_REC(50,145,q1*2,20,clrAzure);
      FILLED_REC(50,170,q1*2,20,clrBisque);
      FILLED_REC(50,195,q1*2,20,clrMediumBlue); 
      FILLED_REC(50,20,20,q1*2,clrBlue);
      FILLED_REC(75,20,20,q1*2 + 10,clrGreenYellow);
      FILLED_REC(100,20,20,q1*2 - 4,clrAntiqueWhite);
      FILLED_REC(125,20,20,q1*2 + 3,clrAzure);
      FILLED_REC(150,20,20,q1*2 + 18,clrBisque);
      FILLED_REC(175,20,20,q1*2 - 30,clrMediumBlue);
      //------------------------------------
      REDRAW_CANVAS();
 

Qualcosa come questo....



 

Faresti meglio a studiare la psicologia del trading, o a prendere qualche lezione da me, piuttosto che metterti in imbarazzo con una grafica di livello 50 qui. Ha un aspetto disgustoso, si può torturare con esso se lo si allaccia e si fissano gli occhi.


 
Vasily Perepelkin:

Faresti meglio a studiare la psicologia del trading, o a prendere qualche lezione da me, piuttosto che metterti in imbarazzo con una grafica di livello 50 qui. Ha un aspetto disgustoso, si può essere torturati così se ci si lega e si fissano gli occhi.


Allora ti aspetta un'altra tortura)).

ZS. A proposito, chi di voi due èVasily Perepelkin nella foto?
 
Реter Konow:

Così, così....

Ecco il codice dell'animazione.

     LOAD_CANVAS_Main_form_1();
      //---------------------------
      CIRCLE(q2,q1,q2,clrBurlyWood); 
      CIRCLE(q2 + r,q1 + r,q2 + r,clrBurlyWood);
      CIRCLE(q2 + r,q1 + r,q2 + r + r,clrBurlyWood); 
      TRIANGLE(q2,q2,q2 + 100,q2 + 10,q2 + 50,q2 + 200,clrRed);  
      ELLIPSE(q1,q1,q1 + q1*2,q1 +  q1,clrBlue);  
      FILLED_CIRCLE(q2,20,20,clrBlue); 
      CIRCLE(q2,20,r + 20,C'25,25,25');
      CIRCLE(q2,20,r + 10,C'25,25,25');
      CIRCLE(q2,20,r + 3,C'25,25,25');
      TRIANGLE(q2 + 10,q1,q1 + 10,q1 + 100,q1 + 50,q1 + 200,C'125,225,125');  
      ELLIPSE(q2 + 50,q1,q1 + q1*2,q1 * q1-30,clrBlack);  
      ELLIPSE(q2 + 52,q1,q1 + q1*3,q1 * q1-32,clrMagenta); 
      ELLIPSE(q2 + 54,q1,q1 + q1*4,q1 * q1-34,clrOrange); 
      FILLED_CIRCLE(q1 + 70,q1+20,20,clrDarkCyan);        
      FILLED_CIRCLE(q3,q2,40,clrYellow);
      CIRCLE(q3,q2,r,C'25,125,125'); 
      CIRCLE(q3,q2,r + 10,C'25,125,125');
      CIRCLE(q3,q2,r + 20,C'25,125,125');
      CIRCLE(q3,q2,r + 30,C'25,125,125');
      CIRCLE(q3,q2,r + 40,C'25,125,125');
      REC(q1 + r,q1 + r,q1*2 + r,q1*2 + r,clrBlue);
      REC(50 + r,50 + r,q1*2,20 + r,clrBlue);
      for(int t1 = 0; t1 < 30; t1+= 2)
         {
          REC(q2 + t1,q2 + t1,q2*2 + t1,q2*2 + t1,clrBlue);
          CIRCLE(q2 + t1,q2 + t1,q3 + t1,clrBlue); 
          ELLIPSE(q2 + t1,q1 + t1,q1 + q2*2 + t1,q1 +  q1 + t1,clrBlue);
          TRIANGLE(q2 + 10 + t1 + r,q1 + t1,q1 + 10 + t1,q1 + 100 + t1,q1 + 50 + t1,q1 + 200 + t1,clrBlue); 
          ELLIPSE(q2 + 50 + t1 + r,q1 + t1,q2 + q1*2 + t1,q2 * q1-30 + t1,clrBlack);  
          ELLIPSE(q2 + 52 + t1 + r,q1 + t1,q2 + q1*3 + t1,q2 * q1-32 + t1,clrMagenta); 
          ELLIPSE(q2 + 54 + t1 + r,q1 + t1,q1 + q1*4 + t1,q1 * q1-34 + t1,clrOrange); 
          if(t1 > 10 && t1 < 20)
            {
             CIRCLE(q2 + t1,q2 + t1,q3 + t1 + 20,C'185,0,0'); 
             CIRCLE(q2 + t1 + 1,q2 + t1 + 1,q3 + t1 + 21,C'210,0,0');
             CIRCLE(q2 + t1 + 1,q2 + t1 + 2,q3 + t1 + 22,C'235,0,0');
             CIRCLE(q2 + t1 + 1,q2 + t1 + 3,q3 + t1 + 23,C'255,0,0');
            }         
         }
      //-----------------------------------------------------------------------
      REDRAW_CANVAS();


Fondamentalmente, è molto breve. Con i cicli si possono creare forme tridimensionali. Naturalmente, questo è solo l'inizio della tecnologia 3d, e in futuro, le cose si evolveranno.

Tuttavia, se si sviluppa a questo ritmo.... ))

La prossima sfida è disegnare su più tele contemporaneamente.

 
Vasily Perepelkin:

Faresti meglio a studiare la psicologia del trading, o a prendere qualche lezione da me, piuttosto che metterti in imbarazzo con una grafica di livello 50 qui. Ha un aspetto disgustoso, si può torturare con esso se lo si allaccia e si fissano gli occhi.


http://www.selfcreation.ru/zhizn/kto-umeet-tot-delaet-kto-ne-umeet-tot-uchit.html

Leggetelo a vostro piacimento.

 
Александр:


Non ho dimenticato il tuo pannello. Sto implementando una connessione completa tra il pannello sul grafico normale e l'EA nel tester. Il compito, a dir poco, non è facile...)

(Inoltre, ho bisogno di finire la lista dinamica per la tabella degli ordini aperti).