Разница в динамических уровнях. В одном индикаторе они есть, в другом нет.
1. Открытие позиции.
Гистограмма стандартного Kiosotto пробивает заданный в параметрах уровень.
Гистограмма модифицированного Kiosotto пробивает ( касается ) динамический уровень.
При совпадении обоих условий ордер открывается.
2. Закрытие позиции.
Тейк профит 100 пунктов(пятизнак). Если цена идет против нас, происходит усреднение.Pipstep =200(пятизнак), Lotxponent =2 (задается в параметрах).
StopLoss отсутствует.Трал- отсутствует.
В настройки.
Параметры модифицированного Kiosotto постоянные( по умолчанию).
Параметры уровня стандартного Kiosotto прописываются( по умолчанию 15 )
Время работы — постоянное (0-24)
Magic -1 2 3.
Максимальное количество открытых ордеров на одной паре — не ограничено.
Начальный лот — 0.01, тейк профит — 100 п. (пятизнак), Pipstep =200(пятизнак), Lotxponent =2(задается в параметрах)
extern double PBalance = 11000; // выше не торгуем
extern double MBalance = 9000; // ниже не торгуем
if(AccountBalance()<PBalance && AccountBalance()>MBalance && OrdersTotal()<1)
здравствуйте, Aндрей не могли бы вы добавить реверс в советник? что бы он открывал по направлению машки сделки?)
//+------------------------------------------------------------------+
//| ProjectName |
//| Copyright 2018, CompanyName |
//| http://www.companyname.net |
//+------------------------------------------------------------------+
#property strict
#property indicator_chart_window
color g_clrOldColor;
string g_sCurrentFile;
color clrNewColor;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int OnInit(void)
{
g_clrOldColor = color(ChartGetInteger(0, CHART_COLOR_BACKGROUND));
color strFile = (g_clrOldColor == C'0,0,0')? clrWhite : clrBlack;
LabelCreate(0,"label0",0,50,50,CORNER_LEFT_UPPER,"Статистика","Tahoma",8,strFile,0.0,ANCHOR_LEFT_UPPER,false,false,true,0);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
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[])
{
return(rates_total);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam)
{
if(id == CHARTEVENT_CHART_CHANGE)
{
clrNewColor = color(ChartGetInteger(0, CHART_COLOR_BACKGROUND));
if(clrNewColor != g_clrOldColor)
{
string strFile = (clrNewColor == C'0,0,0')? "clsWhite" : "clsBlack";
LabelCreate(0,"label0",0,50,50,CORNER_LEFT_UPPER,"Статистика","Tahoma",8,clrNewColor,0.0,ANCHOR_LEFT_UPPER,false,false,true,0);
ObjectSetInteger(0,"label0", OBJPROP_COLOR, (clrNewColor == C'0,0,0')? clrWhite : clrBlack);
ChartRedraw();
g_sCurrentFile = strFile;
g_clrOldColor = clrNewColor;
}
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool LabelCreate(const long chart_ID=0, // ID графика
const string name="Label", // имя метки
const int sub_window=0, // номер подокна
const int x=0, // координата по оси X
const int y=0, // координата по оси Y
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // угол графика для привязки
const string text="Label", // текст
const string font="Arial", // шрифт
const int font_size=10, // размер шрифта
const color clr=clrRed, // цвет
const double angle=0.0, // наклон текста
const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // способ привязки
const bool back=false, // на заднем плане
const bool selection=false, // выделить для перемещений
const bool hidden=true, // скрыт в списке объектов
const long z_order=0) // приоритет на нажатие мышью
{
//--- сбросим значение ошибки
ResetLastError();
//--- создадим текстовую метку
if(!ObjectCreate(chart_ID,name,OBJ_LABEL,sub_window,0,0))
{
Print(__FUNCTION__,
": не удалось создать текстовую метку! Код ошибки = ",GetLastError());
return(false);
}
//--- установим координаты метки
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
//--- установим текст
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
//--- установим размер шрифта
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
//--- установим угол наклона текста
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
//--- установим способ привязки
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
//--- установим цвет
//ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name, OBJPROP_COLOR, (clrNewColor == C'0,0,0')? clrWhite : clrBlack);
//--- отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
//--- включим (true) или отключим (false) режим перемещения метки мышью
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
//--- скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
//--- установим приоритет на получение события нажатия мыши на графике
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
//--- успешное выполнение
return(true);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Fon.mq4 |
//| Copyright 2019, AM2 |
//| http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, AM2"
#property link "http://www.forexsystems.biz"
#property version "1.00"
#property strict
#property indicator_chart_window
color clr=Black;
color fclr=clrNONE;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int OnInit(void)
{
fclr=color(ChartGetInteger(0,CHART_COLOR_BACKGROUND));
fclr==Black ? clr=White : clr=Black;
PutLabel("Текст");
Comment("\n Цвет фона: ",fclr,
"\n Цвет метки: ",clr);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
Comment("");
ObjectDelete(0,"L");
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void PutLabel(string text)
{
//--- создадим текстовую метку
ObjectCreate(0,"L",OBJ_LABEL,0,0,0);
//--- установим координаты метки
ObjectSetInteger(0,"L",OBJPROP_XDISTANCE,22);
ObjectSetInteger(0,"L",OBJPROP_YDISTANCE,77);
//--- установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,"L",OBJPROP_CORNER,0);
//--- установим текст
ObjectSetString(0,"L",OBJPROP_TEXT,text);
//--- установим шрифт текста
ObjectSetString(0,"L",OBJPROP_FONT,"Arial");
//--- установим размер шрифта
ObjectSetInteger(0,"L",OBJPROP_FONTSIZE,12);
//--- установим цвет
ObjectSetInteger(0,"L",OBJPROP_COLOR,clr);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
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[])
{
//---
//---
return(rates_total);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam)
{
if(id == CHARTEVENT_CHART_CHANGE)
{
fclr=color(ChartGetInteger(0,CHART_COLOR_BACKGROUND));
fclr==Black ? clr=White : clr=Black;
PutLabel("Текст");
Comment("\n Цвет фона: ",fclr,
"\n Цвет метки: ",clr);
}
}
//+------------------------------------------------------------------+
чаво?
AM2