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

Техническое задание

 

 График 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$

 

 

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

 

 

 

 

 

Откликнулись

1
Разработчик 1
Оценка
(169)
Проекты
460
41%
Арбитраж
39
18% / 31%
Просрочено
193
42%
Свободен
2
Разработчик 2
Оценка
(14)
Проекты
21
48%
Арбитраж
1
0% / 0%
Просрочено
4
19%
Свободен
3
Разработчик 3
Оценка
(564)
Проекты
933
47%
Арбитраж
303
59% / 25%
Просрочено
125
13%
Работает
4
Разработчик 4
Оценка
(560)
Проекты
1348
59%
Арбитраж
28
82% / 0%
Просрочено
10
1%
Свободен
5
Разработчик 5
Оценка
(46)
Проекты
73
16%
Арбитраж
13
8% / 92%
Просрочено
37
51%
Свободен
6
Разработчик 6
Оценка
(68)
Проекты
111
26%
Арбитраж
17
6% / 71%
Просрочено
15
14%
Свободен
7
Разработчик 7
Оценка
(131)
Проекты
188
54%
Арбитраж
3
33% / 33%
Просрочено
6
3%
Работает
8
Разработчик 8
Оценка
(107)
Проекты
149
36%
Арбитраж
29
3% / 55%
Просрочено
35
23%
Свободен
9
Разработчик 9
Оценка
(1)
Проекты
2
50%
Арбитраж
1
0% / 0%
Просрочено
0
Свободен
10
Разработчик 10
Оценка
(62)
Проекты
140
46%
Арбитраж
19
42% / 16%
Просрочено
32
23%
Свободен

Информация о проекте

Бюджет
20 - 30 USD
Исполнителю
18 - 27 USD
Сроки выполнения
от 3 до 5 дн.