Скачать MetaTrader 5

Написание советников БЕСПЛАТНО!!! - страница 3

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Armen1963
17
Armen1963  
nado chtobi v etom sovetnike stopovie ordera tralilis v rovnie rosstoyaniyax skajem n-niy order n*Фиксированный размер трала chtobi poluchilos setka orderov zaranie spasibo 
//+----------------------------------------------------------------------------+
//|                                                          e-SOTrailing.mq4  |
//|                                                                            |
//|                                                    Ким Игорь В. aka KimIV  |
//|                                                       http://www.kimiv.ru  |
//|                                                                            |
//|  03.09.2006  Автоматический Trailing всех стоповых ордеров.                |
//|              Вешать только на один график.                                 |
//|  21.07.2008  Сделал модификацию стопов и тейков.                           |
//+----------------------------------------------------------------------------+
#property copyright "Ким Игорь В. aka KimIV"
#property link      "http://www.kimiv.ru"

//------- Внешние параметры советника -----------------------------------------+
extern bool  AllStopOrders = False;    // Управлять всеми стоповыми ордерами
extern int   TrailingStop  = 15;       // Фиксированный размер трала
extern int   TrailingStop1  = 15;       // Фиксированный размер трала
extern int   TrailingStep  = 3;        // Шаг трала
extern bool  UseSound      = True;     // Использовать звуковой сигнал
extern color clModifyBuy   = Aqua;     // Цвет значка модификации покупки
extern color clModifySell  = Tomato;   // Цвет значка модификации продажи
extern int TrailingStop2=50;
extern double f1 = 25;
//------- Глобальные переменные советника -------------------------------------+
string SoundSuccess  = "ok.wav";       // Звук успеха
string SoundError    = "timeout.wav";  // Звук ошибки
int    NumberOfTry   = 5;              // Количество торговых попыток

//------- Подключение внешних модулей -----------------------------------------+
#include <stdlib.mqh>             // Стандартная библиотека

//+----------------------------------------------------------------------------+
//|  expert start function                                                     |
//+----------------------------------------------------------------------------+
void start() {
  
  
int Total=0;
for(int cnt1=0;cnt1<OrdersTotal();cnt1++)
   {
   
   OrderSelect(cnt1,SELECT_BY_POS,MODE_TRADES);
   if(OrderSymbol()==Symbol())
      {
      Total++;   
      if(OrderType()==OP_BUY)
        {
         if(TrailingStop2>0
         && Bid-OrderOpenPrice()>Point*TrailingStop2
         && OrderStopLoss()<Bid-Point*TrailingStop2)
            {
            OrderModify(OrderTicket(),OrderOpenPrice(),
            Bid-Point*(TrailingStop2-f1),OrderTakeProfit(),0);
           
            }
         }
      if(OrderType()==OP_SELL)
      {
         if(TrailingStop2>0
         && OrderOpenPrice()-Ask>Point*TrailingStop2
         && (OrderStopLoss()>Ask+Point*TrailingStop2 || OrderStopLoss()==0))
            {
            OrderModify(OrderTicket(),OrderOpenPrice(),
            Ask+Point*(TrailingStop2-f1),OrderTakeProfit(),0);
            
            }
         }
         
      }
   }             


  for (int i=0; i<OrdersTotal(); i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (AllStopOrders || OrderSymbol()==Symbol()) {
        TrailingOrders();
      }
    }
  }
}

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Возвращает наименование торговой операции                      |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    op - идентификатор торговой операции                                    |
//+----------------------------------------------------------------------------+
string GetNameOP(int op) {
  switch (op) {
    //case OP_BUY      : return("Buy");
    //case OP_SELL     : return("Sell");
    case OP_BUYLIMIT : return("BuyLimit");
    case OP_SELLLIMIT: return("SellLimit");
    case OP_BUYSTOP  : return("BuyStop");
    case OP_SELLSTOP : return("SellStop");
    default          : return("Unknown Operation");
  }
}

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 18.07.2008                                                     |
//|  Описание : Возвращает одно из двух значений взависимости от условия.      |
//+----------------------------------------------------------------------------+
color IIFc(bool condition, color ifTrue, color ifFalse) {
  if (condition) return(ifTrue); else return(ifFalse);
}

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 28.11.2006                                                     |
//|  Описание : Модификация одного предварительно выбранного ордера.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    pp - цена установки ордера                                              |
//|    sl - ценовой уровень стопа                                              |
//|    tp - ценовой уровень тейка                                              |
//|    ex - дата истечения                                                     |
//+----------------------------------------------------------------------------+
void ModifyOrder(double pp=-1, double sl=0, double tp=0, datetime ex=0) {
  bool   fm;
  color  cl=IIFc(//OrderType()==OP_BUY
               OrderType()==OP_BUYLIMIT
              || OrderType()==OP_BUYSTOP, clModifyBuy, clModifySell);
  double op, pa, pb, os, ot;
  int    dg=MarketInfo(OrderSymbol(), MODE_DIGITS), er, it;

  if (pp<=0) pp=OrderOpenPrice();
  if (sl<0 ) sl=OrderStopLoss();
  if (tp<0 ) tp=OrderTakeProfit();
  
  pp=NormalizeDouble(pp, dg);
  sl=NormalizeDouble(sl, dg);
  tp=NormalizeDouble(tp, dg);
  op=NormalizeDouble(OrderOpenPrice() , dg);
  os=NormalizeDouble(OrderStopLoss()  , dg);
  ot=NormalizeDouble(OrderTakeProfit(), dg);

  if (pp!=op || sl!=os || tp!=ot) {
    for (it=1; it<=NumberOfTry; it++) {
      if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break;
      while (!IsTradeAllowed()) Sleep(5000);
      RefreshRates();
      fm=OrderModify(OrderTicket(), pp, sl, tp, ex, cl);
      if (fm) {
        if (UseSound) PlaySound(SoundSuccess); break;
      } else {
        er=GetLastError();
        if (UseSound) PlaySound(SoundError);
        pa=MarketInfo(OrderSymbol(), MODE_ASK);
        pb=MarketInfo(OrderSymbol(), MODE_BID);
        Print("Error(",er,") modifying order: ",ErrorDescription(er),", try ",it);
        Print("Ask=",pa,"  Bid=",pb,"  sy=",OrderSymbol(),
              "  op="+GetNameOP(OrderType()),"  pp=",pp,"  sl=",sl,"  tp=",tp);
        Sleep(1000*10);
      }
    }
  }
}

//+----------------------------------------------------------------------------+
//|  Сопровождение ордеров простым тралом                                      |
//+----------------------------------------------------------------------------+
void TrailingOrders() {
  double di, pa, pb, pp, sl, tp;

  pp=MarketInfo(OrderSymbol(), MODE_POINT);
  if (OrderType()==OP_BUYSTOP) {
    pa=MarketInfo(OrderSymbol(), MODE_ASK);
    if (OrderOpenPrice()-pa>(TrailingStop+TrailingStep-1)*pp) {
      di=OrderOpenPrice()-pa-TrailingStop*pp;
      
      
      if (OrderStopLoss()  >0) sl=OrderStopLoss()  -di; else sl=0;
      if (OrderTakeProfit()>0) tp=OrderTakeProfit()-di; else tp=0;
      ModifyOrder(pa+TrailingStop*pp, sl, tp);
       
    }
  }
  
  if (OrderType()==OP_SELLLIMIT) {
    pa=MarketInfo(OrderSymbol(), MODE_ASK);
    if (OrderOpenPrice()-pa>(TrailingStop1+TrailingStep-1)*pp) {
      di=OrderOpenPrice()-pa-TrailingStop1*pp;
      if (OrderStopLoss()  >0) sl=OrderStopLoss()  -di; else sl=0;
      if (OrderTakeProfit()>0) tp=OrderTakeProfit()-di; else tp=0;
      ModifyOrder(pa+TrailingStop1*pp, sl, tp);
  }}
  
  if (OrderType()==OP_SELLSTOP) {
    pb=MarketInfo(OrderSymbol(), MODE_BID);
    if (pb-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp) {
      di=OrderOpenPrice()-pb-TrailingStop*pp;
      if (OrderStopLoss()  >0) sl=OrderStopLoss()  -di; else sl=0;
      if (OrderTakeProfit()>0) tp=OrderTakeProfit()-di; else tp=0;
      ModifyOrder(pb-TrailingStop*pp, sl, tp);
    }
  }
        if (OrderType()==OP_BUYLIMIT) {
    pb=MarketInfo(OrderSymbol(), MODE_BID);
    if (pb-OrderOpenPrice()>(TrailingStop1+TrailingStep-1)*pp) {
      di=OrderOpenPrice()-pb-TrailingStop1*pp;
      if (OrderStopLoss()  >0) sl=OrderStopLoss()  -di; else sl=0;
      if (OrderTakeProfit()>0) tp=OrderTakeProfit()-di; else tp=0;
      ModifyOrder(pb-TrailingStop1*pp, sl, tp);
    }
  }




}

//+------------------------------------------------------------------+

 
Андрей
4
Андрей  
Здравствуйте. можете написать советник на отложенные ордера
  пример
1. выставление ордеров начинается в 10ч по москве ( или как у меня на счете вальпари в 8-00)
2. примерно 9-59 открывает отложки по 2 ордера в обе стороны  от хай и лоу растояние 15 пп 
3. стопл лоссы будут стоять где открылись отложки в бай и селл
4. тек профит выставляется по 1 ордеру с каждой стороны . тп высчитывается от хай и лоу 9 часовой свечи 
5. вторые ордера должны стоять без тп . если первый ордер закрылся в + по тейк профиту , 2 ордер стоп лосс переводит в без убыток и дальше в трайлинг стоп  на расстоянии  тек профита.
6 и если цена так и не дошла до тп или сл они все закрываются в выбранное время в настройках
Roman Kutemov
1854
Roman Kutemov  
на пятом форуме один товарищ все порывается закодировать систему. обратитесь в его тему.
patreek:
Здравствуйте. можете написать советник на отложенные ордера
  пример
1. выставление ордеров начинается в 10ч по москве ( или как у меня на счете вальпари в 8-00)
2. примерно 9-59 открывает отложки по 2 ордера в обе стороны  от хай и лоу растояние 15 пп 
3. стопл лоссы будут стоять где открылись отложки в бай и селл
4. тек профит выставляется по 1 ордеру с каждой стороны . тп высчитывается от хай и лоу 9 часовой свечи 
5. вторые ордера должны стоять без тп . если первый ордер закрылся в + по тейк профиту , 2 ордер стоп лосс переводит в без убыток и дальше в трайлинг стоп  на расстоянии  тек профита.
6 и если цена так и не дошла до тп или сл они все закрываются в выбранное время в настройках
Alexandr Nevadovschi
121
Alexandr Nevadovschi  

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

Работать он будет так. Сразу после идентификации советника он ставит два отложенных ордера buy stop и sell stop на расстоянии "X" от цены (x можно указывать в настройках советника в пунктах) 

Лот, T.p. и S.l. указываются тоже в настройках.

Так же в настройках должен быть такой пункт типа время жизни ордера "T"- в минутах. Т.е. если время жизни T= 10 мин. То при срабатывании отложника через 10 минут этот ордер закрывается.

Итак. Если за время до закрытия свечи цена прошла расстояние >или = X то откроется ордер( и одновременно удалится второй отложник) и закроется по одной из трех причин - t.p. , s.l. или T. После закрытия Всё начинается сначала.

Если же цена прошла меньшее расстояние чем X, то при открытии новой свечи модифицируются отложники, а именно снова устанавливаются на расстоянии X от цены. И так повторяется пока не сработает один из них.

Советник должен работать на любом таймфрейме.

 В сети есть почти то что мне надо, этот советник я прикрепил внизу сообшения. 

Но в нем нет Времени жизни ордера.

И нет перезапуска после закрытия ордера.

Прошу помочь кому это кажется не трудным и интересным. Для меня это очень трудно, хотя я уже брался за изучение много раз, но после непонимания чего то всё заканчивалось головными болями и потерей желания вообше к форексу не то что к написанию программ. 

Файлы:
kalash
70
kalash  
сделайте пожалуйста советник на этом индикаторе!стрелка вниз  на селл,вверх на бай и все
Файлы:
Дмитрий
3
Дмитрий  
Есть индикатор, который строит прямоугольники по ряду правил. Требуется переделать его в советник так, чтобы индикатор рисовался один раз, но при оформлении последнего прямоугольника ждал, пока закроется свеча, и дальше перерисовывался, или рисовался новый прямоугольник, согласно всё тем же правилам.
В индикаторе есть проблема - не правильно (не грамотно) сделаны проверки на текущий индекс бара. Расчетный бар определяется без IndicatorCounted().
Заинтересованным писать в личку, в вк http://vk.com/d_man_54, skype mitjaika54
mvn1954
7
mvn1954  

Не поможете написать советник.

Есть ручная ТС с индикаторами работает на любом ТФ с любым инструментом. Но я часто пропускаю сигналы , т.к. постоянно сидеть у монитора не могу. ТЗ есть. Могу выслать и доработать под ваши требования.

Суть – советник должен открывать сделки, когда пересечения CCI1 (медленного) или CCI2 (быстрого) с сигнальной линией (сглаженный с помощью коэффициента стохастик) будут подтверждены одновременным пересечением WPR с RSI.

Или когда CCI1 и CCI2 одновременно пересекут уровень "0".

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

Ответить можно и на почту  just-mvn@mail.ru

Пример сделок по индикаторам 

Vitalie Postolache
12446
Vitalie Postolache  
mvn:

Не поможете написать советник.

Есть ручная ТС с индикаторами работает на любом ТФ с любым инструментом. Но я часто пропускаю сигналы , т.к. постоянно сидеть у монитора не могу. ТЗ есть. Могу выслать и доработать под ваши требования.

Суть – советник должен открывать сделки, когда пересечения CCI1 (медленного) или CCI2 (быстрого) с сигнальной линией (сглаженный с помощью коэффициента стохастик) будут подтверждены одновременным пересечением WPR с RSI.

Или когда CCI1 и CCI2 одновременно пересекут уровень "0".

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

Ответить можно и на почту  just-mvn@mail.ru

 

А вы вообще в курсе, что значения RSI и WPR НИКОГДА не пересекаются??? То есть ВООБЩЕ НИКОГДА!!!

Так как значения RSI - от 0 до 100, а WPR - от 0 до -100...

Та оптческая иллюзия, что кажется вам на графике, не более чем обман зрения, по причине несовпадающих нулей индикаторных линий в подокне. 

keldech
9
keldech  
http://www.forexdengi.com/threads/87687-tochniy-vhod-po-magd-ili-kak-uvidet-razvorot   Это моя темка на форуме , по ней  написан  индикатор и советник , абсолютно бесплатно , он приносит прибыль  практически  всего 1500 процентов почти за полтора года, он у меня проработал  то же немного, полгода на реале я доволен , но хотелось бы больше,, он не много не доработан и очень сложен на мой взгляд, за основу взят магд, проанализировав его работу , я понял что надо упростить до НЕЛЬЗЯ, чем проще тем гениальнее,  но вот беда тот кто  делал сову невыходит с мая 2016 на связь , написал он его к стати в течении 3 дней,  не когда я невидел таких стейтов на истории , да и на реале , хорошо показал себя, но вот беда работает фиксированым лотом 0.01 и АВТО - ЛОТ, и имеет закрытый код естественно, потому как я его не имею право не кому передавать и изменять его, поэтому и родилась идея всё сделать проще и надёжнее , да и процентную прибыль поднимать в день процентов на 50, это реально , руками уже устал, то есть,, граалный сов,, получиться, естественно все права у программиста,  мне копия с  закрытым кодом без ограничений на включение. Кто действительно хочет иметь  форекс , а не наоборот, пишите в mail ----   jouri237@gmail.com  ---- c нетерпением жду заинтересованного письма. скрины торговли  и стейты по сову есть, вышлю скажу сразу просадоки есть ,но он с ними справляеться сам, вообще и все ордера в плюсе, но лот  изменить руками  нельзя , да и я держу слово не распространять только сырые версии, но кому они нужны да ещё, с закрытым кодом.Поэтому только новый Сов . с чистого листа , Он проще пареной репы будет , на пару тройку действий  подробности в переписке    Жду......, С новым годом 2017г   всех заинтересованных и просто трейдеров, ГРААЛЬ ВАМ В руки., а не то что вы подумали.Стейт почти за год  всё же помещу тут для затравки.....  к стати на мелких таймах   прибыль прибыль раза вдва больше сделок правда за 8000  доходит и болле но лот тут 0.01 как раз кстати ,короче скальпер из него , то же хорош. Там стейты вообще , есть  5 проц. просадки и так же как на этом стейте , все сделки в плюсе , то есть  100 проц  грааль получаеться
Точный вход по МАГД или как увидеть разворот
  • 2016.03.20
  • finam
  • www.forexdengi.com
Все знают , что такое Магд, и какие понятия к нему , относяться , в этой теме попытаюсь рассказать и не только, а и показать как точно войти ордером селл на вершине , и наоборот баем на лоу, Мой метод прост как 2+2=4, и даёт прекрасные результаты и при скальпе и при долгосрочной торговле .Разогнать маленький депозит...
Файлы:
3.jpg 227 kb
Evgeny Belyaev
24743
Evgeny Belyaev  
keldech:
http://www.forexdengi.com/threads/87687-tochniy-vhod-po-magd-ili-kak-uvidet-razvorot   Это моя темка на форуме , по ней  написан  индикатор и советник , абсолютно бесплатно , он приносит прибыль  практически  всего 1500 процентов почти за полтора года, он у меня проработал  то же немного, полгода на реале я доволен , но хотелось бы больше,, он не много не доработан и очень сложен на мой взгляд, за основу взят магд, проанализировав его работу , я понял что надо упростить до НЕЛЬЗЯ, чем проще тем гениальнее,  но вот беда тот кто  делал сову невыходит с мая 2016 на связь , написал он его к стати в течении 3 дней,  не когда я невидел таких стейтов на истории , да и на реале , хорошо показал себя, но вот беда работает фиксированым лотом 0.01 и АВТО - ЛОТ, и имеет закрытый код естественно, потому как я его не имею право не кому передавать и изменять его, поэтому и родилась идея всё сделать проще и надёжнее , да и процентную прибыль поднимать в день процентов на 50, это реально , руками уже устал, то есть,, граалный сов,, получиться, естественно все права у программиста,  мне копия с  закрытым кодом без ограничений на включение. Кто действительно хочет иметь  форекс , а не наоборот, пишите в mail ----   jouri237@gmail.com  ---- c нетерпением жду заинтересованного письма. скрины торговли  и стейты по сову есть, вышлю скажу сразу просадоки есть ,но он с ними справляеться сам, вообще и все ордера в плюсе, но лот  изменить руками  нельзя , да и я держу слово не распространять только сырые версии, но кому они нужны да ещё, с закрытым кодом.Поэтому только новый Сов . с чистого листа , Он проще пареной репы будет , на пару тройку действий  подробности в переписке    Жду......, С новым годом 2017г   всех заинтересованных и просто трейдеров, ГРААЛЬ ВАМ В руки., а не то что вы подумали.Стейт почти за год  всё же помещу тут для затравки.....  к стати на мелких таймах   прибыль прибыль раза вдва больше сделок правда за 8000  доходит и болле но лот тут 0.01 как раз кстати ,короче скальпер из него , то же хорош. Там стейты вообще , есть  5 проц. просадки и так же как на этом стейте , все сделки в плюсе , то есть  100 проц  грааль получаеться
Где отчет с реала, а лучше мониторинг. В тестере стратегий я и не такие графики рисовал.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий