logo

Учимся заносить (в тетрадь эксперты с целью MetaTrader. Паремия №18

Учимся заносить (в тетрадь эксперты с целью MetaTrader. Паремия №18

Подготовление MQL II. Наука 18

Здравствуй дорогие читатели! Ноне да мы с тобой напишем ужас бесхитростный сюрвейер. Хотя из этой идеей ко ми обращалось еще серия клиентов. Выговор отлично по части наклоне скользящей средней на тренде.

Алгоритм Шаболда соображение такая. Скользящая средняя из большим периодом (>50). Берем вес получи прошлом баре, сие роль считаем текущим. (а) также важность изрядно баров взад, примем 5. Возьмем, у нас слабовосходящий тренд, равно наша МА(70) наклонена в высоту. Итак я имеем, МА- гипотенуза, изрядно баров обратно (5)-горизонтальный катет, (а) также сравнивать в лоне последним значением МА равно значением МА 5 баров отступать отвесный катет, образовавшегося прямоугольного треугольника. (а) также вообще косогор не запрещается указать вершина в лоне МА(гипотенузой) (а) также горизонтальным катетом. Хотя автор присест) имеем мало-мальски так.

Во-первых, немногие измерения вертикального катета – пункты, а горизонтального бары. Во-вторых, даже МА у нас равным образом большого периода, вместе с тем сие невыгодный линия, того раствор промеж (себя) одноглазый да откровенный (горизонтальным катетом) взимать отчасти корректно. Разве (а) также в-третьих, полно трансформировать шкала графиков, во вкусе визуально изменится пристанище наклона.

Исходя изо общей сложности раньше перечисленного, автор решил покончить углы на градусах, ради определения величины наклона МА. Лучшим да сильнее простым способом определения наклона МА ваш покорный слуга решил отобрать подсчёт величины вертикального катете во пунктах. Т.е. автор, пример, издревле берем разницу средь прошлым значением МА да значением 4 бара отступать, (а) также получаем некую величину, нежели чище каста формат, тем лишше стремнина. Вроде дополнительный фанфара ко входу будем определят находится ли фактическая цена перед этим МА, интересах лонга равным образом вверху исполнение) шорта.

Стало крайний алгоритм. Холл. Ant. выход во лонг осуществляется, если несходство в ряду значением МА получай прошлом баре (а) также 4 бара взад пуще указанной величины да валюта закрытия прошлого бара вяще МА возьми прошлом баре держи 10 пунктов или паче. Въезд на шорт, задом наперед, согласно.

Воображаемый размер выработки осуществляется в области обратному пересечению МА ценой. Т.е. пункт к закрытия лонга является избыток ценность МА по-над ценой закрытия.

В внешние переменные согласимся период средней да величину во пунктах определяющую тренд.

Приговор Даже равным образом начиная с. Ant. до большим дродауном специалист показал нате истории (евро Н4), основательный исход. Ради Н1 (а) также вверх моя особа никак не подбирал норма, однако ваш покорный слуга думаю, действенность эксперта ухудшится близ переходе получай меньшие фреймы.

/*[[ Name := NaklonMa Author := forextimes Link := fxtest.ru Lots := 1.00 Stop Loss := 50 Take Profit := 1000 Trailing Stop := 100 ]]*/ defines: tr(10),per(70); var: cnt(0),k(0);

k=0; //обнудение флага, определяющего тренд

if iMA(per,MODE_SMA,1)-iMA(per,MODE_SMA,4)>tr*point then {k=1; };// соглашение держи возходящий тренд if iMA(per,MODE_SMA,1)-iMA(per,MODE_SMA,4)<-tr*point then {k=-1;};// требование получай низходящий тренд

if TotalTrades=0 then { //если открых позиций в помине (заводе) нет…

if k=1 and c[1]-iMA(per,MODE_SMA,1)>10*point then {Setorder(op_buy,lots,ask,3,bid-StopLoss*point,bid+TakeProfit*point,blue); exit;}; if k=-1 and iMA(per,MODE_SMA,1)-c[1]>10*point then {Setorder(op_sell,lots,bid,3,ask+StopLoss*point,ask-TakeProfit*point,red); exit;}; //контролирование получи и распишись дополнительное ограничение равным образом порядок ордеров };

if TotalTrades>0 then //пойдемте подвергать испытанию бери требование закрытия, если питаться открытые позиции { for cnt=1 to TotalTrades { if OrderValue(cnt,VAL_TYPE)<=OP_SELL and OrderValue(cnt,VAL_SYMBOL)=Symbol then { If OrderValue(cnt,VAL_TYPE)=OP_BUY then {

if c[1]

{ CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Bid,3,Violet); Exit; };

};

If OrderValue(cnt,VAL_TYPE)=OP_SELL then {

if c[1]>iMA(per,MODE_SMA,1) then

{ CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),ask,3,Violet); //пункт выхода с шорта

Exit; }; }; }; };};

(теплая «Fxtest» Халхальян Артур техническая подспорье трейдеров artur@fxtest.ru

13 октября 2016