0
Предварительная версия. Покупка продажа — если цена была ниже выше ТМА и закрылась внутри канала.

www.opentraders.ru/downloads/790/

avatar

AM2

  • 2 июля 2015, 10:47
0
Здесь человек 2 дня уже делает! Там работы видать достаточно!
www.mql5.com/ru/job/29611
avatar

AM2

  • 1 июля 2015, 20:16
0
Вот предварительный вариант для D1.



//+------------------------------------------------------------------+
//|                                                           AO.mq4 |
//|                                              Copyright 2015, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property description "Simple expert advisor"

#include <stdlib.mqh>

//--- Inputs
extern int    StopLoss      = 500; //стоплосс отложенного ордера(если 0 то на предыдущий хай или лоу)
extern int    TakeProfit    = 500; //тейкпрофит  отложенного ордера
extern int    Delta         = 100; //расстояние от лоу или хая
extern double Lots          = 0.1; //лот
extern int    Slip          = 30;  //проскальзывание
extern int    Count         = 1;   //количество ордеров
extern int    Magic         = 123; //магик

/*
 При открытии свечи устанавливается стоповый ордер на некотором расстоянии (параметр настраивается),
  от хая или лоу «вчерашней» свечи. Хай или лоу зависит от стандартного индикатора АО Билла Вильямса.
   Например — появилась новая свеча, гистограмма АО выше нуля,
    над «вчерашним» максимумом установился бай-стоповый ордер,
     со стоп-лоссом под вчерашним минимумом. Предположим цена пошла в сторону этого ордера и он сработал.
      При открытии следующей свечи, если АО в плюсе, снова устанавливается бай-стоп на максимуме предыдущей свечи
       со стоп-лоссом на её минимуме, и стоп-лосс первого модифицируется под это же значение.
        При открытии последующих ордеров, стоп-лоссы всех предыдущих должны модифицироваться под последнее значение.
         Не сработавшие ордера должны быть удалены при закрытии свечи. 

Если показания АО ниже нуля, то всё наоборот — селл-стоп под вчерашним минимумом со стоп-лоссом над максимумом…
Тайм-фрейм — любой, валютная пара любая.

*/
int res,err;
double sl,tp;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
   Comment("");
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountOrders()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()>1)
               count++;
           }
        }
     }

   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double fND(double d,int n=-1)
  {
   if(n<0) return(NormalizeDouble(d, Digits));
   return(NormalizeDouble(d, n));
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(CountTrades()<=Count && CountOrders()<=Count) 
     {
      PutOtlOrder();
     }
     
  }
//+------------------------------------------------------------------+
void PutOtlOrder()
  {
   double AO=iAO(NULL,0,1),price;
//--- sellstop 
   if(AO<0)
     {
      price=fND(iLow(Symbol(),PERIOD_D1,0)-Delta*Point);
      if(StopLoss==0) sl=fND(iHigh(Symbol(),PERIOD_D1,1));  else sl=price+StopLoss*Point;
      if(TakeProfit==0) tp=0; else tp=price-TakeProfit*Point;
      res=OrderSend(Symbol(),OP_SELLSTOP,Lots,fND(price),0,fND(sl),fND(tp),"ОРДЕР SELLSTOP",Magic,TimeCurrent()+60*60*24,Red);
      if(res<0)
        {
         err=GetLastError();
         Print("ОШИБКА ВЫСТАВЛЕНИЯ ОРДЕРА SELLSTOP: ",err,"(",ErrorDescription(err),")");
           } else {
         RefreshRates();
        }
     }
//--- buystop 
   if(AO>0)
     {
      price=fND(iHigh(Symbol(),PERIOD_D1,1)+Delta*Point);
      if(StopLoss==0) sl=fND(iLow(Symbol(),PERIOD_D1,1)); else sl=price-StopLoss*Point;
      if(TakeProfit==0) tp=0; else tp=price+TakeProfit*Point;
      res=OrderSend(Symbol(),OP_BUYSTOP,Lots,fND(price),Slip,fND(sl),fND(tp),"ОРДЕР BUYSTOP",Magic,TimeCurrent()+60*60*24,Blue);
      if(res<0)
        {
         err=GetLastError();
         Print("ОШИБКА ВЫСТАВЛЕНИЯ ОРДЕРА BUYSTOP: ",err,"(",ErrorDescription(err),")");
           } else {
         RefreshRates();
        }
     }

   return;
  }
//+------------------------------------------------------------------+
avatar

AM2

  • 1 июля 2015, 20:10
0
Опять декомпил!!! 8-) 
avatar

AM2

  • 1 июля 2015, 19:38
0
Ссылку можешь оставить
avatar

AM2

  • 1 июля 2015, 19:34
0
Посмотрю из заказа.
avatar

AM2

  • 1 июля 2015, 18:16
0
До индикаторов только завтра доберусь.
avatar

AM2

  • 1 июля 2015, 18:05
0
Да я делаю сейчас
avatar

AM2

  • 1 июля 2015, 13:33
0
Просто только на первый взгляд *think* 
avatar

AM2

  • 1 июля 2015, 12:08
0
Сегодня буду смотреть.
avatar

AM2

  • 1 июля 2015, 10:43
0
Приложите индикатор пожалуйста.
avatar

AM2

  • 1 июля 2015, 09:36
0
TMA наладил, но SSRC не рисует никаких стрелочек.

avatar

AM2

  • 1 июля 2015, 09:28
0
TMA with Distances — 24 ошибки. Есть рабочий?
avatar

AM2

  • 1 июля 2015, 09:15
0
Начал делать пока по двум индикаторам.
avatar

AM2

  • 1 июля 2015, 08:53