[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 509

 
Вот,
int X=0;
double S = 0.0000;
extern double       lot=0.1;
extern double       koef=1.5;
extern int       SL=10;
extern int       TP=10;
double dl;
double a;

int init()
  {
  a=lot;
   return(0);
  }

int deinit()
  {

   return(0);
  }


int start()
 {   
               
              
              
                S=Open[0];
                Sleep(1000);
                
             
             if(OrdersTotal() == 0 && X==1)
              { 
              if (Close[0]>dl){lot=a;}
              X=0;
              }
              
              if(OrdersTotal() == 0 && X==2)
              { 
              if (Close[0]<dl){lot=a;}
              X=0;
              }
                
             
             
 
                   if (OrdersTotal() == 0 && Close[0]>S && Close[1]>Open[1]) 
                           {
                            dl=Close[0];
                            OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-SL*0.0001,Ask+TP*0.0001,"",14774,0,Blue); 
                            lot=lot*koef;
                            X=1;            
                           }
                   
                    if(OrdersTotal() == 0 && Close[0]<S && Close[1]<Open[1]) 
                           {
                            dl=Close[0];
                            OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+SL*0.0001,Bid-TP*0.0001,"",14774,0,Red); 
                            lot=lot*koef;
                            X=2;
                           }

   return(0);
 }
вроде бы сделал все как нужно.
 
Добрый день! Подскажите пожалуйста, есть ли возможность в скрипте использовать значения отчета, выдаваемого при тестировании стратегий. Например, прибыль, которая выводится в закладке отчета.
 
ALigarx:
Вот, вроде бы сделал все как нужно.
Я думаю достаточно поменять местами строки
OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-SL*0.0001,Ask+TP*0.0001,"",14774,0,Blue);

и

OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+SL*0.0001,Bid-TP*0.0001,"",14774,0,Red); 
 

профи помогите.

нужна функция для подсчета среднего спреда, например за 1 минуту назад, за 3 минуты и за 5 минут назад. спасибо.

 
T-G:

профи помогите.

нужна функция для подсчета среднего спреда, например за 1 минуту назад, за 3 минуты и за 5 минут назад. спасибо.


Что бы его считать, его нужно еще и хранить.
 
Vinin:

Что бы его считать, его нужно еще и хранить.
ну за 3-5 мин можно и в переменных. считаем каждую минуту средний из ходя из макс-мин, а потом храним в перемеренной среднийза1мин или в массиве.
 
T-G:
ну за 3-5 мин можно и в переменных. считаем каждую минуту средний из ходя из макс-мин, а потом храним в перемеренной среднийза1мин или в массиве.

Такое уже давно есть. И на форуме лежало
 
Vinin:
Такое уже давно есть. И на форуме лежало
Это можно взять за основу.
Файлы:
 

Добрый день.

Подскажите плиз новичку.

есть такой скрипт допустим:

#property indicator_chart_window    // Индик. рисуется в основном окне
#property indicator_buffers 1       // Количество буферов
#property indicator_color1 Blue     // Цвет первой линии

double Buf_0[];     // Открытие индикаторных массивов
//--------------------------------------------------------------------
int init()                          // Специальная функция init()
  {
//--------------------------------------------------------------------
   SetIndexBuffer(0,Buf_0);         // Назначение массива буферу
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
//--------------------------------------------------------------------
   return;                          // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
   int i,                           // Индекс бара
       Counted_bars;                // Количество просчитанных баров 
   double Arr_1[9999], temp_A;
//--------------------------------------------------------------------
   Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   while(i>=0)                      // Цикл по непосчитанным барам
     {
      Buf_0[i]=High[i];             // Значение 0 буфера на i-ом баре
      Arr_1[i]=Close[i]-Open[i];
      Alert(Arr_1[i]);
      i--;                          // Расчёт индекса следующего бара
     }
   ArraySort(Arr_1,WHOLE_ARRAY,0,MODE_DESCEND);
   temp_A=Arr_1[0];
   Comment(DoubleToStr("temp_A",8)," - ", Counted_bars);
//--------------------------------------------------------------------
   return;                          // Выход из спец. ф-ии start()
  }
//--------------------------------------------------------------------

Почему temp_A в Comment() выводится как 0.00000000, а Alert(Arr_1[i]) в цикле выводит как положено ?

 

Как программно запросить загрузку/обновление графика?

Причина обращения: