Any rookie question, so as not to clutter up the forum. Professionals, don't pass by. Nowhere without you - 6. - page 709

 

alexey1979621, на mql5 ответил ;)

 
Shurkin:

Hello.

When tessellating (terminal MT-4-670, Alt+R), the chart windows are placed in new places every time.

Can you please advise whether it is possible to fix them so that the position on the screen of each specific chart is constant?


MT-4-670, everything is fine with me

The pair charts are always located (in mosaic) as they are at the bottom tabs

In order of priority:

| 1 | 3 | 5 |

| 2 | 4 | 6 |

 
GalaX:

MT-4-670, I'm fine

The pair graphs are always arranged (in mosaic) as they are at the bottom of the tabs

In order of priority:

| 1 | 3 | 5 |

| 2 | 4 | 6 |


I always have the window that was full screen first, change the active window - the order of the mosaic changes as well
 
GalaX:

MT-4-670, I'm fine

The pair graphs are always arranged (in mosaic) as they are at the bottom of the tabs

By order of priority:

| 1 | 3 | 5 |

| 2 | 4 | 6 |


This property appears when the chart panel is switched on, when switched off it disappears and the active window is placed first.

I couldn't find anything about this in the latest version of the help.

 
alexey1979621:

Hi all! Help me find an error in the code. The point is as follows: total opened, let's say 6 of them 4 to profit, 2 to buy (according to the screenshot). Closing takes place when the total profit, with Cajem in 1.0 (according to the screenshot). 2 X 2 = 4 locked (they are closed usingOrderCloseBy), 2 seals are closed using OrderClose.

The error here is as follows: the overlapped orders are closed using OrderCloseBy, but the remaining orders are not closed at all

To avoid digging in the code, I think the error is here.

line 565 of the code - function to close orders

lines 92-100 of the code - close all other orders

line 550 of the code - function for counting open orders

I would appreciate any help.


"Line 92-100 of the code - close all other orders" - the order closing price is wrong.

In all cycles with search of orders, you need to change the order search direction, e.g., in the following way

 for(t = OrdersTotal() - 1; t >= 0; t--)

And in ClosePos(), the amount of orders changes considerably after the crossing. There must be a lot of errors there.

 

Programmatic access to alerts - those that are drawn with a red arrow on the right-hand side and send messages to where they should be sent when the price crosses the desired level, exists???????

Ayyyyyyy

 

Help please!!! Third day of puzzling!!!!

int stohastm1()

{


double z=iLowest(Symbol(),PERIOD_M1,MODE_LOW,m5,0); //return bar index for n-periods with min price

double x=iHighest(Symbol(),PERIOD_M1,MODE_HIGH,m5,0); //return the bar index for n-periods with max price

double MinLOWPeriod=iLow(Symbol(),PERIOD_M1,z); //return the bar price value with the lowest price

double MaxHIGHPeriod=iHigh(Symbol(),PERIOD_M1,x); //return the price of the bar with the highest price

double PriceCloseBar=iClose(Symbol(),PERIOD_M1,0); //return the close price of the last bar

double i=100*((PriceCloseBar*10000)-(MinLOWPeriod*10000));

double r=100*((MaxHIGHPeriod*10000)-(MinLOWPeriod*10000));

double Km1=(i/r);


return(Km1);

In real time the script works!!! in the strategy tester ERROR! DIVIDE BY ZERO!!! The formula is the simplest but you can't do it without division. (stochastic formula). As can be seen in the code and I multiplied the values by 10000 to generally exclude zeros! still an error! PLEASE!!!

 
sponger:

Help please!!! Third day of puzzling!!!!

int stohastm1()

{


double z=iLowest(Symbol(),PERIOD_M1,MODE_LOW,m5,0); //return bar index for n-periods with min price

double x=iHighest(Symbol(),PERIOD_M1,MODE_HIGH,m5,0); //return the bar index for n-periods with max price

double MinLOWPeriod=iLow(Symbol(),PERIOD_M1,z); //return the bar price value with the lowest price

double MaxHIGHPeriod=iHigh(Symbol(),PERIOD_M1,x); //return the price of the bar with the highest price

double PriceCloseBar=iClose(Symbol(),PERIOD_M1,0); //return the close price of the last bar

double i=100*((PriceCloseBar*10000)-(MinLOWPeriod*10000));

double r=100*((MaxHIGHPeriod*10000)-(MinLOWPeriod*10000));

double Km1=(i/r);


return(Km1);

In real time the script works!!! in the strategy tester ERROR! DIVIDE BY ZERO!!! The formula is the simplest but you can't do it without division. (stochastic formula). As can be seen in the code and I multiplied the values by 10000 to generally exclude zeros! still an error! PLEASE!!!

Isn't this a division?double Km1=(i/r);
 

borilunad:
А это не деление? double Km1=(i/r);   

it is!!! But you need it!!! stochastic formula%K = 100%-((Close - Minp)/(Maxp- Minp))

  • Close - current closing price
  • Minp - minimum minimum for the period n
  • Maxp - maximum for the period n
  • How can I do it without division?
 
sponger:
You can do this: Km=MathMax(i/r,Point); // with division, and it won't be zero!