0
Все работает как надо кроме одного… Советник не ставит ордера как я описал с мартингейлом… Первый лот 0.1 отложка второй лот 0.2 отложка 3 лот 0.4 и так до 15 лота… Колено и лот задаем с настроек… Для каждого сигнала надо начинать все заново. Это надо только исправить. А так все супер! Большое вам спасибо!
avatar

Mtyvnel

  • 13 ноября 2019, 22:58
0
Выглядит очень красиво :)  Спасибо!
avatar

Mtyvnel

  • 13 ноября 2019, 22:22
0
Поменяем это условие на другое… При образовании фрактала верхнего от его вершины отнимаем определение пункты… Например 300 Потом 400 и т.д И ставит ордера с мартингейлом. Ставим Селл Лимиты. Сигнал отменяется при пересечении верхнего фрактала. Пусть при образовании другого фрактала тоже ставит Селл Лимит. На одном баре пусть открывает только один сигнал. Если будет работать потом добавим и Бай Лиммиты. Потом Андрей я сам что-то если получиться добавить добавлю буду изучать ваш код! )
avatar

Mtyvnel

  • 12 ноября 2019, 20:54
0
Я не понимаю а почему советник открывает так странно ордера? Он еще не до конца сделан да Андрей? Сделайте его до конца если получиться. Я вчера добавил вот это к советнику Дельта 2 и Сигма 2 )) Это мой первый советник за 2 часа я понял суть программирования ))))) Я читал на MQL 4 справочник )))

if(High[1]-Low[1]>Delta*_Point && High[1]-Low[2]>Sigma*_Point)
{
if(High[1]-Low[1]<Delta2*_Point && High[1]-Low[2]<Sigma2*_Point)

//+------------------------------------------------------------------+
//|                                                         Gann.mq4 |
//|                                              Copyright 2019, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern double Lots       = 0.1;       // лот
extern double KLot       = 2;         // умножение лота
extern double MaxLot     = 5;         // максимальный лот
extern int StopLoss      = 111;       // лось
extern int TakeProfit    = 222;       // язь
extern int Delta         = 30;        // дельта
extern int Sigma         = 60;        // сигма
extern int Slip          = 30;        // реквот
extern int Magic         = 123;       // магик              
extern int Delta2       = 90;
extern int Sigma2        = 180;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      if(StopLoss>0)
         sl=NormalizeDouble(price+StopLoss*Point,Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(price-TakeProfit*Point,Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0)
         sl=NormalizeDouble(price-StopLoss*Point,Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(price+TakeProfit*Point,Digits);
     }

   r=OrderSend(NULL,type,Lot(),NormalizeDouble(price,Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;

   if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
     {
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
        {
         if(OrderProfit()<0)
            lot=OrderLots()*KLot;
        }
     }

   if(lot>MaxLot)
      lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()<2)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(CountTrades()<1)
     {
      if(High[1]-Low[1]>Delta*_Point && High[1]-Low[2]>Sigma*_Point)
        {
         if(High[1]-Low[1]<Delta2*_Point && High[1]-Low[2]<Sigma2*_Point)
        {
         PutOrder(0,Ask);
       }
        }
     }
  }
//+------------------------------------------------------------------+
avatar

Mtyvnel

  • 12 ноября 2019, 02:20
0
Большое спасибо вам Андрей. И у меня не одной сделки.
avatar

Mtyvnel

  • 11 ноября 2019, 20:17
0
Большое спасибо :) 
avatar

Mtyvnel

  • 7 ноября 2019, 21:14
0
В место фрактала отмена сигнала происходит когда цена пошла вниз Low 2 отменяем все ордера и ждем новый сигнал. Если появился еще один сигнал то по нем тоже выставляем селл лимиты.
avatar

Mtyvnel

  • 7 ноября 2019, 19:49
0
Андрей внизу без фрактала сделайте так он может и не откроет не одной сделки все условия что бы сошлись будет очень малая вероятность… Оставим только это одно условие… Мы отнимаем High 1 — Low 1 если значение в пунктах равно точно 30 пунктов или точнее сказать 3 пункта без десятичной если не считать… Продолжаем… После High 1 — Low 2 если значение равно в пунктах 60 или 6 пунктов точно все правильно.
avatar

Mtyvnel

  • 7 ноября 2019, 19:29
0
На все выше перечисленные числа это 15 ордеров. Это минимум я выбрал она до ста и более уровней дает…
avatar

Mtyvnel

  • 7 ноября 2019, 18:28
0
Нет это ручная программа в которую нужно вводить числа и она выдает другие числа последовательность чисел. Андрей что бы протестировать эту программу я выбрал один пример из тысяч. Там как для других пунктов она выдает другие числа… www.youtube.com/watch?v=T6k-LqpiO6o 2 минутное видео.
avatar

Mtyvnel

  • 7 ноября 2019, 18:09
+2
Для первого советника нашел хороший сет файл GBP/JPY 1 час…



avatar

Mtyvnel

  • 5 ноября 2019, 20:48
0
Андрей можно изменить этот параметр в советнике и на этом все с этим советником. Хочу добавить умный мартингейл это так. Если ордер пошел в минус на определенный процент от депозита советник открывает следующий сигнал в зависимости от вибронного колена. Если ордер закроется в плюс то после он больше не открывает ордер с тем же лотом а вернется начальному лоту. А если лот проиграет пусть все равно вернется к начальному лоту и оттуда начинает отсчет определений процент от депозита с начала. :)  Если не получиться сейчас скажите и я подожду до следующего месяца.
avatar

Mtyvnel

  • 3 ноября 2019, 19:31
0
Он настроен под тиковую историю Дукаскопи так что везде он не будет работать.
avatar

Mtyvnel

  • 3 ноября 2019, 18:42
0
Это я сохранил мои настройки в нем…
avatar

Mtyvnel

  • 2 ноября 2019, 18:45
0
Я не знаю что сказать я сам не буду торговать этим советником у меня другой за 30 000 тысяч долларов нашел раньше в интернете… Я выложил его смотрите и скачивайте и сами решайте торговать им или нет. mtyvnel.opentraders.ru/52367.html
avatar

Mtyvnel

  • 2 ноября 2019, 15:48
0
Я согласен точно так надо :) 
avatar

Mtyvnel

  • 1 ноября 2019, 18:03