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
0
Советник почему-то не увеличивает лотность стоповых ордеров при работе и не удаляет оствшиеся не сработанные стоповые ордера после закрытия сетки по профиту Поправьте пожалуйста. Спасибоа
avatar

serqww

  • 30 января 2024, 15:16
0
Спасибо! Очень оперативно и быстро *drinks* *victory* 
avatar

serqww

  • 30 января 2024, 14:28
0
Андрей, можно сделать еще одну цифру на графике с ZZbar(1)-ZZbar(0) и желательно конечно чтобы МА с этими периодами были на графике визуально. Спасибо!
avatar

serqww

  • 24 января 2024, 21:41
0
на любом тайме можно
avatar

serqww

  • 24 ноября 2023, 21:29
0
Вполне возможно при открытии свечи цена сначала идет вверх -это бычий бар на 0 свече далее цена пошла вниз стал медвежий бар на 0 свече. Этот алгоритм Я так понял имелся ввиду. Т.е цена выше открытия открываем Buy цена ниже открытия опустилась открываем Sell но Я думаю тут надо дельту делать еще Например цена прошла выше открытия 3п открывается BUY и сразу можно открывать Sellstop ниже цены открытия на теже к примеру 3п после срабатывания Sellstopа сразу открывается Buystop на том же уровне что и первый ордер и тд пока не закроется все в + лот при каждой сделке либо увеличивать либо прибавлять
avatar

serqww

  • 24 ноября 2023, 14:04
0
Андрей, Спасибо! А можно сделать стрелку буферной? Если не трудно сделайте пожалуйста.
avatar

serqww

  • 13 июня 2023, 12:54
0
все в базе нормально со стрелкой скачивал 12.07.
avatar

serqww

  • 13 июня 2023, 12:53
0
У меня больше вопрос что нам дает
double lo=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,i+CountBars,i));
double hi=iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,i+CountBars,i));
ВОТ ЭТО double mi=(hi+lo)/2; почему складываем и делим на 2 мы же по идеи ищем середину тогда почему складываем????
avatar

serqww

  • 17 января 2023, 19:53
0
на моем скрине стрелка в бай но цена ближе к LOW это не по заданию получается
или стрелки наоборот в индикаторе
avatar

serqww

  • 17 января 2023, 19:09