сделаете если можно увелечение лот при контр сделке если получили стоп при баевой то увеличиваеться при селовой только с переключением на обычное увелечение
разное
//+------------------------------------------------------------------+
//| CandleVol.mq4 |
//| Copyright 2017, AM2 |
//| http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, AM2"
#property link "http://www.forexsystems.biz"
#property version "1.00"
#property strict
#property indicator_chart_window
input string Symbol1="EURUSD";
input ENUM_TIMEFRAMES Symbol1TF=PERIOD_M1;
input string Symbol2="GBPUSD";
input ENUM_TIMEFRAMES Symbol2TF=PERIOD_M5;
input string Symbol3="USDCAD";
input ENUM_TIMEFRAMES Symbol3TF=PERIOD_M15;
input string Symbol4="AUDUSD";
input ENUM_TIMEFRAMES Symbol4TF=PERIOD_M30;
input string Symbol5="NZDUSD";
input ENUM_TIMEFRAMES Symbol5TF=PERIOD_H1;
input int Corner=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
Comment("");
ObjectsDeleteAll(0,OBJ_LABEL);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string Vol(string symb,ENUM_TIMEFRAMES tf)
{
string vol=(string)NormalizeDouble(MathAbs((iOpen(symb,tf,0)-iClose(symb,tf,0)))/MarketInfo(symb,MODE_POINT),0);
return(vol);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void PutLabel(string text,string name,int x,int y)
{
ObjectDelete(0,name);
//--- создадим текстовую метку
ObjectCreate(0,name,OBJ_LABEL,0,0,0);
//--- установим координаты метки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER,Corner);
//--- установим текст
ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,11);
//--- установим цвет
ObjectSetInteger(0,name,OBJPROP_COLOR,Red);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
int X=180,Y=30;
if(Corner==0 || Corner==2) X-=160;
PutLabel(Symbol1+" M"+(string)Symbol1TF+" "+Vol(Symbol1,Symbol1TF),Symbol1+(string)Symbol1TF,X,Y);Y+=20;
PutLabel(Symbol2+" M"+(string)Symbol2TF+" "+Vol(Symbol2,Symbol2TF),Symbol2+(string)Symbol2TF,X,Y);Y+=20;
PutLabel(Symbol3+" M"+(string)Symbol3TF+" "+Vol(Symbol3,Symbol3TF),Symbol3+(string)Symbol3TF,X,Y);Y+=20;
PutLabel(Symbol4+" M"+(string)Symbol4TF+" "+Vol(Symbol4,Symbol3TF),Symbol4+(string)Symbol4TF,X,Y);Y+=20;
PutLabel(Symbol5+" M"+(string)Symbol5TF+" "+Vol(Symbol5,Symbol4TF),Symbol5+(string)Symbol5TF,X,Y);
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
тока не работает риск
3. окрашивать значение в цвет тела свечи.
4. выбор цвета статичных данных.
//+------------------------------------------------------------------+
//| CandleVol.mq4 |
//| Copyright 2017, AM2 |
//| http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, AM2"
#property link "http://www.forexsystems.biz"
#property version "1.00"
#property strict
#property indicator_chart_window
input string Symbol1 = "EURUSD";
input string Symbol2 = "GBPUSD";
input string Symbol3 = "USDCAD";
input string Symbol4 = "AUDUSD";
input string Symbol5 = "NZDUSD";
input int Corner = 0;
input ENUM_TIMEFRAMES TimeFrame=PERIOD_H1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
Comment("");
ObjectsDeleteAll(0,OBJ_LABEL);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string Vol(string symb)
{
string vol=(string)NormalizeDouble((iHigh(symb,TimeFrame,0)-iLow(symb,TimeFrame,0))/MarketInfo(symb,MODE_POINT),0);
return(vol);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void PutLabel(string text,string name,int x,int y)
{
ObjectDelete(0,name);
//--- создадим текстовую метку
ObjectCreate(0,name,OBJ_LABEL,0,0,0);
//--- установим координаты метки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER,Corner);
//--- установим текст
ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,11);
//--- установим цвет
ObjectSetInteger(0,name,OBJPROP_COLOR,Red);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
int X=180,Y=30;
if(Corner==0 || Corner==2) X-=160;
PutLabel(Symbol1+" M"+(string)TimeFrame+" "+Vol(Symbol1),Symbol1,X,Y);Y+=20;
PutLabel(Symbol2+" M"+(string)TimeFrame+" "+Vol(Symbol2),Symbol2,X,Y);Y+=20;
PutLabel(Symbol3+" M"+(string)TimeFrame+" "+Vol(Symbol3),Symbol3,X,Y);Y+=20;
PutLabel(Symbol4+" M"+(string)TimeFrame+" "+Vol(Symbol4),Symbol4,X,Y);Y+=20;
PutLabel(Symbol5+" M"+(string)TimeFrame+" "+Vol(Symbol5),Symbol5,X,Y);
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
AM2