Торговый робот “Ловец тренда 2”

 

В прошлый раз я представлял вашему вниманию торгового робота, который заключает сделки, следуя за ценой. У него есть ряд своих специфических особенностей. Во-первых, каждую длинную позицию он заключает выше предыдущей, а каждую короткую – ниже. Поэтому его целесообразно использовать на временном промежутке не более одного дня, и каждый следующий день перезапускать, обновляя, таким образом, точку начала отсчета. Во вторых он показывает хорошие результаты только при сильных движениях цены с минимумом «ложных» колебаний.

На этот раз я решил несколько усложнить алгоритм торгового робота, пытаясь, таким образом, сделать его более универсальным. Это не означает, что он однозначно лучше своего предшественника. И тот и другой могут показывать приличные результаты при различных характерах ценовых движений и правильно подобранных входящих параметрах переменных.

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

Итак, алгоритм торгового робота следующий:

1) Робот проверяет наличие открытых торговых позиций, если открытые позиции есть, ничего не происходит, если открытых позиций нет, то работает дальше;

2) А дальше определяемся, с какой стороны от скользящей средней находится в данный момент цена;

3) Если цена находится ниже скользящей средней и при этом она ниже или равна цене открытия предыдущей короткой позиции, то открывается короткая позиция;

4) Если цена находится выше скользящей средней и при этом она выше или равна цене открытия предыдущей длинной позиции, то открывается длинная позиция;

5) Далее открытая позиция закрывается либо по ордеру стоп-лосс, либо по ордеру тейк-профит и цикл повторяется.

Примечание: в пунктах 3 и 4 в случаях, когда цена только пересекла скользящую среднюю, предыдущих позиций может и не быть, в этом случае позиция просто открывается по текущей цене.

А вот и текст программы, который вы при желании можете скопировать и использовать, как вашей душе будет угодно. Я нежадный.

#property copyright "Blokhin Oleg"
#property link      "azbukatreydera.ru"

int 
b,s,w=0,p=20,sl=200,tp=200;

double
pos=1,v,v1,n,n1;

int start()                                   

{  
if(w=0)
{v1=Bid;
 n1=Bid;
 w=1;
}  

//--засекаем текущее значение цены
v=Bid;//для счетчика коротких позиций
n=Bid;//для счетчика длинных позиций
//--------------------------------

if(OrdersTotal()==0)//если открытых ордеров нет
{
if(Bid<iMA(NULL,0,p,0,MODE_SMA,PRICE_CLOSE,0))

   {if(v<=v1)//если текущее значение цены меньше либо равно предыдущему

         {s=OrderSend(Symbol(),OP_SELL,pos,Bid,3,Bid+sl*Point,Bid-tp*Point,0);  
          v1=Bid;//отсечка цены продажи
          n1=Bid;//обнуление для счетчика длинных позиций
         }
   }      

if(Bid>iMA(NULL,0,p,0,MODE_SMA,PRICE_CLOSE,0))
   {if(n>=n1)//если текущее значение цены больше либо равно предыдущему
         {b=OrderSend(Symbol(),OP_BUY,pos,Ask,3,Ask-sl*Point,Ask+tp*Point,0);
          n1=Bid;//отсечка цены покупки
          v1=Bid;//обнуление для счетчика коротких позиций
         }
   }      

}  
     return;                                                          
}

Добавить комментарий

Ваш e-mail не будет опубликован.

Присоединяйтесь к нам в соцсетях:

Все права защищены. Все материалы представленные на сайте являются интеллектуальной собственностью авторов. Полное или частичное копирование материалов запрещено без указания активной ссылки на источник (www.azbukatreydera.ru)


Материалы сайта "Азбука трейдера" носят исключительно информационный характер. Сайт не несёт ответственности за решения, принимаемые вами на их основе. Вся ответственность за последствия принятых вами решений лежит исключительно на вас. Начиная работу на финансовых рынках убедитесь в том, что вы обладаете достаточным уровнем подготовки и полностью осознаёте все связанные с этим риски