0
Андрей, Добавьте пож-та в этот советник код — контроля открытия баров, чтобы можно было тестировать по цена открытия. Спасибо!
avatar

serqww

  • 6 октября 2024, 15:02
0
Да можно. Думаю Андрей это сможет сделать. На последнем скрине 5 зелёных и 4 красных квадратика всего 9 квадратиков получается 5 зелёных это в процентном соотношении не что иное как 5*100/9=55.55% как и показывает тренд. Цвет квадратика это цвет именно свечей красные или зелёные
avatar

serqww

  • 20 сентября 2024, 17:30
0
Процент который в верхней части это процент соотношения по Tf от М1 до MN который к квадратиках где указан Tf это надо отдельно формулу прописывать в советнике.В самом индикаторе эта формула соответствено есть но считать ее нельзя
avatar

serqww

  • 20 сентября 2024, 15:49
0
Можно чуть поправить чтобы по Magic проверял кол-во пар по которым открыты ордера?
avatar

serqww

  • 18 сентября 2024, 09:46
0
Спасибо! Тоже сам встроил данный код. Все работает! Можно чуть поправить чтобы по Magic проверял кол-во пар по которым открыты ордера?
avatar

serqww

  • 18 сентября 2024, 09:19
0
Вот здесь тоже подобное обсуждается что хотел бы видеть в советнике
www.mql5.com/ru/forum/213667?ysclid=m0z9ib6j42695705929
avatar

serqww

  • 12 сентября 2024, 15:26
0
Нашел подобное может это Вам подскажет как встроить в советник

//+------------------------------------------------------------------+
//| Определение количества валютных пар из открытых ордеров |
//+------------------------------------------------------------------+
int SymbolsCount()
{
int count = 0;
string symbols[];
for(int i = 0; i < OrdersTotal(); i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderType() <= OP_SELL)
{
bool is_elem = false;
for(int j = 0; j < ArraySize(symbols); j++)
{
if(OrderSymbol() == symbols[j])
{
is_elem = true;
}
}
if(!is_elem || ArraySize(symbols) == 0)
{
ArrayResize(symbols,i + 1);
symbols[i] = OrderSymbol();
count++;
}
}
}
}
return(count);
}
avatar

serqww

  • 12 сентября 2024, 15:17
0
Эта возможность есть во многих сторонних советниках. Разве нет универсальной кодировки по кол-во символов в работе из указанного списка? Типа функции count для ограничения кол-во ордеров в работе.
avatar

serqww

  • 12 сентября 2024, 12:49
0
Я хочу чтобы в настройках была настройка по ограничению пар в работе. Руками конечно можно убрать, но это неудобно. Хотелось бы чтобы это было на автомате.
Еще раз В настройках указано 9 пар в Доп. функции что хочу (В настройках советника — «ограничение кол-во пар в работе» — 2(Указываем число пар))появился сигнал по EURUSD сова открыла ордер потом появился сигнал по AUDUSD сова открыла ордер и все после этого сова не открывает ордера по другим парам указанных в настройках. Далее по EURUSD ордер закрылся в работе осталась пара AUDUSD значит сове разрешено открыть ордер по любой из пар из списка как появится сигнал. Спасибо!
avatar

serqww

  • 12 сентября 2024, 10:54
0
Добавил код советника. В предпросмотре пишет что файл весит 9кб. При опубликовании почему-то 0кб.
avatar

serqww

  • 11 сентября 2024, 18:20
0
//+------------------------------------------------------------------+
//| Mult.mq4 |
//| Copyright 2015, AM2 |
//| www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright «Copyright 2015, AM2»
#property link «www.forexsystems.biz»
#property version «1.00»
#property strict

extern string s=«Выбор валютной пары»;

extern string Symbol1 = «EURUSD»;
extern string Symbol2 = «GBPUSD»;
extern string Symbol3 = «AUDUSD»;
extern string Symbol4 = «NZDUSD»;
extern string Symbol5 = «AUDCAD»;
extern string Symbol6 = «EURAUD»;
extern string Symbol7 = «EURCAD»;
extern string Symbol8 = «EURGBP»;
extern string Symbol9 = «EURJPY»;

extern string ss=«Настройки советника»;

extern double Lots = 0.01; // лот
extern int TakeProfit = 200; // Тейк
extern int StopLoss = 100; // Лосс
extern int Slip = 30; // Проскальзывание
extern int Shift = 1; // бар индикатора
extern int Magic = 123; // Магик

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
Comment("");
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
Comment("");
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
if(Symbol1!=""){OpenPos(Symbol1); }
if(Symbol2!=""){OpenPos(Symbol2); }
if(Symbol3!=""){OpenPos(Symbol3); }
if(Symbol4!=""){OpenPos(Symbol4); }
if(Symbol5!=""){OpenPos(Symbol5); }
if(Symbol6!=""){OpenPos(Symbol6); }
if(Symbol7!=""){OpenPos(Symbol7); }
if(Symbol8!=""){OpenPos(Symbol8); }
if(Symbol9!=""){OpenPos(Symbol9); }
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void PutOrder(int type,double price,string symb)
{
int r=0,d=0;
color clr=Green;
double sl=0,tp=0, pp=0;
pp= MarketInfo(symb,MODE_POINT);
d =(int)MarketInfo(symb,MODE_DIGITS);

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

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

r=OrderSend(symb,type,Lots,NormalizeDouble(price,d),Slip,sl,tp,«Машки»,Magic,0,clr);
return;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OpenPos(string symb)
{
double bid=0,ask=0;

if(CountTrades(symb)<1)
{
bid = MarketInfo(symb,MODE_BID);
ask = MarketInfo(symb,MODE_ASK);

//buy
if(iClose(symb,0,1)<iOpen(symb,0,1))
{
PutOrder(0,ask,symb);
}
//sell
if(iClose(symb,0,1)>iOpen(symb,0,1))
{
PutOrder(1,bid,symb);
}
}
}

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int CountTrades(string symb)
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==symb && OrderMagicNumber()==Magic)
{
if(OrderType()<2) count++;
}
}
}
return(count);
}
//+------------------------------------------------------------------+
avatar

serqww

  • 11 сентября 2024, 18:18
0
У меня все работает. Все ок. Может от чего то другого принт скрин перестал работать. У меня все норм
avatar

serqww

  • 26 августа 2024, 20:30
0
тогда в главное условие(появление стрелки) добавить условие чтобы Zigzag(1) не Zigzag(0) был ниже чем Close свечи где стрелка. Пусть такое будет открытие
avatar

serqww

  • 26 августа 2024, 15:33
0
тогда по скрину что выше
avatar

serqww

  • 26 августа 2024, 15:27
0

Вот так сделайте пож-та.На картинке схема для BUY. Для SEll аналогично. Спасибо!
avatar

serqww

  • 26 августа 2024, 13:16
0
По названиям линий нельзя разве сделать?
avatar

serqww

  • 26 августа 2024, 12:08
0
Verta81 Можно подправить? Неточно открывает нач ордера с фиксированной лотностью. Ставишь 0.02, а открытие 0.01 почему то. Спасибо!
avatar

serqww

  • 15 июля 2024, 18:12