Ваши вопросы по языку MQL4

matro3

Почетный гражданин
Другими словами написать советник? Вопрос слишком общий и не конкретный.. ))

И да, что за индикатор?
 

Yura Vakulenko

Активный участник
Другими словами написать советник? Вопрос слишком общий и не конкретный.. ))

И да, что за индикатор?

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

Что за индикатор - в данном случае это не важно. Все расчетные буферы индикатора я дал.. и условия появления сигналов тоже.

я и сам напишу советник.. просто нужна помощь знатоков)
 

Yura Vakulenko

Активный участник
Огромное спасибо! По моей просьбе работы максимум на пол-часа.. и вы это знаете.. и сдерете за это 150 долларов не менее.. может быть что-то более конкретное подскажите? дадите пример советника, который торгует по подобному алгоритму? я немного изменю код и все..
 

matro3

Почетный гражданин
_http://www.mql4.com/ru/search#!keyword=шаблон%20советника
 
Последнее редактирование модератором:

Milord

Местный знаток
Огромное спасибо! По моей просьбе работы максимум на пол-часа.. и вы это знаете.. и сдерете за это 150 долларов не менее.. может быть что-то более конкретное подскажите? дадите пример советника, который торгует по подобному алгоритму? я немного изменю код и все..

тогда вам подойдет эта ветка, там пишут советники бесплатно, или по небольшой плате....
http://forexsystemsru.com/yazyk-programmirovaniya-mql4/65203-predlozheniya-po-avtomatizacii-torgovli.html
 

Alexz2107

Интересующийся
Думаю, не надо объяснять как использовать переменные на глобальном уровне для передачи команд в в функцию таймера и как передать результат выполнения обратно.
Вау, спасибо! Сделал так, теперь работает всёпросто изумительно, как и хотелось!
 
  • Like
Реакции: Ugar

Ramil-2427

Местный житель
А подскажите мне пожалуйста,что изменить в индикаторе,что бы он не рисовал?
 

Ramil-2427

Местный житель
Вот и сам индюк
 

Вложения

  • absolutely no lag lwma.mq4
    1,8 КБ · Просмотры: 27

Yura Vakulenko

Активный участник
помогите с кодом!

ребята, привет!
Помогите сделать так, чтобы советник открывал и закрывал сделки по стрелкам.. (воявилась стрелка ввер - открывает покупки и закрывает продажи, если такие есть.. и наоборот) стрелки не рисуются! и появляются на 1-м баре.. по открытию текущего. НУЖНО ЧТОБЫ ТОРГОВАЛ СОВЕТНИК ТОЛЬКО ПО ОТКРЫТИЮ ТЕКУЩЕГО БАРА. Это простейший советник для проверки мат. ожидания от торговли чисто по сигналам индикатора. Сделки открываются с фикс. лотом. Без ТП и СЛ.

Индикатор не могу скинуть, потому как он платный..

у индикатора 2 буфера. 1й- покупки, 2й - продажи

Условия стрелки ВВЕРХ:
на 1-м баре: 1й буфер равен 2му буферу
на 2-м баре: 1й буфер пуст, а 2й буфер не пуст и содержит цену

Условия стрелки ВНИЗ:
на 1-м баре: 1й буфер равен 2му буферу
на 2-м баре: 1й буфер не пуст и содержит цену, а 2й буфер пуст

Должен открывать сделки ТОЛЬКО ПО ОТКРЫТИЮ БАРА! не на каждом тике.

вот я написал код.. но что-то не открываются сделки. Хотя индикатор вызывается корректно и его параметры тоже. (в режиме визуализации индикатор отображается с нужными параметрами)
Код:
#property copyright "0ll"
#property strict

input double lot = 0.1;
input int SmoothPeriod = 5;
input int SmoothMethod = 1;
input int TP = 0;
input int SL = 0;

input int Magic = 24011;

int OnInit()
  {
   
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason)  {  }

int idir = -1, odir = -1, ocnt = 0;
double opl = 0, bufBuy, bufSell, bufBuy2, bufSell2;

void OnTick()
  {
   if (!NewBar()) return;
   ordCount();
   bufBuy   = iCustom(NULL,0,"Market\\volution",SmoothPeriod,SmoothMethod,0,1,1);
   bufBuy2   = iCustom(NULL,0,"Market\\volution",SmoothPeriod,SmoothMethod,0,1,2);
   bufSell  = iCustom(NULL,0,"Market\\volution",SmoothPeriod,SmoothMethod,0,2,1);
   bufSell2  = iCustom(NULL,0,"Market\\volution",SmoothPeriod,SmoothMethod,0,2,2);
   idir = -1;
   if (bufBuy == bufSell && bufBuy2 == EMPTY_VALUE && bufSell2 != EMPTY_VALUE) idir = OP_BUY;
   if (bufBuy == bufSell && bufBuy2 != EMPTY_VALUE && bufSell2 == EMPTY_VALUE) idir = OP_SELL;
 //  if (odir >= 0 && opl > 2)ordClose(odir);
   if (idir == 1 - odir)
   {
      ordClose(odir);
   }
   if (idir >= 0 && odir < 0) ordOpen(idir);
  }
//+------------------------------------------------------------------+

void ordOpen(int dir)
{
   int tik=-1;
   tik = OrderSend(_Symbol,dir,lot,(dir==OP_BUY?Ask:Bid),10,0,0,"Check_Indi",Magic,0,(dir==OP_BUY?Blue:Red));
   if (tik > 0)
   {
      odir = dir; ocnt = 1;
      OrderSelect(tik, SELECT_BY_TICKET);
      OrderModify(OrderTicket(),OrderOpenPrice(),(dir==OP_BUY?Bid-SL*_Point:Ask+SL*_Point),(dir==OP_BUY?Bid+TP*_Point:Ask-TP*_Point),0);
   }
}

void ordClose(int dir)
{
   if (OrderClose(OrderTicket(),OrderLots(), (dir==OP_BUY?Bid:Ask),10, Gray)) { odir = -1; ocnt = 0; opl = 0; }
}

void ordCount()
{
   int  no;
   odir = -1; ocnt = 0;  opl = 0;
   
   for (no=0; no < OrdersTotal(); no++)                     //Сбор инфы об открытых ордерах
   {
      if (!OrderSelect(no, SELECT_BY_POS, MODE_TRADES))                continue;
      if (!(OrderSymbol()== _Symbol && OrderMagicNumber() == Magic))   continue;
      
      odir = OrderType();
      ocnt++;
      opl += OrderProfit()+OrderCommission()+OrderSwap();
   }
}



bool     NewBar()
{
   static datetime new_Bar;                       
   if (new_Bar == Time[1]) return(false);        //Если бар не закрыт - выход
       new_Bar  = Time[1];
return(true);
}
 
Последнее редактирование:

volodymyr67

Гуру форума
ребята, привет!
Помогите сделать так, чтобы советник открывал и закрывал сделки по стрелкам.. (воявилась стрелка ввер - открывает покупки и закрывает продажи, если такие есть.. и наоборот) стрелки не рисуются! и появляются на 1-м баре.. по открытию текущего. НУЖНО ЧТОБЫ ТОРГОВАЛ СОВЕТНИК ТОЛЬКО ПО ОТКРЫТИЮ ТЕКУЩЕГО БАРА. Это простейший советник для проверки мат. ожидания от торговли чисто по сигналам индикатора. Сделки открываются с фикс. лотом. Без ТП и СЛ.

Индикатор не могу скинуть, потому как он платный..

у индикатора 2 буфера. 1й- покупки, 2й - продажи

Условия стрелки ВВЕРХ:
на 1-м баре: 1й буфер равен 2му буферу
на 2-м баре: 1й буфер пуст, а 2й буфер не пуст и содержит цену

Условия стрелки ВНИЗ:
на 1-м баре: 1й буфер равен 2му буферу
на 2-м баре: 1й буфер не пуст и содержит цену, а 2й буфер пуст

Должен открывать сделки ТОЛЬКО ПО ОТКРЫТИЮ БАРА! не на каждом тике.

вот я написал код.. но что-то не открываются сделки. Хотя индикатор вызывается корректно и его параметры тоже. (в режиме визуализации индикатор отображается с нужными параметрами)
Код:
#property copyright "0ll"
#property strict

input double lot = 0.1;
input int SmoothPeriod = 5;
input int SmoothMethod = 1;
input int TP = 0;
input int SL = 0;

input int Magic = 24011;

int OnInit()
  {
   
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason)  {  }

int idir = -1, odir = -1, ocnt = 0;
double opl = 0, bufBuy, bufSell, bufBuy2, bufSell2;

void OnTick()
  {
   if (!NewBar()) return;
   ordCount();
   bufBuy   = iCustom(NULL,0,"Market\\volution",SmoothPeriod,SmoothMethod,0,1,1);
   bufBuy2   = iCustom(NULL,0,"Market\\volution",SmoothPeriod,SmoothMethod,0,1,2);
   bufSell  = iCustom(NULL,0,"Market\\volution",SmoothPeriod,SmoothMethod,0,2,1);
   bufSell2  = iCustom(NULL,0,"Market\\volution",SmoothPeriod,SmoothMethod,0,2,2);
   idir = -1;
   if (bufBuy == bufSell && bufBuy2 == EMPTY_VALUE && bufSell2 != EMPTY_VALUE) idir = OP_BUY;
   if (bufBuy == bufSell && bufBuy2 != EMPTY_VALUE && bufSell2 == EMPTY_VALUE) idir = OP_SELL;
 //  if (odir >= 0 && opl > 2)ordClose(odir);
   if (idir == 1 - odir)
   {
      ordClose(odir);
   }
   if (idir >= 0 && odir < 0) ordOpen(idir);
  }
//+------------------------------------------------------------------+

void ordOpen(int dir)
{
   int tik=-1;
   tik = OrderSend(_Symbol,dir,lot,(dir==OP_BUY?Ask:Bid),10,0,0,"Check_Indi",Magic,0,(dir==OP_BUY?Blue:Red));
   if (tik > 0)
   {
      odir = dir; ocnt = 1;
      OrderSelect(tik, SELECT_BY_TICKET);
      OrderModify(OrderTicket(),OrderOpenPrice(),(dir==OP_BUY?Bid-SL*_Point:Ask+SL*_Point),(dir==OP_BUY?Bid+TP*_Point:Ask-TP*_Point),0);
   }
}

void ordClose(int dir)
{
   if (OrderClose(OrderTicket(),OrderLots(), (dir==OP_BUY?Bid:Ask),10, Gray)) { odir = -1; ocnt = 0; opl = 0; }
}

void ordCount()
{
   int  no;
   odir = -1; ocnt = 0;  opl = 0;
   
   for (no=0; no < OrdersTotal(); no++)                     //Сбор инфы об открытых ордерах
   {
      if (!OrderSelect(no, SELECT_BY_POS, MODE_TRADES))                continue;
      if (!(OrderSymbol()== _Symbol && OrderMagicNumber() == Magic))   continue;
      
      odir = OrderType();
      ocnt++;
      opl += OrderProfit()+OrderCommission()+OrderSwap();
   }
}



bool     NewBar()
{
   static datetime new_Bar;                       
   if (new_Bar == Time[1]) return(false);        //Если бар не закрыт - выход
       new_Bar  = Time[1];
return(true);
}

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

Yura Vakulenko

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

Вот индикатор. по нему не выходит у меня написать советник.. Работать должен только ПО ОТКРЫТИЮ БАРА! и заключать покупки (закрывать продажи если такие есть) при стрелке вверх. И заключать продажи (закрывать покупки если такие есть) при стрелке вниз. Фиксир. лотом без ТП И СЛ.

Код:
#property copyright "l"
#property strict

input double lot = 0.1;
input int Period = 5;
input int TP = 0;
input int SL = 0;

input int Magic = 24011;

int OnInit()
  {
   
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason)  {  }

int idir = -1, odir = -1, ocnt = 0;
double opl = 0, bufBuy, bufSell, bufBuy2, bufSell2;

void OnTick()
  {
   if (!NewBar()) return;
   ordCount();
   bufBuy   = iCustom(NULL,0,"Arrows",Period,0,1);
   bufBuy2   = iCustom(NULL,0,"Arrows",Period,0,2);
   bufSell  = iCustom(NULL,0,"Arrows",Period,1,1);
   bufSell2  = iCustom(NULL,0,"Arrows",Period,1,2);
   idir = -1;
   if (bufBuy == bufSell && bufBuy2 == EMPTY_VALUE && bufSell2 != EMPTY_VALUE) idir = OP_BUY;
   if (bufBuy == bufSell && bufBuy2 != EMPTY_VALUE && bufSell2 == EMPTY_VALUE) idir = OP_SELL;
 //  if (odir >= 0 && opl > 2)ordClose(odir);
   if (idir == 1 - odir)
   {
      ordClose(odir);
   }
   if (idir >= 0 && odir < 0) ordOpen(idir);
  }
//+------------------------------------------------------------------+

void ordOpen(int dir)
{
   int tik=-1;
   tik = OrderSend(_Symbol,dir,lot,(dir==OP_BUY?Ask:Bid),10,0,0,"Check_Indi",Magic,0,(dir==OP_BUY?Blue:Red));
   if (tik > 0)
   {
      odir = dir; ocnt = 1;
      OrderSelect(tik, SELECT_BY_TICKET);
      OrderModify(OrderTicket(),OrderOpenPrice(),(dir==OP_BUY?Bid-SL*_Point:Ask+SL*_Point),(dir==OP_BUY?Bid+TP*_Point:Ask-TP*_Point),0);
   }
}

void ordClose(int dir)
{
   if (OrderClose(OrderTicket(),OrderLots(), (dir==OP_BUY?Bid:Ask),10, Gray)) { odir = -1; ocnt = 0; opl = 0; }
}

void ordCount()
{
   int  no;
   odir = -1; ocnt = 0;  opl = 0;
   
   for (no=0; no < OrdersTotal(); no++)                     //Сбор инфы об открытых ордерах
   {
      if (!OrderSelect(no, SELECT_BY_POS, MODE_TRADES))                continue;
      if (!(OrderSymbol()== _Symbol && OrderMagicNumber() == Magic))   continue;
      
      odir = OrderType();
      ocnt++;
      opl += OrderProfit()+OrderCommission()+OrderSwap();
   }
}



bool     NewBar()
{
   static datetime new_Bar;                       
   if (new_Bar == Time[1]) return(false);        //Если бар не закрыт - выход
       new_Bar  = Time[1];
return(true);
}

Спасибо!
 

Вложения

  • Arrows.ex4
    7,6 КБ · Просмотры: 35
Последнее редактирование:

volodymyr67

Гуру форума
Вот индикатор. по нему не выходит у меня написать советник.. Работать должен только ПО ОТКРЫТИЮ БАРА! и заключать покупки (закрывать продажи если такие есть) при стрелке вверх. И заключать продажи (закрывать покупки если такие есть) при стрелке вниз. Фиксир. лотом без ТП И СЛ.

Код:
#property copyright "l"
#property strict

input double lot = 0.1;
input int Period = 5;
input int TP = 0;
input int SL = 0;

input int Magic = 24011;

int OnInit()
  {
   
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason)  {  }

int idir = -1, odir = -1, ocnt = 0;
double opl = 0, bufBuy, bufSell, bufBuy2, bufSell2;

void OnTick()
  {
   if (!NewBar()) return;
   ordCount();
   bufBuy   = iCustom(NULL,0,"Arrows",Period,0,1);
   bufBuy2   = iCustom(NULL,0,"Arrows",Period,0,2);
   bufSell  = iCustom(NULL,0,"Arrows",Period,1,1);
   bufSell2  = iCustom(NULL,0,"Arrows",Period,1,2);
   idir = -1;
   if (bufBuy == bufSell && bufBuy2 == EMPTY_VALUE && bufSell2 != EMPTY_VALUE) idir = OP_BUY;
   if (bufBuy == bufSell && bufBuy2 != EMPTY_VALUE && bufSell2 == EMPTY_VALUE) idir = OP_SELL;
 //  if (odir >= 0 && opl > 2)ordClose(odir);
   if (idir == 1 - odir)
   {
      ordClose(odir);
   }
   if (idir >= 0 && odir < 0) ordOpen(idir);
  }
//+------------------------------------------------------------------+

void ordOpen(int dir)
{
   int tik=-1;
   tik = OrderSend(_Symbol,dir,lot,(dir==OP_BUY?Ask:Bid),10,0,0,"Check_Indi",Magic,0,(dir==OP_BUY?Blue:Red));
   if (tik > 0)
   {
      odir = dir; ocnt = 1;
      OrderSelect(tik, SELECT_BY_TICKET);
      OrderModify(OrderTicket(),OrderOpenPrice(),(dir==OP_BUY?Bid-SL*_Point:Ask+SL*_Point),(dir==OP_BUY?Bid+TP*_Point:Ask-TP*_Point),0);
   }
}

void ordClose(int dir)
{
   if (OrderClose(OrderTicket(),OrderLots(), (dir==OP_BUY?Bid:Ask),10, Gray)) { odir = -1; ocnt = 0; opl = 0; }
}

void ordCount()
{
   int  no;
   odir = -1; ocnt = 0;  opl = 0;
   
   for (no=0; no < OrdersTotal(); no++)                     //Сбор инфы об открытых ордерах
   {
      if (!OrderSelect(no, SELECT_BY_POS, MODE_TRADES))                continue;
      if (!(OrderSymbol()== _Symbol && OrderMagicNumber() == Magic))   continue;
      
      odir = OrderType();
      ocnt++;
      opl += OrderProfit()+OrderCommission()+OrderSwap();
   }
}



bool     NewBar()
{
   static datetime new_Bar;                       
   if (new_Bar == Time[1]) return(false);        //Если бар не закрыт - выход
       new_Bar  = Time[1];
return(true);
}

Спасибо!

а открытый код индикатора есть ?
чтоб прорисать его в советник нужно открытый код индикатора !
 

Yura Vakulenko

Активный участник
а открытый код индикатора есть ?
чтоб прорисать его в советник нужно открытый код индикатора !

Владимир, в данном случае - открытый код не нужен! Достоточно компилированного! (индикатор не нужно встраивать в советник в виде его исходного кода.) Индикатор будет использоватся - как компилированный отдельный файл. там проще простого! Просто у меня навыки не такие профессиональные как у вас.

Доступ к идикатору будет через ICustom . 2 буфера. 0 - стрелка покупки. 1-Стрелка Продажи

Установите на график и все увидите. Мне только нужно чтобы по Открытому бару торговал! И открывал(закрывал) против. сделки по появлению стрелки. Макс. кол-во ордеров в рынке - 1. СЛ И ТП 0. Лот - фиксированный.

Я и так дал все, что нужно. Открытого кода у меня нету. Тут все просто! но, тем не менее, мне нужна помощь.. не выходит чего-то у меня)

Спасибо!:) Есть желание и возможность - помогите)
 
Последнее редактирование:

AlexeyVik

Программист mql4 mql5
Владимир, в данном случае - открытый код не нужен! Достоточно компилированного! (индикатор не нужно встраивать в советник в виде его исходного кода.) Индикатор будет использоватся - как компилированный отдельный файл. там проще простого! Просто у меня навыки не такие профессиональные как у вас.

Доступ к идикатору будет через ICustom . 2 буфера. 0 - стрелка покупки. 1-Стрелка Продажи

Установите на график и все увидите. Мне только нужно чтобы по Открытому бару торговал! И открывал(закрывал) против. сделки по появлению стрелки. Макс. кол-во ордеров в рынке - 1. СЛ И ТП 0. Лот - фиксированный.

Я и так дал все, что нужно. Открытого кода у меня нету. Тут все просто! но, тем не менее, мне нужна помощь.. не выходит чего-то у меня)

Спасибо!:) Есть желание и возможность - помогите)
Юра, говоришь о стрелках а в предыдущем посте говорил о том, что на первом баре одновременно присутствует значение и первого и второго буфера. Это свойственно двухцветным линейным индикаторам.
Для ясности сделай скрин с индикатором.
Потом, не совсем корректно поставлено условие, хотя это не критично.
Код:
   if ([COLOR=Red][B]bufBuy == bufSell[/B][/COLOR] && bufBuy2 == EMPTY_VALUE && bufSell2 != EMPTY_VALUE) idir = OP_BUY;
   if ([COLOR=Red][B]bufBuy == bufSell[/B][/COLOR] && bufBuy2 != EMPTY_VALUE && bufSell2 == EMPTY_VALUE) idir = OP_SELL;
Для условия достаточно проверки на первом баре сигнал есть а на втором нет.
if(bufBuy != EMPTY_VALUE && bufBuy2 == EMPTY_VALUE)
Потом, не надо наворачивать код дополнительными переменными типа idir = OP_BUY; достаточно после условия вызвать ordOpen(OP_BUY);

И ещё одна недокументированная фишка для закрытия ордера
OrderClose(OrderTicket(),OrderLots(), OrderClosePrice(),10, Gray)
МТ сам разберётся по какой цене Ask или Bid закрывать ордер в зависимости от типа ордера.
 
Последнее редактирование:

Yura Vakulenko

Активный участник
Юра, говоришь о стрелках а в предыдущем посте говорил о том, что на первом баре одновременно присутствует значение и первого и второго буфера. Это свойственно двухцветным линейным индикаторам.
Для ясности сделай скрин с индикатором.
Потом, не совсем корректно поставлено условие, хотя это не критично.
Код:
   if ([COLOR=Red][B]bufBuy == bufSell[/B][/COLOR] && bufBuy2 == EMPTY_VALUE && bufSell2 != EMPTY_VALUE) idir = OP_BUY;
   if ([COLOR=Red][B]bufBuy == bufSell[/B][/COLOR] && bufBuy2 != EMPTY_VALUE && bufSell2 == EMPTY_VALUE) idir = OP_SELL;
Для условия достаточно проверки на первом баре сигнал есть а на втором нет.
if(bufBuy != EMPTY_VALUE && bufBuy2 == EMPTY_VALUE)
Потом, не надо наворачивать код дополнительными переменными типа idir = OP_BUY; достаточно после условия вызвать ordOpen(OP_BUY);

И ещё одна недокументированная фишка для закрытия ордераOrderClose(OrderTicket(),OrderLots(), OrderClosePrice(),10, Gray)МТ сам разберётся по какой цене Ask или Bid закрывать ордер в зависимости от типа ордера.

Вот!! наконец-то что-то по сути моего вопроса! Я выложил просто индикатор как для примера! В моем случае- индикатор действительно многоцветный! Вот смотрите на скрине. Реальный индикатор я не могу кинуть! Он платный! Вы его не запустите, так как у вас нету лицензии на этот ПК и торговый счет.. ! поэтом я скинул вам простой индикатор, как для примера..

вот скрин реального индикатора..
gbpusdpro-m30-gain-capital-forex.png

дело в том, что у меня вообще никакие ордера не открываются! даже, когда я вставил в советник этоn индикатор из примера (ARROWS.EX4) и изменил условия открытия на

if (bufBuy != EMPTY_VALUE && bufBuy2 == EMPTY_VALUE ) idir = OP_BUY;
if (bufSell != EMPTY_VALUE && bufSell2 == EMPTY_VALUE) idir = OP_SELL;

все-равно ни один ордер не открылся и ни ошибок и ничего не пишет в журнале. хотя, индикатор был успешно инициализирован и добавлен на график. Я вам скинул тестовый индикатор, чтобы на примере его вы смогли поправить мой код, для открытия сделок по ЦЕНАМ ОТКРЫТИЯ БАРА! И закрытия открытой позиции при против. сигнале! Т.е. суть советника - проверка мат. ожиданий от сигналов индиктора.

Реальный же индикатор
, по которому будет идти проверка - это то, который на скрине..
и условия открытия сделок для него такие

у индикатора 2 буфера. 1й- покупки, 2й - продажи

Условия стрелки ВВЕРХ: Открытие покупки (закрытие продажи, если открыта)
на 1-м баре: 1й буфер равен 2му буферу
на 2-м баре: 1й буфер пуст, а 2й буфер не пуст и содержит цену

Условия стрелки ВНИЗ: Открытие продажи (закрытие покупки, если открыта)
на 1-м баре: 1й буфер равен 2му буферу
на 2-м баре: 1й буфер не пуст и содержит цену, а 2й буфер пуст

Должен открывать сделки ТОЛЬКО ПО ОТКРЫТИЮ БАРА! не на каждом тике.
 
Последнее редактирование:

Abi

Элитный участник
Стрелки кто рисует на чарте? Вы или индюк?

Если рисует индюк - можно сделать проще ваш советник.
Нужно просто делать поиск стрелки на первом баре, есть стрелка 233 - значит бай и закрываем селл, есть стрелка 234 - селл и закрываем бай.
 

Yura Vakulenko

Активный участник
Стрелки кто рисует на чарте? Вы или индюк?

Если рисует индюк - можно сделать проще ваш советник.
Нужно просто делать поиск стрелки на первом баре, есть стрелка 233 - значит бай и закрываем селл, есть стрелка 234 - селл и закрываем бай.

Читайте внимательно постановку вопроса!!
Это простейший советник для проверки мат. ожидания от торговли чисто по сигналам индикатора.
И не задавайте глупых вопросов! я уже запарился объяснять!! и код выложил, и индикатор для примера.. и четко описал условия входа-выхода. условия расчета лотов.. и прочего.

СТРЕЛКИ РИСУЕТ ИНДИКАТОР! НЕ Я РУКАМИ ИХ РИСУЮ.

не вижу простоты в вашем предложении (Насчет поиска кодов стрелок.. я рассчитываю сделать универсальный советник для проверки множества индикаторов.. а у разных индикаторов будут свои коды стрелок.. а если он кружки рисовать будет или треугольники.. )
 
Последнее редактирование:
Верх