[Архив!] Напишу советник БЕСПЛАТНО - страница 19

 

В програмировании я новичок даже можно сказать полный чайник. Но интересно попробывать свои силы в этом. Пытаюсь написать простой советник, который бы работал один день в неделю. Например в понедельник открытие в 00-00 часов а закрытие в 24-00. Отдельными кусками вроде бы понятно а в единную программу всё собрать не получается. Если не затруднит подскажите где взять (скачать) советник на эту тему. Мне для образца.

 
asd05:

В програмировании я новичок даже можно сказать полный чайник. Но интересно попробывать свои силы в этом. Пытаюсь написать простой советник, который бы работал один день в неделю. Например в понедельник открытие в 00-00 часов а закрытие в 24-00. Отдельными кусками вроде бы понятно а в единную программу всё собрать не получается. Если не затруднит подскажите где взять (скачать) советник на эту тему. Мне для образца.


Спамить не советую. Может и бан последовать
 
asd05:

В програмировании я новичок даже можно сказать полный чайник. Но интересно попробывать свои силы в этом. Пытаюсь написать простой советник, который бы работал один день в неделю. Например в понедельник открытие в 00-00 часов а закрытие в 24-00. Отдельными кусками вроде бы понятно а в единную программу всё собрать не получается. Если не затруднит подскажите где взять (скачать) советник на эту тему. Мне для образца.

Вот пример примитивного "ночного охотника". Работает по умолчанию с 21 вечера до 8 утра каждый день.
В самом простом варианте попробуйте примерно так:

//+------------------------------------------------------------------+
//|                                                    222222222.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"


extern int   Magic = 31295;
 extern int     Start=21;//начало работы вечером
extern int      End=8; //конец работы утром
extern int      SL=410;
extern int      TP=280;
extern double  Lot=0.1;

extern string  __________ = "=== Функция Трейлинг Стоп ====";
extern bool      UseTrailing = false;//Выключатель трейлинг стопа
extern int    MinProfit = 200;//порог включения трейлин стопа
extern int    TrailingStop = 150;// величина трейлинг стопа
extern int    TrailingStep = 10; // шаг трейлинг стопа 

bool Trade;
bool  gbNoInit    = False;   // Флаг неудачной инициализации

//----------------------------------------------------
int init()
{
//-----------------------------------------------------------
gbNoInit=False;  
if (!IsTradeAllowed()) {
    Message("Для нормальной работы советника необходимо\n"+
            "Разрешить советнику торговать");
    gbNoInit=True; return;
  }
  if (!IsLibrariesAllowed()) {
    Message("Для нормальной работы советника необходимо\n"+
            "Разрешить импорт из внешних экспертов");
    gbNoInit=True; return;    }
}
//-----------------------------------------------------

//===================================================
int start() {// функция СТАРТ

if (UseTrailing) TrailPositions(); // выключатель трейлинг стопа


if ( Hour()>Start || Hour()<End )//если время - больше Start или меньше End
    Trade=true;    else Trade=false;//то торговля разрешена
Comment ("Торговля разрешена с ",Start ," до ",End);
//---------------------------------------------------
if (Trade && NumberOfPositions(NULL,OP_BUY,Magic)<1) {
//если тоговля разрешена и нет откр. длинных позиций
   OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-SL*Point,Ask+TP*Point,"хи - хи",Magic,0,SkyBlue);
                                               }
//---------------------------------------------------   
 if (Trade && NumberOfPositions(NULL,OP_SELL,Magic)<1) {
//если тоговля разрешена и нет откр. селл-  позиций 
   OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Bid+SL*Point,Bid-TP*Point,"тра-ля-ля",Magic,0,Green);
                                                   }
 //-----------------------------
 return (0);                                      
}//конец функции СТАРТ 


//жжжжжжжжжжжжжжжжжжжжж Пользовательские функции жжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru/&nbsp;                 |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество позиций.                                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
int NumberOfPositions(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal(), kp=0;

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++)                                    {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))      {
      if (OrderSymbol()==sy || sy=="")                   {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op)                   {
            if (mn<0 || OrderMagicNumber()==mn) kp++;
          }}}}}   return(kp); }

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
 void TrailPositions() // функция трейлинг стоп
{
  int Orders = OrdersTotal();
  for (int i=0; i<Orders; i++) {
    if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
    if (OrderSymbol() != Symbol()) continue;
     if (OrderMagicNumber() == Magic ){    
     if (OrderType() == OP_BUY )  {
      if (Bid-OrderOpenPrice() > MinProfit*Point) {
        if (OrderStopLoss() < Bid-(TrailingStop+TrailingStep-1)*Point) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Bid-TrailingStop*Point,
                                                     OrderTakeProfit(), 0, Blue);
        }      }    }
    if (OrderType() == OP_SELL)  {
      if (OrderOpenPrice()-Ask >MinProfit*Point) {
        if (OrderStopLoss() > Ask+(TrailingStop+TrailingStep-1)*Point 
                                                       || OrderStopLoss() == 0) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Ask+TrailingStop*Point,
                                                      OrderTakeProfit(), 0, Blue);
        }   }   }    }   }  }

//+----------------------------------------------------------------------------+
//|  Вывод сообщения в коммент и в журнал                                      |
//+----------------------------------------------------------------------------+
void Message(string m) {
  Comment(m);
  if (StringLen(m)>0) Print(m);
}
 

здравствуйте!написание всё ещё в силе? :) а то столько всего тут написано уже....мне б советничек написать ...простой, по двум машкам и моментуму, дальше продолжу, если будет желание у кого-либо это сделать.

удачки
 

Нужно немного доработать простой советник Enterra_Forex_Star_EA_3.1.

Он торгует в задаваемое время по одной из двух RSI и ставит виртуальный тейкпрофит по шести таймерам.

В случае ухода цены в минус есть функция открытия дополнительных ордеров в том же направлении по превышению числа указанных пунктов (чтото вроде усреднения).

Проблема: открывает доп. позиции только в указанное время торговли и не пересчитывает тейк.

Надо сделать:

Когда цена уходит в минус от профитного направления открытого ордера, чтобы открывался ордер (а потом еще и еще - надо чтобы количество настраивалось)того же объема в том же направлении независимо от "рабочего времени" по таким условиям (только вместе не "или или"):

-превышено минимальное количество пунктов, на которое цена должна уйти в минус (задаваемое)

Настраиваемый индикатор I-Reg (прилагаю) должен "повернутся" в сторону профита (шириной канала можно пренебречь)

Необходимо добавить механизм усреднения с первым открытым (и последующими) ордером в виде "х пунктов от точки безубытка" А также возможность сделать тейк у всех "усредняющих" ордеров, как и у первого (с учтотм того что он меняется по таймеру).

Все с учетом 4/5 значных котировок

Все это почти так как надо сделано в Ilan_RSI_mm_extr193 (прилагаю как донор) просто я вообще ничего не понимаю в этом языке.

Пример:

Указанное время торговли (открытия поз) с 10 до 12

в 11:10 советник открывает к примеру Sell 5lot по цене 1.5000 - цена идет вверх и как я указал в настройках через 20п тоесть 1,5020 в 11:20 открывается второй ордер Sell тем же объемом. Закрываются они оба по виртуальному тейку первого, который задается 6 таймерами в советнике (хотя фактически выставлен другой) к примеру стоит тейк 10п а советник закрывает на 6п, короче это не очень важно. Итак они закрываются когда цена опускается до тейка первого одра (к примеру 1,4094).

Это так уже есть, а надо чтобы доп ордер открылся, когда цена пройдет не менее 20п указанных мной но тольк тогда когда индикатор I-Reg (настроенный мной) покажет разворот тренда.

Надо добавить параметры усреднения как я и говорил.

И вот еще что:

Если ордер открылся скажем в 11:50 sell, а цена пошла сильно вверх уже после 12:00 то это советник ордера больше не открывает вообще - надо это поправить, чтобы открывал усредняющие.

Хотел по яснее описать, а получилось как-то запутанно.

Може кто сделает?

Спасибо.

Файлы:
enterra.rar  23 kb
 
leonid553:

Вот пример примитивного "ночного охотника". Работает по умолчанию с 21 вечера до 8 утра каждый день.
В самом простом варианте попробуйте примерно так:


Спасибо попробую
 
Добрый день! Есть интересные идейки, хотелось бы реализовать в советнике. Обращаться на почту mrforex@mail.ru. Буду очень благодарен.
 

Здравствуйте если возможно напишите Пожалуйста Советника на основе двух Мувингов что бы он сам открывал сделки на пересечениях Заранее благодарен и извините за использование вашего Драгоценного времени пример в рисунке прикрепляю заранее БОЛЬШОЕ СПАСИБО для связи chughoy@list.ru


 
Добрый день. Мне нужен советник, который будет оповещать о пересечении определённых двух мувингов из четырёх. Готов заплатить. Для связи: shurik302(собака)gmail.com
 
molodec8:

Стратегия приносит до 40 процентов в месяц

Лучше ОТ 5 чем ДО 40 %% )))
Причина обращения: