Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 788

 

доброго  времени суток!!! друзья!товарищи! с уважением к вам профи!!!

помогите,подскажите!!! глаза у меня опухли голова болит,не могу прописать чтоб мой советник переместил StopLoss на указанные пункты в прибыль  на уровне текущей цене!!!

То есть когда цена подошла к заданной точке туда переместился StopLoss!!!

 мой пример ни как не подходит.

#define MagicNumber  123

////extern double TakeProfit   = 50; //Тейкпрофит ордера
extern double StopLoss     = 50; //Стоплосс ордера  
extern int    Delta        = 100;  //Расстояние от цены для установки ордера
extern int    Expiration   = 100;    //Время истечения ордера
extern double Lot          = 0.01;    //Объём позиции
extern int    TrailingLevel = 200;   //уровень
extern int    TrailingStep  = 200;


int            last_bar       = 0;
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start(){

for (int i=0; i<OrdersTotal(); i++) {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

           if (OrderType() == OP_BUY) { 
 if ((OrderStopLoss() < (Bid - TrailingLevel * Point - TrailingStep * Point)) || (OrderStopLoss() == 0)) { // 2
          bool res=OrderModify(OrderTicket(),OrderOpenPrice(),(Bid - TrailingLevel * Point),OrderTakeProfit(),0,Green);   
}
}
}
  
 datetime expiration = TimeCurrent()+3600*Expiration; /// время окончания  
   double BUYLIMITPrice=Ask-Delta*Point; /// это пункты BUYLIMIT

 if (last_bar == Bars) return(0) ;
  last_bar = Bars;
   if (OrdersTotal() == 0)
     {
int ticket=OrderSend(Symbol(),OP_BUYLIMIT,Lot, BUYLIMITPrice,0, BUYLIMITPrice-StopLoss*Point,0 ,"",MagicNumber,expiration,clrNONE);/// это BUYLIMIT
}
 
//----
  return(0) ; 
 } 
  
  
//-- ------------------------------------------------------------------


 
Rita:

Добрый день.

Пож. подскажите. Открываю позицию:

Как можно задать, чтобы в комментарии позиции отображалось значение  Magic после слова номер? 

Т.е. в данном случае:  Номер 20781

 

Можно и так сделать:

   int mag=111222333;
   string str="Сложение строки и числа ";
   str=str+mag;
   Alert(str);

 При сложении переменных разных типов результат преобразуется в тип переменной с наибольшим приоритетом. У string выше, чем у int

 
TarasBY:
Имеете время закрытия убыточной позиции OrderCloseTime(). От него можно считать время через TimeCurrent() - OrderCloseTime(). Или в барах через iBarShift (NULL, 0, OrderCloseTime()).

Спасибо!
 
Добрый день! Подскажите, возможно ли из советника вызвать стандартный индикатор (например МА), чтобы он отобразился на графике. Мне нужно не его значение в конкретной точке, это понятно, а именно чтобы он нарисовался на графике? Спасибо
 
alxm:
Добрый день! Подскажите, возможно ли из советника вызвать стандартный индикатор (например МА), чтобы он отобразился на графике. Мне нужно не его значение в конкретной точке, это понятно, а именно чтобы он нарисовался на графике? Спасибо

Можно, только с API, и только с параметрами по умолчанию.
Или библиотека Вадима Zhunko. Что вам ближе. Суть одна же - надо самому реализовывать передачу параметров от EA индикатору.

Библиотека.

 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 // 7. ФУНКЦИИ ДЛЯ УПРАВЛЕНИЯ ПРОГРАММАМИ MQL4.
 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 // 7.1. Функция удаляет эксперт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE.
 bool ServiceDeleteExpert(int hwndChart); // Системный дескриптор окна графика, удаляемого эксперта.
 //===============================================================================================================================================
 // 7.2. ФУНКЦИЯ удаляет индикаторы по имени из списка загруженных индикаторов.
 void ServiceDeleteIndicatorsByName(int     hwndChart,         // Системный дескриптор окна, куда прикреплен индикатор.
                                    int     nWindow,           // Номер подокна для удаления индикаторов. Если -1, то удаляются индикаторы из всех подокон.
                                    string &asIndicatorName[], // Одномерный массив с именами удаляемых индикаторов.
                                    int     nNumberName);      // Количество имён индикаторов в массиве.
 //===============================================================================================================================================
 // 7.3. Функция удаляет скрипт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE.
 bool ServiceDeleteScript(int hwndChart); // Системный дескриптор окна графика, удаляемого скрипта.
 //===============================================================================================================================================
 // 7.4. Функция управляет диалоговым окном завершения скрипта и возвращает системный дескриптор диалогового окна завершения скрипта, если окно есть,
 //      иначе - NULL. Функция работает только с русской и английской локализациями.
 int ServiceDialogScript(int bInstruction); // Команда для диалогового окна завершения скрипта: TRUE - завершить скрипт, FALSE - не завершать скрипт.
 //===============================================================================================================================================
 // 7.5. Функция получает имена индикаторов из списка загруженных индикаторов.
 //      В случае успеха функция возвращает количество индикаторов в указанных подокнах параметром "nWindow", иначе ноль.
 int ServiceGetNamesIndicators(int     hwndChart,         // Системный дескриптор окна, куда прикреплен индикатор.
                               int     nWindow,           // Номер подграфика. Если -1, то считываются имена индикаторов из всех подокон.
                               string &asIndicatorName[], // Одномерный строковый массив для приёма имён индикаторов.
                                                          // Массив должен быть инициализирован разными значениями в каждой ячейке!
                                                          // Это особенность инициализации строковых массивов в MQL4.
                               int     nNumberName);      // Размер массива "asIndicatorName[]" для приёма имён индикаторов.
 //===============================================================================================================================================
 // 7.6. Функция возвращает TRUE, если окно свойств эксперта открыто, иначе - FALSE.
 bool ServiceIsPropertiesExpert(string sNameExpert); // Имя эксперта, для которого контроллируется открытие окна.
 //===============================================================================================================================================
 // 7.7. Функция открывает окно списка индикаторов. Функция ожидает открытия окна в течении 2,5 секунд. Если окно не появилось в течении этого времени,
 //      функция возвращает FALSE.
 bool ServiceListIndicators(int hwndChart); // Системный дескриптор окна графика, на котором вызывается окно списка индикаторов.
 //===============================================================================================================================================
 // 7.8. Функция загружает на указанный график пользовательский индикатор по его имени.
 void ServiceLoadCustomIndicator(int    hwndChart,      // Системный дескриптор окна графика, куда загружается индикатор.
                                 string sNameIndicator, // Имя загружаемого индикатора.
                                 int    bOK);           // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора.
                                                        // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 // 7.9. Функция загружает на указанный график эксперт по его имени.
 void ServiceLoadExpert(int    hwndChart,   // Системный дескриптор окна графика, куда загружается эксперт.
                        string sNameExpert, // Имя загружаемого эксперта.
                        int    bOK);        // Подтверждение запуска эксперта, при наличии диалогового окна свойств эксперта.
                                            // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 // 7.10. Функция загружает на указанный график скрипт по его имени.
 void ServiceLoadScript(int    hwndChart,   // Системный дескриптор окна графика, куда загружается скрипт.
                        string sNameScript, // Имя загружаемого скрипта.
                        int    bOK);        // Подтверждение запуска скрипта, при наличии диалогового окна свойств скрипта. Скрипт может не иметь окна свойств!
                                            // При использовании функции для загрузки скрипта из скрипта на текущем графике параметр не работает из-за
                                            // невозможности одновременной работы двух скриптов на одном графике.
                                            // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 // 7.11. Функция загружает на указанный график стандартный индикатор по его имени.
 void ServiceLoadStdIndicator(int    hwndChart,      // Системный дескриптор окна графика, куда загружается индикатор.
                              string sNameIndicator, // Имя загружаемого индикатора.
                              int    bOK);           // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора.
                                                     // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 
logut:

доброго  времени суток!!! друзья!товарищи! с уважением к вам профи!!!

помогите,подскажите!!! глаза у меня опухли голова болит,не могу прописать чтоб мой советник переместил StopLoss на указанные пункты в прибыль  на уровне текущей цене!!!

То есть когда цена подошла к заданной точке туда переместился StopLoss!!!

 мой пример ни как не подходит.

А что не нравиться ? 

 
ALXIMIKS:

Можно, только с API, и только с параметрами по умолчанию.
Или библиотека Вадима Zhunko. Что вам ближе. Суть одна же - надо самому реализовывать передачу параметров от EA индикатору.

Т.е. стандартными средствами не получится. Спасибо!
 
alxm:
Т.е. стандартными средствами не получится. Спасибо!
Можно объектами построить
 

Добрые люди!!!

Помогите найти ошибку.Я изучаю тему Массивы.

Создал массив во включаемом файле.

Вставил обращение ко включаемому файлу в советник.

Но советник не компилируется.Не могу понять почему

В ссылке  расположение файлов коды ошибок

http://clip2net.com/s/jkTd89

 

double mass[]={
1.38890,
1.40510,
1.40980,
1.41340,
2.07850};
#include <ВКЛ.ФАЙЛ.mqh>
int ot ;
int ht ;
double X ;
double X1 ;
double X2 ;

int start()     
{
ot = OrdersTotal();     
double value = Bid;
int S = ArrayBsearch(mass,  value, WHOLE_ARRAY,  0, MODE_ASCEND);
if (ot==0)
if(Bid == mass[S])
OrderSend(Symbol(),OP_SELL,0.1,Bid ,3,Ask+1000*Point,Ask-300*Point,"jfh",123 );

return;
}

 Спасибо.

 
solnce600:

Добрые люди!!!

Помогите найти ошибку.Я изучаю тему Массивы.

Создал массив во включаемом файле.

Вставил обращение ко включаемому файлу в советник.

Но советник не компилируется.Не могу понять почему

В ссылке  расположение файлов коды ошибок

http://clip2net.com/s/jkTd89

 

 Спасибо.

 

В первой же строке было сообщение что компилятор не находит включаемый файл
Причина обращения: