Помогите написать советник по индюку - страница 2

 
ок. Сделать переворотами.
 
satop писал(а) >>
ок. Сделать переворотами.

да.

 
Понятно. Ща напишу.
 
satop писал(а) >>
Понятно. Ща напишу.

огромное спасибо

 
Sultanov >>:

че то я там не могу разобратся

в теме все описано,почитай,посиди и все получиться, я сам часа 2 парился,но оно того стоило

extern int _O_Mode=1; // 1-индикатор рисует стрелки, открытие по стрелкам, 2-у индикатора главная и сигнальная линия, открытие при пересечение линий, 3-используется одна линия и ее пересечение с уровнями
extern string _O_iCustomName="Stoch_cross_signal"; // имя Custom индикатора
extern string _O_iCustomParam="8/3/3/0/0"; // список параметров через разделитель "/". Для переменных типа bool вместо начения true используется 1, вместо false - 0. Если в параметрах индикатора ест строковые переменные, эксперт работать не будет!!!
extern int _O_M1_iBuyBufIndex=2; // индекс буфера со стрелками на покупку

extern int _O_M1_iSellBufIndex=3; // индекс буфера со стрелками на продажу


попробуй так это будет началом

Файлы:
 
ClassikTrader писал(а) >>

в теме все описано,почитай,посиди и все получиться, я сам часа 2 парился,но оно того стоило

extern int _O_Mode=1; // 1-индикатор рисует стрелки, открытие по стрелкам, 2-у индикатора главная и сигнальная линия, открытие при пересечение линий, 3-используется одна линия и ее пересечение с уровнями
extern string _O_iCustomName="Stoch_cross_signal"; // имя Custom индикатора
extern string _O_iCustomParam="8/3/3/0/0"; // список параметров через разделитель "/". Для переменных типа bool вместо начения true используется 1, вместо false - 0. Если в параметрах индикатора ест строковые переменные, эксперт работать не будет!!!
extern int _O_M1_iBuyBufIndex=2; // индекс буфера со стрелками на покупку

extern int _O_M1_iSellBufIndex=3; // индекс буфера со стрелками на продажу

попробуй так это будет началом

спасибо

 
MA-Crossover_Alert буфер 0 и 1
 

И получился вот такой результат....


Strategy Tester Report
Sultanov_V0
Alpari-Demo (Build 220)

СимволGBPUSD (Great Britain Pound vs US Dollar)
Период1 Час (H1) 2009.03.16 00:00 - 2009.04.14 00:00 (2009.03.14 - 2009.04.14)
МодельКонтрольные точки (очень грубый метод, результаты нельзя принимать во внимание)
Параметры_____1_____="Настройки советника"; Lots=1; shift=1; _____2_____="Настройки индикатора"; FastMA_Mode=1; FastMA_Period=5; FastPriceMode=0; SlowMA_Mode=1; SlowMA_Period=6; SlowPriceMode=0;

Баров в истории1500Смоделировано тиков13588Качество моделированияn/a
Ошибки рассогласования графиков20




Начальный депозит50000.00



Чистая прибыль9609.60Общая прибыль21311.50Общий убыток-11701.90
Прибыльность1.82Матожидание выигрыша147.84

Абсолютная просадка42.00Максимальная просадка5242.80 (8.78%)Относительная просадка8.78% (5242.80)

Всего сделок65Короткие позиции (% выигравших)32 (37.50%)Длинные позиции (% выигравших)33 (42.42%)

Прибыльные сделки (% от всех)26 (40.00%)Убыточные сделки (% от всех)39 (60.00%)
Самая большаяприбыльная сделка3687.80убыточная сделка-1774.60
Средняяприбыльная сделка819.67убыточная сделка-300.05
Максимальное количествонепрерывных выигрышей (прибыль)5 (2778.40)непрерывных проигрышей (убыток)6 (-1942.90)
Максимальнаянепрерывная прибыль (число выигрышей)3687.80 (1)непрерывный убыток (число проигрышей)-1987.60 (2)
Среднийнепрерывный выигрыш2непрерывный проигрыш2


 
//+------------------------------------------------------------------+
//|                                                  Sultanov_V0.mq4 |
//|                                                     Yuriy Tokman |
//|                                            yuriytokman@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Yuriy Tokman"
#property link      "yuriytokman@gmail.com"

extern string _____1_____ = "Настройки советника";
extern double Lots = 0.1;
extern int shift   = 1;

extern string _____2_____ = "Настройки индикатора";
extern int FastMA_Mode   = 1; 
extern int FastMA_Period = 5;
extern int FastPriceMode = 0;
extern int SlowMA_Mode   = 1; 
extern int SlowMA_Period = 6;
extern int SlowPriceMode = 0;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int cnt, ticket, total;
//----
   total=OrdersTotal();
   if(total<1) 
     {
      if(GetSignal()==OP_BUY)
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"т",8,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
           }
         else Print("Error opening BUY order : ",GetLastError()); 
         return(0); 
        }
      if(GetSignal()==OP_SELL)
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"т",8,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
           }
         else Print("Error opening SELL order : ",GetLastError()); 
         return(0); 
        }
      return(0);
     }   
//----
   for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
        {
         if(OrderType()==OP_BUY)
           {
            if(GetSignal()==OP_SELL)
                {
                 OrderClose(OrderTicket(),OrderLots(),Bid,30,Violet);
                 return(0); // exit
                }
           }
         else 
           {
            if(GetSignal()==OP_BUY)
              {
               OrderClose(OrderTicket(),OrderLots(),Ask,30,Violet);
               return(0); // exit
              }
           }
        }
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| My function                                                      |
//+------------------------------------------------------------------+
 int GetSignal()
   {
    double high = iCustom( NULL,0,"MA_Crossover_Alert",false,false,FastMA_Mode,FastMA_Period,FastPriceMode,SlowMA_Mode,SlowMA_Period,SlowPriceMode,0,shift);
    double low  = iCustom( NULL,0,"MA_Crossover_Alert",false,false,FastMA_Mode,FastMA_Period,FastPriceMode,SlowMA_Mode,SlowMA_Period,SlowPriceMode,1,shift);
    Alert("high",high,"  low",low);
    int vSignal = 0;
    if(high > 0) vSignal =OP_BUY;//up 
    else
    if(low > 0)  vSignal =OP_SELL;//down
    
    return (vSignal);
   } 
//+------------------------------------------------------------------+
 
Индикатор надо править, что бы советник работал.