My approach. The core is the engine. - page 100

 
Vasiliy Sokolov:

If you are using a table, you must decide whether you want the data in the table to be strictly numeric or textual. If text, you pass in strings. If it's real, your function must have a view:

The problem is that a cell can pass any value. That's why it's a cell.

But a checkbox or a button isn't. It's simpler there. Butinput fields and table cells - any data.

And it turns out that there is nothing better than rows in this case...(((


It's hard to decide. So, we have to make the language of markup more complicated. For each cell type - a separate element. But what's the point?

Or you may refuse to pass the texts at all. Or we could do it all through the union. Fast and professional.

But, you see, this is a bad output....

 

And so, the possibilities for custom animation within the engine's windows are expanding. So far it has been possible to reach this level:

 
 

The following tasks:

  1. To achieve form transparency control on the user side.
  2. To fix the transfer of an array of values to the engine, which will be used to draw a curved line on the scale of the user graph. In fact, this will become a CGrafic-like feature.

Creating and managing the drawing of shapes is very easy:

  1. The builder creates wrapper functions to load the required kanvases.
  2. 14 simple drawing function names.
  3. Simple function parameters are X, Y, W, H, COLOR.
  4. At the end you have to call a kanvas redraw.

Example:

      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();
 

Something like this....



 

You'd be better off studying the psychology of trading, or taking some lessons from me, rather than embarrassing yourself with 50's level graphics here. It looks disgusting, you can torture with it if you strap it on and fix your eyes.


 
Vasily Perepelkin:

You'd be better off studying the psychology of trading, or taking some lessons from me, rather than embarrassing yourself with 50's level graphics here. It looks disgusting, you can be tortured like that if you tie and fix your eyes.


Then you're in for some more torture)).

ZS. By the way, which one of you two isVasily Perepelkin in the photo?
 
Реter Konow:

Like this, like this....

Here's the animation code.

     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();


Basically, it's very short. With cycles, you can create three-dimensional shapes. Of course, this is just the beginning of 3d technology, and in the future, things will evolve.

However, if it develops at this rate.... ))

The next challenge, is to draw on multiple canvases at once.

 
Vasily Perepelkin:

You'd be better off studying the psychology of trading, or taking some lessons from me, rather than embarrassing yourself with 50's level graphics here. It looks disgusting, you can be tortured like that if you tie your eyes and fix them.


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

Read it at your leisure.

 
Александр:


I haven't forgotten about your panel. I'm implementing a full-fledged connection between the panel on the regular chart and the EA in the tester. The task, to put it mildly, is not an easy one...)

(Also, I need to finish the dynamic list for table of open orders).