Нужен код для работы отложенными ордерами по уровням Фибоначи с использованием системы Мартингейла

MQL4 Experts Scripts

Specification

 

 График AUDJPY, H1, 2016.04.16 19:35 UTC, Alpari Limited, MetaTrader 4, Demo

 

Алгоритм: 2 цикла:

 График AUDJPY, H1, 2016.04.16 19:32 UTC, Alpari Limited, MetaTrader 4, Demo

 

Первый.

Скрипт выставляет первый отложенный ордер (например Sell Limit)  объемом 0.01 на уровне 38.2% (tp 161.8%; sl 0.0%). 

График AUDJPY, H1, 2016.04.16 19:42 UTC, Alpari Limited, MetaTrader 4, Demo
Если этот ордер открылся (стал рыночным ордером Sell), скрипт выставляет по направлению в противоположную к нему сторону новый отложенный ордер (например Buy Stop) объемом 0.02  на уровне 23.6% (tp 0.0%; sl 161.8%). 

График AUDJPY, H1, 2016.04.16 19:50 UTC, Alpari Limited, MetaTrader 4, Demo
Если и этот открылся, скрипт опять выставляет отложенный ордер в ту же сторону, что был и первый (например Sell Stop),но уже объемом 0.03 снова на уровне 38.2%(tp 161.8%; sl 0.0%).

График AUDJPY, H1, 2016.04.16 20:00 UTC, Alpari Limited, MetaTrader 4, Demo
Если и он открывается, то скрипт выставляет Buy Stop объемом 0.02 на уровне 23.6% без стопа и профита (tp -; sl -). 

График AUDJPY, H1, 2016.04.16 20:06 UTC, Alpari Limited, MetaTrader 4, Demo
Далее, при открытии Sell Stop 0.02  на уровне 23.6% (tp-; sl-), скрипт снимает со всех открытых позиций профиты и стопы    

 График AUDJPY, H1, 2016.04.16 20:11 UTC, Alpari Limited, MetaTrader 4, Demo

и выставляет новый отложенный ордер Sell Limit объемом 0.01 на уровне 38.2 (tp 161.8%; sl 0.0%) и т.д (то есть начинает исполняться заново).  

График AUDJPY, H1, 2016.04.16 19:42 UTC, Alpari Limited, MetaTrader 4, Demo
В идеале Цикл должен работать до тех пор пока цена не выйдет из коридора (между 38.2.0% и 23.6%)  и не достигнет либо 161.8%, либо 0.0%, но могут быть варианты. 

То есть, грубо,  должно быть какое-то  (от 1 до бесконечности) количество проходов по выставлению 4 ордеров (2 Sell:  0.01, 0.03 & 2 Buy: 0.02, 0.02), которые остаются в подвешенном виде (без стопов и профитов), и будут закрыты руками  и все!!! Например, при первом же проходе, после открытия второго ордера Buy 0.02 (tp -; sl-) то есть после перекрытия всех поз и снятия со всех ордеров профитов и стопов, цена может безоткатно уйти по направлению к 0.0% и не вернуться никогда. Но может случиться все то же самое, но и еще 1 проход (последний), в котором-то цена и выйдет из коридора. Хотя может быть и так, что высталенный первым отложенный ордер Buy Limit отработал идеально, цена, после того как он открылся, сразу дошла до профита, как вариант.

Если цена вышла из коридора и дошла до 161.8%, то должно быть так:

I.                                                                                                                                                                                                                        

1) Либо какое-то количество ордеров висит без стопов и профитов(с плавающим убытком, равным разнице между (38.2% и 23.6%)*0.04) * кол-во проходов  +(-) свопы).                                              

2) Либо какое-то количество ордеров висит без стопов и профитов(с плавающим убытком, равным разнице между (38.2% и 23.6%)*0.04) * кол-во проходов  +(-) свопы) и:                                            

 -  или один Sell 0.01 закрыт по профиту на уровне: 161.8%,                                                                                                                                                                                                                    

 - или два Sell (0.01 и 0.03) закрыты по профиту, а один Buy (0.02) закрыт по стопу на одном и том же уровне: 161.8%.

II.                                                                                                                                                                                                                                                                                                            

1) Либо ничего не висит, а:                                                                                                                                                                                                                                                                      

 -  или один Sell 0.01 закрыт по профиту на уровне: 161.8%,                                                                                                                                                                                                                    

 -  или два Sell (0.01 и 0.03) закрыты по профиту, а один Buy (0.02) закрыт по стопу на одном и том же уровне: 161.8%.

Если же цена вышла из коридора, но дошла не до 161.8%, а до 0.0%, то  скрипт включает второй цикл:

Второй:

В  самом начале, как только мы запускаем скрипт, он, кроме выставления отложенного ордера Sell Limit 0.01 на уровне 38.2% (tp 161.8%; sl 0.0%) для первого цикла,                                                                                                                      выставляет еще 1 отложенный ордер Buy Stop 0.01 на уровне 0.0% (tp - 61.8%; sl 161.8%) - это и есть начало второго цикла. 

 

 График AUDJPY, H1, 2016.04.19 14:32 UTC, Alpari Limited, MetaTrader 4, Demo

И, если предыдущий цикл отработал, и цена дошла до 0.0 (открылся этот самый отложенный ордер Buy Stop 0.01 на уровне 0.0% (tp-61.8%; sl 161.8%)),
то скрипт выставляет новый отложенный ордер Sell Stop 0.02  на уровне 23.6% (tp 161.8%; sl -61.8%). 

График AUDJPY, H1, 2016.04.19 14:35 UTC, Alpari Limited, MetaTrader 4, Demo
Затем, если и этот Sell Stop 0.02  на уровне 23.6% (tp 161.8%, sl -61.8%) открылся, 
то скрипт выставляет Buy Stop 0.03 на уровне 0.0%(tp -61.8%; sl 161.8%),

 График AUDJPY, H1, 2016.04.19 14:39 UTC, Alpari Limited, MetaTrader 4, Demo

потом все по мартингейлу: 
если  Buy Stop 0.03 на уровне 0.0%(tp -61.8%, sl 161.8%)  открылся, 
то скрипт выставляет Sell Stop 0.06 на уровне 23.6%(tp 161.8%; sl -61.8%),

 График AUDJPY, H1, 2016.04.19 14:43 UTC, Alpari Limited, MetaTrader 4, Demo

следующий ордер, который выставляет скрипт, если предыдущий  Sell Stop 0.06 на уровне 23.6%(tp 161.8%;sl -61.8%)  открылся, 
будет Buy Stop 0.12 на уровне 0.0% (tp -61.8%, sl 161.8%),  

 График AUDJPY, H1, 2016.04.19 14:46 UTC, Alpari Limited, MetaTrader 4, Demo

следующий ордер, который измученный скрипт должен будет выставить, если Buy Stop 0.12 на уровне 0.0% (tp -61.8%, sl 161.8%) открылся,  
будет перекрывающий все Sell Stop 0.08 на уровне на уровне 23.6%  без профитов и стопов (tp -, sl -). 

График AUDJPY, H1, 2016.04.19 14:49 UTC, Alpari Limited, MetaTrader 4, Demo


И, как только, и он сработает, скрипт у всех предыдущих открытых ордеров убирает все стопы и профиты и начинает исполнять весь предыдущий цикл сначала: выставляет отложенный ордер Buy Stop 0.01 на уровне 0.0% (tp -61.8%; sl 161.8%).    

  

В идеале Цикл должен работать до тех пор пока цена не выйдет из коридора (между 0.0% и 23.6%) и не достигнет либо -61.8%, либо 161.8%, но могут быть варианты.                                                                                                                                                                                                                                                                                                      

То есть, грубо,  должно быть какое-то  (от 1 до бесконечности) количество проходов по выставлению 6 ордеров (3 Buy:  0.01, 0.03, 0.12 &  3 Sell: 0.02, 0.06, 0.08), которые остаются в подвешенном виде (без стопов и профитов), и будут закрыты руками и все!!! Например, при первом же проходе, после открытия третьего ордера Sell 0.08 (tp -; sl-) то есть после перекрытия всех поз и снятия всех профитов и стопов, цена может безоткатно уйти по направлению к 161.8% и не вернуться никогда.                      Но может случиться все то же самое, но и еще 1 проход (последний), в котором-то цена и выйдет из коридора. Если цена вышла из коридора и дошла до - 61.8%, то должно быть так:

I.                                                                                                                                                                                                                                                                                                        
1) Либо какое-то количество ордеров висит без стопов и профитов с плавающим убытком равным  разнице между (0.0% и 23.6%)*0.12)* кол-во проходов +(-) свопы).                                                  

2) Либо какое-то количество ордеров висит без стопов и профитов с плавающим убытком равным  разнице между (0.0% и 23.6%)*0.12)* кол-во проходов +(-) свопы)   и:                                              

 - или один Buy 0.01 закрыт по профиту на уровне: -61.8%,                                                                                                                                                                                                                      

 - или два Buy (0.01 и 0.03) закрыты по профиту, а один Sell (0.02) закрыт по стопу на одном и том же уровне: -61.8%,                                                                                                                              

- или три Buy (0.01, 0.03, 0.12) закрыты по профиту, а два Sell (0.02, 0.06) закрыты по стопу на одном и том же уровне: -61.8.

II.                                                                                                                                                                                                                                                                   
 1) Либо ничего не висит, а:                                                                                                                                                                                                                                                                    

 -  или один Buy 0.01 закрыт по профиту на уровне: -61.8%,                                                                                                                                                                                                                      

 -  или два Buy (0.01 и 0.03) закрыты по профиту, а один Sell закрыт по стопу на одном и том же уровне: -61.8,                                                                                                                                        

 -  или три Buy (0.01, 0.03, 0.12) закрыты по профиту, а два Sell (0.02, 0.06) закрыты по стопу на одном и том же уровне: -61.8.

Если же цена вышла из коридора, но дошла не до -61.8%, а до 161.8%, то должно быть так:

 

 I.                                                                                                                                                                                                                                                                                                          

 1) Либо какое-то количество ордеров висит без стопов и профитов с плавающим убытком равным  разнице между (0.0% и 23.6%)*0.12)* кол-во проходов +(-) свопы).                                                    

2) Либо какое-то количество ордеров висит без стопов и профитов с плавающим убытком равным  разнице между (0.0% и 23.6%)*0.12)* кол-во проходов +(-) свопы)   и:                                              

- или один один Buy 0.01 закрыт по стопу и один Se 0ll.02 закрыт по профиту на уровне: 161.8,                                                                                                                                                                  

- или два Buy (0.01 и 0.03) закрыты по стопу и два Sell (0.02, 0.06) закрыты по профиту на одном и том же уровне: 161.8,                                                                                                                                                                                                         
 II.                                                                                                                                                                                                                                                                    
 1) Либо ничего не висит, а:                                                                                                                                                                                                                                                                    

 - или один один Buy 0.01 закрыт по стопу и один Sell 0.02 закрыт по профиту на одном и том же  уровне: 161.8,                                                                                                                                      

 - или два Buy (0.01 и 0.03) закрыты по стопу и два Sell (0.02, 0.06) закрыты по профиту на одном и том же уровне: 161.8.

                                                                                                    Вот рисунок для первого цикла. Красным - первый проход, голубым второй, зеленым третий.                       

 График AUDSGD, H4, 2016.04.17 12:23 UTC, Alpari Limited, MetaTrader 4, Demo

 Если скрипт исполнял бы весь алгоритм, и при условии что цена в данный момент назодится на уровне 1.05214 (-76.4%):-)то должно было быть так:


Уровень открытия для Sell: 0.99946 (38.2% по Фибо) tp 0.94280 (161.8% по Фибо); sl 1.01700 (0.0% по Фибо)
Уровень открытия для Buy: 1.00614 (23.6% по Фибо) tp 1.01700 (0.0% по Фибо); sl 0.94280 (161.8% по Фибо).

1) Проход: sell 0.04 плавающий убыток - 5268 пунктов (52.68 стандартных пункта) = - 21.084$
                   buy 0.04 плавающая прибыль 46 стандартных пунктов = 18.4 $.
                                                                                   общий (нереализованный) не зафиксированный, плавающий убыток - 2.684$. 
2) Проход: sell 0.01 убыток = - 5.268$
                    buy 0.02 прибыль = 9.2$
                        общая реализованная (зафиксированная) прибыль 3.932 $.

3) Проход: sell 0.01 убыток = - 5.268$
                    buy 0.02 прибыль = 9.2$
                        общая реализованная (зафиксированная) прибыль 3.932 $.

 Всего по трем проходам первого цикла, не считая свопов, депозит увеличился на 7.864$  имеем плавающий убыток в размере - 2.684$.

 

 Вот рисунок для второго цикла (был только один проход):

 

 График AUDSGD, H4, 2016.04.17 12:54 UTC, Alpari Limited, MetaTrader 4, Demo

 Если скрипт исполнял бы весь алгоритм, и при условии что цена в данный момент назодится на уровне 1.05214 (-76.4%):-)то должно было быть так:


Уровень открытия для Buy: 1.01700 (0.0% по Фибо) tp 1.04543 (-61.8% по Фибо); sl 0.94280 (161.8% по Фибо).
Уровень открытия для Sell: 1.00614 (23.6% по Фибо) tp 0.94280 (161.8% по Фибо); sl 1.04543 (-61.8% по Фибо).
1)  Проход: sell 0.01 убыток  3929  пункта (39.29 стандартных пункта) = - 3.929$
                  buy 0.02 прибыль = 2843 пункта (28.43 стандартных пункта) = 5. 686$
                                    общая реализованная (зафиксированная) прибыль 1.757 $.


Итог по обоим циклам:  не считая свопов, депозит увеличился на 9.621 $  имеем плавающий убыток в размере - 2.684$, или общая прибыль составила бы 6.937$

 

 

Может где-то и не так посчитал, но, думаю, что логика действий должна быть понятна.

 

 

 

 

 

Responded

1
Developer 1
Rating
(169)
Projects
460
41%
Arbitration
39
18% / 31%
Overdue
193
42%
Free
Published: 2 codes
2
Developer 2
Rating
(14)
Projects
21
48%
Arbitration
1
0% / 0%
Overdue
4
19%
Free
3
Developer 3
Rating
(574)
Projects
945
47%
Arbitration
309
58% / 27%
Overdue
125
13%
Free
4
Developer 4
Rating
(617)
Projects
1427
59%
Arbitration
31
81% / 0%
Overdue
10
1%
Free
5
Developer 5
Rating
(46)
Projects
73
16%
Arbitration
13
8% / 92%
Overdue
37
51%
Free
6
Developer 6
Rating
(68)
Projects
111
26%
Arbitration
17
6% / 71%
Overdue
15
14%
Free
Published: 9 codes
7
Developer 7
Rating
(170)
Projects
228
60%
Arbitration
3
33% / 33%
Overdue
6
3%
Free
Published: 1 code
8
Developer 8
Rating
(107)
Projects
149
36%
Arbitration
29
3% / 55%
Overdue
35
23%
Free
9
Developer 9
Rating
(1)
Projects
2
50%
Arbitration
1
0% / 0%
Overdue
0
Free
10
Developer 10
Rating
(64)
Projects
144
46%
Arbitration
19
42% / 16%
Overdue
32
22%
Free

Project information

Budget
20 - 30 USD
Deadline
from 3 to 5 day(s)