Script to test manually my indicators historical in strategy tester

MQL4 Experts Scripts

Termos de Referência

Hi everyone,


I want to manually test and analyze my indicators with the "Strategy tester".
It may be similar to the LFH Trading simulator. (Link: http://www.forexfactory.com/showthread.php?t=70742)

I have already tried several simulators. Unfortunately, I found no one who does what I want.

I need an EA (like LFH) and two scripts (long and short) that trigger a market order and simultaneously show two lines representing the stop and the target.
By positioning the stop, the Lot Size is calculated. The target and the stop must always be displaceable or customizable. Simply by moving the lines up or down. On the left of the target line, the risk/reward ratio should be displaced (e.g. 3.6). If I move the target, the display of the risk/reward ratio have to be adjusted or updated.

What variables should be set in the EA.
1. Risk in Percent
2. Target sell 50% or 100% of the position
3. Color Target
4. Color Stop

The lot size is calculated by the difference between the open of the next bar with the distance to the stop and the available capital.

Calculation Lot size:
Buy Example:
1.2500 = Open next bar, 1.2450 stop line, $ 10.000 account, risk 2%


Maximum position size =
  ((10,000 $ * 2% stop loss) / 50 pips SL) / ((100,000 / 1.25) * 0.0001) = 0.5 Lot

Specific number formula:
((10000 * 0.02) / 50) / ((100,000 / 1.25) * 0.0001) = 0.5 Lot
I hope I have this right.


Function next bar in the EA:
I do not care what happens in the next bar. Therefore, I need an implementation of this function is to go to the close of the bar and then the startegietester goes into pause mode. I click play again and it goes back to the close of the bar.
Example script with the problem here is the 14400. I have always adjust the variable if I go to a different period. for example from 4 hours to 5 minutes. This should take into account the new script.
// Break programs
    pausetime = TimeToStr (Time [0], TIME_DATE | TIME_MINUTES);
    Alert (pause time);
    if (pausetime> = pausetimenew)
      {
       Comment ("Next Stop" + pausetimenew);
       keybd_event (19,0,0,0);
       Sleep (1);
       keybd_event (19,0,2,0);
       pausetimenew = TimeToStr (Time [0] + 14400, TIME_DATE | TIME_MINUTES);
       // Note seconds adjust as required
      }

If you have any questions, just post here.

Respondido

1
Desenvolvedor 1
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
2
Desenvolvedor 2
Classificação
(128)
Projetos
236
65%
Arbitragem
30
37% / 23%
Expirado
49
21%
Livre
3
Desenvolvedor 3
Classificação
(219)
Projetos
370
42%
Arbitragem
145
17% / 41%
Expirado
124
34%
Livre
Publicou: 38 códigos
4
Desenvolvedor 4
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
5
Desenvolvedor 5
Classificação
(64)
Projetos
144
46%
Arbitragem
19
42% / 16%
Expirado
32
22%
Livre

Informações sobre o projeto

Orçamento
20 - 100 USD
Prazo
de 1 para 5 dias