Помощь в кодировании - страница 781

 
Пожалуйста, вы будете готовы помочь?

У меня есть этот индикатор, он должен обновлять некоторые значения при закрытии свечи, но он не реагирует достаточно рано, обычно через 20-40 секунд после закрытия свечи Много раз мне приходится перезагружать график.

Можете ли вы помочь исправить это?
Файлы:
 
Savior: r предполагается, что он обновляет некоторые значения при закрытии свечи,

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

Во время азиатской сессии между тиками могут быть минуты, подумайте о графике M1. Более крупные графики, подумайте о выходных, рыночных праздниках (зависит от страны и брокера.) требует знания того, когда ваш брокер останавливается и начинает работу (не обязательно так же, как рынок).
"Свободные от дыр" графики - Статьи MQL420 июня 2006 г.
Нет свечи, если open = close? -Форум по программированию на MQL42010.06.06

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

 

Привет всем -

Я создал несколько достойных советников с помощью EA Builder, но у меня никак не получается создать советник, использующий фракталы.

Учитывая, что фракталы появляются как средняя точка в серии из 5 свечей, я предполагаю, что я могу получить "сдвиг" и индекс неправильно.

Пытаюсь создать простой лонг (как только я пойму сдвиг/индекс, я смогу увеличить параметры).

Open, Fractal, Time Frame (Current), Indicator (Upper) Shift (3) 'is above' Candlestick, Index (3), Value (Low).

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

Очень признателен за помощь! Спасибо, Дэвид.

 
  1. David-Toronto: Очень признателен за помощь! спасибо, давид
    Помочь вам в чем? Вы не указали проблему, вы даже не указали желание?

  2. Дэвид-Торонто : Настройте несколько достойных советников с помощью EA Builder
    EA builder, EATree, Etasoft forex generator, Forex Strategy Builder, FOREXEADVISOR STRATEGY BUILDER, FX EABuilder, fxDreema, FxPro, Molanis, Online Forex Expert Advisor Generator, Strategy Builder FX, Strategy Quant, Visual Trader Studio, MQL5 Wizard и т.д., это все одно и то же. Вы получите что-то быстро, но потом потратите гораздо больше времени на то, чтобы сделать это правильно, чем если бы вы сначала выучили язык, а потом просто написали его.
    1. Поскольку вы не изучали MQL4/5, то у нас нет общего языка для общения.
      Если мы скажем вам, что вам нужно, вы не сможете это закодировать.
      Если мы дадим вам код, вы не будете знать, как интегрировать его в свой.
      Мы готовы помочь вам, если вы опубликуете свою попытку (используя SRC) и суть вашей проблемы, но мы не собираемся отлаживать ваш сотни строк кода. По сути, вы будете предоставлены сами себе.

    2. EA builder делает плохой код Подсчет при закрытии нескольких ордеров.
      EA builder делает плохой код Бары ненадежны (максимум баров на графике), объем ненадежен (пропуск тиков.) Всегда используйте время.
      EA builder делает плохой код, не подстраиваясь под 4/5-значных брокеров, TP/SL и проскальзывание.
      EA builder делает плохой код, не настраивая для ECN брокеров. pre-Build 500)
      EA builder делает плохой код, не
      проверяя коды возврата.

    3. EATree использует объекты на графике для сохранения значений - не постоянное хранилище(файлы или GV+Flush.) Нет восстановления (авария/отключение питания).

    4. FX EA Builder делает плохой код, не проверяя коды возврата.
      FX EA Builder делает плохой код, теряя открытые тикеты при перезагрузке терминала. Нет восстановления (авария/отключение питания).
      FX EA Builder делает плохой код, не подстраивая стопы под спред.
      FX EA Builder делает плохой код, используя OrdersTotal напрямую.

    5. FOREXEADVISOR STRATEGY BUILDER делает плохой код, не обновляя глобальные переменные.
      FOREXEADVISOR STRATEGY BUILDER делает плохой код, ошибки компиляции.
      FOREXEADVISOR STRATEGY BUILDER делает плохой код, не проверяя коды возврата.

    Научитеськодировать, или заплатите кому-нибудь (фрилансеру), чтобы онэто сделал.
    Нанять человека для написания скрипта - Общие вопросы - Форум по программированию на MQL5

 
William Roeder:
  1. Помочь вам в чем? Вы не заявили о проблеме, вы даже не заявили о желании?

  2. EA builder, EATree, Etasoft forex generator, Forex Strategy Builder, FOREXEADVISOR STRATEGY BUILDER, FX EABuilder, fxDreema, FxPro, Molanis, Online Forex Expert Advisor Generator, Strategy Builder FX, Strategy Quant, Visual Trader Studio, MQL5 Wizard и т.д., это все одно и то же. Вы получите что-то быстро, но потом потратите гораздо больше времени на то, чтобы сделать это правильно, чем если бы вы сначала выучили язык, а потом просто написали его.
    1. Поскольку вы не изучали MQL4/5, то у нас нет общего языка для общения.
      Если мы скажем вам, что вам нужно, вы не сможете это закодировать.
      Если мы даем вам код, вы не знаете, как интегрировать его в свой.
      Мы готовы помочь вам, если вы опубликуете свою попытку (используя SRC) и суть вашей проблемы, но мы не собираемся отлаживать ваш сотни строк кода. По сути, вы будете предоставлены сами себе.

    2. EA builder делает плохой код Подсчет при закрытии нескольких ордеров.
      EA builder делает плохой код Бары ненадежны (максимум баров на графике), объем ненадежен (пропуск тиков.) Всегда используйте время.
      EA builder делает плохой код, не подстраиваясь под 4/5-значных брокеров, TP/SL и проскальзывание.
      EA builder делает плохой код, не настраивая для ECN брокеров. pre-Build 500)
      EA builder делает плохой код, не
      проверяя коды возврата.

    3. EATree использует объекты на графике для сохранения значений - не постоянное хранилище(файлы или GV+Flush.) Нет восстановления (авария/отключение питания).

    4. FX EA Builder делает плохой код, не проверяя коды возврата.
      FX EA Builder делает плохой код, теряя открытые тикеты при перезагрузке терминала. Нет восстановления (авария/отключение питания).
      FX EA Builder делает плохой код, не подстраивая стопы под спред.
      FX EA Builder делает плохой код, используя OrdersTotal напрямую.

    5. FOREXEADVISOR STRATEGY BUILDER делает плохой код, не обновляя глобальные переменные.
      FOREXEADVISOR STRATEGY BUILDER делает плохой код, ошибки компиляции.
      FOREXEADVISOR STRATEGY BUILDER делает плохой код, не проверяя коды возврата.

    Научитеськодировать, или заплатите кому-нибудь (фрилансеру), чтобы онэто сделал.
    Нанять человека для написания скрипта - Общие вопросы - Форум по программированию на MQL5

Спасибо, Уильям, но я пока не готов кодить и мне не нужен кирпич на голову.

Для тех, кто начал или использовал EA Builder, пожалуйста, ответьте только если вы можете помочь. спасибо.


Вопрос в том, как открыть длинную сделку (с помощью EA Builder) для фрактала, возникающего над свечой.

Моя попытка заключается в выставлении ордеров на покупку после появления любого фрактала (выше или ниже свечи).

Используя: Fractal, Time Frame (Current), Indicator (Upper) Shift (3) 'is above' Candlestick, Index (3), Value (Low)

 

Добрый день

Я довольно новичок в кодинге и хотел бы получить некоторую помощь по индикатору, который я пытаюсь закодировать. По сути, я создаю свой собственный MA, состоящий из диапазона значений open и close баров в зависимости от того, кто из них где находится, т.е. если open выше close, то он сохраняется в верхнем массиве, иначе он сохраняется в нижнем массиве. Я проделал достаточно много работы с советником, который я написал, но, к сожалению, я не могу получить тот же результат на индикаторе.

Файлы:
MA_Band.mq4  5 kb
 
  1. PLZFrosty: но я не могу получить тот же результат на индикаторе,
    .

    "Не работает" бессмысленно - так же, как и говорить, что машина не работает. Не заводится, не включается передача, нет электричества, пропал ключ, шины спущены - бессмысленно. Вы действительно ожидаете ответа? Здесь нет читающих мысли, и наши хрустальные шары треснуты. Вы не указали проблему.

  2.       SetIndexBuffer(0, MA_top);
          ⋮
          SetIndexBuffer(1, MA_bot);
    
    Сколько буферов, как вы заявили, имеет ваш индикатор? Если бы вы проверили коды возврата, вы бы знали, почему.
    Свойства программы (#property) - Препроцессор - Основы языка - Справочник MQL4
 
William Roeder:
  1. "Не работает" бессмысленно - так же, как и говорить, что машина не работает. Не заводится, не включается передача, нет электричества, пропал ключ, шины спущены - бессмысленно. Вы действительно ожидаете ответа? Здесь нет читающих мысли, и наши хрустальные шары треснуты. Вы не заявили о проблеме.

  2. Сколько буферов, как вы заявили, имеет ваш индикатор? Если бы вы проверили коды возврата, вы бы знали, почему.
    Свойства программы (#property) - Препроцессор - Основы языка - Справочник по MQL4.

Я знаю, что он должен делать, но не знаю, как выяснить, почему он не работает. Я использовал функцию Comment, чтобы выяснить, где она перестает работать, и обнаружил, что она останавливается в точке, где она должна поместить значения в упомянутые массивы. Я прошу совета по устранению неполадок, а не того, чтобы кто-то исправлял их за меня. Если вы скажете мне, что я упустил или что я сделал неправильно, и где можно почитать о решении, это очень мне поможет. Спасибо за ссылку. По крайней мере, одна из моих проблем решена. Есть ли более эффективный способ, чем использование Comment() для устранения неполадок, где код взорвался?

Documentation on MQL5: Common Functions / Comment
Documentation on MQL5: Common Functions / Comment
  • www.mql5.com
[in]   Any values, separated by commas. To delimit output information into several lines, a line break symbol "\n" or "\r\n" is used. Number of parameters cannot exceed 64. Total length of the input comment (including invisible symbols) cannot exceed 2045 characters (excess symbols will be cut out during output). Data of double type are output...
 
PLZFrosty:

Я знаю, что он должен делать, но не знаю, как выяснить, почему он не работает. Я использовал функцию Comment, чтобы выяснить, где она перестает работать, и обнаружил, что она останавливается в точке, где она должна поместить значения в упомянутые массивы. Я прошу совета по устранению неполадок, а не того, чтобы кто-то исправлял их за меня. Если вы скажете мне, что я упустил или что я сделал неправильно, и где можно почитать о решении, это мне очень поможет. Спасибо за ссылку. По крайней мере, одна из моих проблем решена. Есть ли более эффективный способ, чем использование Comment() для устранения неполадок, где код взорвался?

Я как-то заставил ее работать, но понятия не имею, почему она работает, а не наоборот. Я увидел небольшую ошибку в своих рассуждениях и переписал свою функцию. Она все еще не показывает мне значения моего массива, когда я использую Comment(DoubleToString(array[1], 3);, но она, по крайней мере, рисует линию MA. Есть ли способ увидеть значения моего массива, кроме использования Comment()?
 
input int SmallEMA = 50;
input int BigEMA = 100;
void OnTick()
  {
   string signal = "";
   double SmallMovingAvarage1 = iMA(Symbol(),PERIOD_CURRENT,SmallEMA,0,MODE_EMA,PRICE_CLOSE,0);
   double BigMovingAvarage1   = iMA(Symbol(),PERIOD_CURRENT,BigEMA,0,MODE_EMA,PRICE_CLOSE,0);
   
   if (BigMovingAvarage1 > SmallMovingAvarage1)
   
   {
   
      signal = "sell";
   }
   
   if (BigMovingAvarage1 < SmallMovingAvarage1)
    
   {
      signal = "buy";
   }
   
   
 
   if (signal == "sell" &&   OrdersTotal() == 0 )
   
   OrderSend(Symbol(),OP_SELL,0.02,Bid,10,0,0,NULL,0,0);
   
    
   
   if ( signal == "buy" && OrdersTotal() == 1)
   
   CloseSellPositions();
  
   
   
   if (signal == "buy" &&  OrdersTotal() == 0  )
   
    OrderSend(Symbol(),OP_BUY,0.02,Ask,10,0,0,NULL,0,0);
   
   //if (signal == "sell" && 0 <= OrdersTotal() <= 1)
   
   if (signal == "sell" && OrdersTotal() == 0)
   
   CloseBuyPositions();
    
   
   Comment ("The current signal is: ",signal);
   
   
  }


void CloseBuyPositions()
   {
   
   for(int i = OrdersTotal() -1 ; i >= 1; i--)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      
      string CurrencyPair = OrderSymbol();
      
      if(Symbol() == CurrencyPair)
      
      if (OrderType () == OP_BUY)
      {
         
         OrderClose(OrderTicket(),0.02,Bid,10);
      }
   }
   
   
   }
void CloseSellPositions()
   {
   
   for(int i = OrdersTotal()- 1; i >= 1; i--)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      
      string CurrencyPair = OrderSymbol();
      
      if(Symbol() == CurrencyPair)
      
      if (OrderType () == OP_SELL)
      {
         OrderClose(OrderTicket(),0.02,Ask,10);
      }
    }
   } 

Привет,


EMA (1) = 50

EMA (2) = 100


если (50 < 100)

Закройте открытую позицию на покупку, если таковая имеется, и откройте позицию на продажу


если (50>100)


Закрыть открытую позицию на продажу, если таковая имеется, и открыть позицию на покупку.


Я хочу разработать специалиста-консультанта, который удовлетворяет этим условиям, я поделился кодом, который я написал. Но он не работает так, как я хочу.


Можете ли вы помочь мне дописать недостающие части в моем коде?

Причина обращения: