Напишу советник бесплатно - страница 102

 
Здравствуйте :
Можно советник открывает отложенные ордера по ценам закрытых ордеров
 
Anton Yakovlev:
если у вас есть хороая стратегия, и вы готовы ей поделиться,могу написать советника. приглашаю обсудить публично


как дописать к советнику размер открываемого ордера зависящий от баланса?

например

$100 лот    0.05
$200 лот    0.1
$500 лот    0.25
$1000 лот  0.5
$1200 лот  0.6
$1500 лот  0.75
$2000 лот  1.0
$3000 лот  1.5
$5000 лот  2.5
$10000 лот  5

 
liljon:


как дописать к советнику размер открываемого ордера зависящий от баланса?

например

$100 лот    0.05
$200 лот    0.1
$500 лот    0.25
$1000 лот  0.5
$1200 лот  0.6
$1500 лот  0.75
$2000 лот  1.0
$3000 лот  1.5
$5000 лот  2.5
$10000 лот  5

Можно задать процент от баланса Percent=5, например. и далее:

   double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);//Стоим. 1 лота   

   double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);// Мин. размер. лотов   

   double Step   =MarketInfo(Symbol(),MODE_LOTSTEP);//Шаг изменен размера   

   double Free   =AccountFreeMargin();           

   lots=MathFloor(Free*Percent/100/One_Lot/Step)*Step;

   if (lots<Min_Lot) lots=Min_Lot;

 
kim9622:
Привет всем.
На МТ4 несколько графиков (3-6, могут быть разные валютные пары) на каждом свой советник. 

Задача: 
Открытых ордеров нет. При открытии ордера(ов) любым(ми) советником (1 или 2, желательно чтобы был выбор количества), у всех остальных советников авто-торговля должна отключится. После того, как все открытые ордера будут закрыты, у всех советников включается авто-торговля. Если по условиям разрешена работа максимум 2 советникам, то авто-торговля у всех выключенных включается когда любой из 2-х(или сразу оба) закроет свои ордера.
Помогите, подскажите как решить задачу. Может уже есть подобный софт.

можно решить через глобальные переменные
при этом в каждый работающий советник нужно вносить соответствующие изменения в коде

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

каждый советник который видит это - не торгует
 

Всем привет!

Есть кто может написать несложный безиндикаторный советник ! ?

 
volodymyr67:

Всем привет!

Есть кто может написать несложный безиндикаторный советник ! ?

Запросто! Советник открывает или BUY или SELL позицию заданным объёмом:

//+------------------------------------------------------------------+
//|                                            Open One Position.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.001"
//---
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>  
CTrade         m_trade;                      // trading object
CSymbolInfo    m_symbol;                     // symbol info object
//--- input parameters
input double               InpLots     = 10.0;              // Lots
input ENUM_POSITION_TYPE   InpPosType  = POSITION_TYPE_BUY; // Open position 
input ulong                InpMagic    = 208060783;         // Magic number
//---
ulong  ExtSlippage=10;                // Slippage
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   m_trade.SetExpertMagicNumber(InpMagic);
   m_trade.SetMarginMode();
   m_trade.SetTypeFillingBySymbol(m_symbol.Name());
   m_trade.SetDeviationInPoints(ExtSlippage);
//---
   if(InpPosType==POSITION_TYPE_BUY)
      m_trade.Buy(InpLots);
   else if(InpPosType==POSITION_TYPE_SELL)
      m_trade.Sell(InpLots);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//---

  }
//+------------------------------------------------------------------+
Файлы:
 

Готов заплатить символическую сумму в пару сотен рублей. больше не могу :(


Советник открывает одновременно сразу 2 разнонаправленных ордера (1 на каждую валютную пару) только при появлении определенного спреда НА ОБОИХ ПАРАХ ниже или равен, чем в настройках для обеих валютных пар. Если для одной условие сработало, а для другой нет - НЕ ОТКРЫВАЕТ НИЧЕГО .

После открытия ордеров новых ордеров не открывает - ждет суммарного профита от двух ордеров, указанного в настройка робота. ВСЕГДА ОТКРЫТО  ТОЛЬКО 2 РАЗНОНАПРАВЛЕННЫХ ОРДЕРА

После закрытия ордеров. он опять отслеживает спред обеих валютных пар и снова открывает, когда спред ИМЕННО НА ОБЕИХ ниже или равен, чем в настройках.

Если получится задать время работы (начало во вторник 00-00 и конец четверг 23-59) будет супер.

получается так:   советник (при появлении нужного спреда на обоих парах) открывает один бай второй селл (или наоборот это неважно), дожидается прибыли и закрывает оба ордера и потом заново. Пока открыты 2 ордера - новые не открываются, ждет профита, указанного в настройках


Неважно на какой валютной паре установлен советник, он будет работать только с двумя валютными парами, которые указаны в его настройках:

Параметры:

1. Название первой валютной пары (EURUSD)

2. Лот для первой пары (0.1)

3. Тип ордера для первой (Buy)

4. Минимальный спред для первой В ПИПСАХ 5-ти знак, при котором сработает советник (2)

5. Название второй валютной пары (GBPUSD)

6. Лот второй (0.1)

7. Тип ордера второй (Sell)

8. Минимальный спред для второй В ПИПСАХ 5-ти знак, при котором сработает советник (2)

9. Суммарный профит обоих пар в валюте депозита (или в процентах. если так легче) для закрытия обоих сразу ордеров

10. Время начала торговли Вторник 00-00

11. Время окончания четверг 23-59

 
Vladimir Karputov:

Запросто! Советник открывает или BUY или SELL позицию заданным объёмом:

Большое спасибо за быстроту !!!

Но мне нужно по чтоб открывал ордер по прошедшему бару на открытии бара , получил прибыль и ждал открытие нового бара .

Файлы:
image.png  68 kb
 

Здравствуйте уважаемые программисты, прошу вас написать советник на основе индикатора для открытия ордера, но есть одна загвоздка нужно что бы советник открывал ордер не только по сигналу индикатора но и в определённое время ( к примеру если индикатор подал сигнал в самом начале формирования свечи допустим с 15:00 по 15:01 то этот сигнал считаем действительным и советник открывает ордер) ( если сигнал индикатора поступил 15:02 такой сигнал считаем НЕ действительным и советник не открывает ордер)

 
Доброго времени уважаемые кодеры! Будьте так любезны напишите советник вот по этому индикатору. Советник открывает ордер по сигналу стрелки, т.е. на следующей свече, срок исполнения ордера одна свеча т.е открыл и на следующей свече закрыл. Стоп не нужен. Ну и соответственно чтобы настройки индикатора все были выведены в советник. Заранее благодарю!
Файлы:
Причина обращения: