я так понял - что когда позиции перейдут в плюс - нажав на кнопку , будут открываться ещё позиции по направлению
нет, получается когда от горизонтальной линии сработало на селл, то от кнопки срабатывает бу кнопка, а селл кнопка не срабатывает ----- наверное надо делать на кнопки реверс.
надо по экспериментировать, как лучше . но реверс наверное не помешает.
да! ещё . когда открывается позиция, сразу выставляется стоп лосс - но он же и трал (это жёлтая горизонтальная линия) что бы отключить, ставим 0
inputstring t2="------ Obj:Trailing Line --- "; // Trailing Obj:Lineinputdouble InpStopLoss = 55; // Obj: Stop Loss, in pips (1.00045-1.00055=1 pips) ------------------что бы отключить, ставим 0 !!!!!!inputushort InpObjTrailingStop = 27; // Obj: Trailing Stop (distance from price to object, in pips)inputushort InpObjTrailingStep = 9; // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
но стоп лосс - не будет на одном месте , его подтянет трал inputushort InpObjTrailingStop = 27; // Obj: Trailing Stop (distance from price to object, in pips)
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
вот тут намудрил - на демо работает а на реале ошибку выдало 2019.11.05 15:51:33.103 AVGiS intelligence (GBPUSD,H1) array out of range in 'AVGiS intelligence.mq5' (176,34)
//+------------------------------------------------------------------+//| Calculate optimal lot size |//+------------------------------------------------------------------+double TradeSizeOptimized(void)
{
double price=0.0;
double margin=0.0;
string arr[];
int resize = 0, syTotal = SymbolsTotal(true);
for(int i = 0; i < syTotal; i++)
{
string name = SymbolName(i, true);
if(SymbolInfoInteger(name, SYMBOL_VISIBLE))
{
resize = ArrayResize(arr, i+1);
arr[i] = name;
}
//--- select lot sizeif(!SymbolInfoDouble(arr[i],SYMBOL_ASK,price))
return(0.0);
if(!OrderCalcMargin(ORDER_TYPE_BUY,arr[i],1.0,price,margin))
return(0.0);
if(margin<=0.0)
return(0.0);
}
double lot=NormalizeDouble(AccountInfoDouble(ACCOUNT_MARGIN_FREE)*MaximumRisk/margin,2);
//--- calculate number of losses orders without a breakif(DecreaseFactor>0)
{
//--- select history for accessHistorySelect(0,TimeCurrent());
//---int orders=HistoryDealsTotal(); // total history dealsint losses=0; // number of losses orders without a breakfor(int y=orders-1; y>=0; y--)
{
ulong ticket=HistoryDealGetTicket(y);
if(ticket==0)
{
Print("HistoryDealGetTicket failed, no trade history");
break;
}
for(int i = 0; i < syTotal; i++)
{
string name = SymbolName(i, true);
if(SymbolInfoInteger(name, SYMBOL_VISIBLE))
{
resize = ArrayResize(arr, i+1);
arr[i] = name;
}
//--- check symbolif(HistoryDealGetString(ticket,DEAL_SYMBOL)!=arr[i])
continue;
//--- check Expert Magic numberif(HistoryDealGetInteger(ticket,DEAL_MAGIC)!=Magic_Number)
continue;
//--- check profitdouble profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
if(profit>0.0)
break;
if(profit<0.0)
losses++;
}
}
//---if(losses>1)
lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
}
for(int i = 0; i < syTotal; i++)
{
string name = SymbolName(i, true);
if(SymbolInfoInteger(name, SYMBOL_VISIBLE))
{
resize = ArrayResize(arr, i+1);
arr[i] = name;
}
//--- normalize and check limitsdouble stepvol=SymbolInfoDouble(arr[i],SYMBOL_VOLUME_STEP);
lot=stepvol*NormalizeDouble(lot/stepvol,0);
double minvol=SymbolInfoDouble(arr[i],SYMBOL_VOLUME_MIN);
if(lot<minvol)
lot=minvol;
double maxvol=SymbolInfoDouble(arr[i],SYMBOL_VOLUME_MAX);
if(lot>maxvol)
lot=maxvol;
}
//--- return trading volumereturn(lot);
}
//+------------------------------------------------------------------+
2 возможность: линия 7 откроет линию 10 на заданном расстоянии, которая движется за ценой и как цена коснётся , сработает команда . линия 8 откроет линию 9 на заданном расстоянии,- те же, действия как у 7 и 10
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
1 возможность : линия 1 откроет линию 4на заданном расстоянии, линия 2 откроет линию 3 на заданном расстоянии .
2 возможность: линия 7 откроет линию 10 на заданном расстоянии, которая движется за ценой и как цена коснётся , сработает команда . линия 8 откроет линию 9 на заданном расстоянии,- те же, действия как у 7 и 10
попробовал как работает
можно было в настройках, изменить от тех линии- открылась бы селл
1 возможность : линия 1 откроет линию 4на заданном расстоянии, линия 2 откроет линию 3 на заданном расстоянии .
2 возможность: линия 7 откроет линию 10 на заданном расстоянии, которая движется за ценой и как цена коснётся , сработает команда . линия 8 откроет линию 9 на заданном расстоянии,- те же, действия как у 7 и 10
в первой возможности 4 и 3 линия будут открывать на заданном расстоянии, до бесконечности
#property version "1.07"
Изменил цвет кнопок
кнопками не пользуюсь - просто как информационная панель
#property version "1.07"
Изменил цвет кнопок
кнопками не пользуюсь - просто как информационная панель
и другой цвет
подскажите - кто автор этого кода - (или изначально я скачал другой код из ссылки - которую вы мне дали Speed-v1.mq5 48 kb)
а то, там так
это он?
я так понял - что когда позиции перейдут в плюс - нажав на кнопку , будут открываться ещё позиции по направлению
нет, получается когда от горизонтальной линии сработало на селл, то от кнопки срабатывает бу кнопка, а селл кнопка не срабатывает ----- наверное надо делать на кнопки реверс.
надо по экспериментировать, как лучше . но реверс наверное не помешает.
#property version "1.08"
добавил кнопкам реверс
и в настройках , изменил местоположение
настройка кнопок
да! ещё . когда открывается позиция, сразу выставляется стоп лосс - но он же и трал (это жёлтая горизонтальная линия) что бы отключить, ставим 0
но стоп лосс - не будет на одном месте , его подтянет трал input ushort InpObjTrailingStop = 27; // Obj: Trailing Stop (distance from price to object, in pips)
----------------------------------------------------------------
не пойму, как эти кнопки работают.
#property version "1.09"
Добавил ещё одну кнопку - удаляет все открытые позиции по всем парам.
удаляет эксперта и меняет шаблон графика
#property version "1.10"
добавил, скрыть кнопки.
вот тут намудрил - на демо работает а на реале ошибку выдало 2019.11.05 15:51:33.103 AVGiS intelligence (GBPUSD,H1) array out of range in 'AVGiS intelligence.mq5' (176,34)
вот рабочий эксперт
Добавил к предыдущему Эксперту , два способа для Горизонтальной линии.
1 возможность : линия 1 откроет линию 4на заданном расстоянии, линия 2 откроет линию 3 на заданном расстоянии .
2 возможность: линия 7 откроет линию 10 на заданном расстоянии, которая движется за ценой и как цена коснётся , сработает команда . линия 8 откроет линию 9 на заданном расстоянии,- те же, действия как у 7 и 10
Добавил к предыдущему Эксперту , два способа для Горизонтальной линии.
1 возможность : линия 1 откроет линию 4на заданном расстоянии, линия 2 откроет линию 3 на заданном расстоянии .
2 возможность: линия 7 откроет линию 10 на заданном расстоянии, которая движется за ценой и как цена коснётся , сработает команда . линия 8 откроет линию 9 на заданном расстоянии,- те же, действия как у 7 и 10
попробовал как работает
можно было в настройках, изменить от тех линии- открылась бы селл
Добавил к предыдущему Эксперту , два способа для Горизонтальной линии.
1 возможность : линия 1 откроет линию 4на заданном расстоянии, линия 2 откроет линию 3 на заданном расстоянии .
2 возможность: линия 7 откроет линию 10 на заданном расстоянии, которая движется за ценой и как цена коснётся , сработает команда . линия 8 откроет линию 9 на заданном расстоянии,- те же, действия как у 7 и 10
в первой возможности 4 и 3 линия будут открывать на заданном расстоянии, до бесконечности