I also took the code of the button from the examples, .... How to make button's pressing not fixed, i.e. after its function is executed it returns to its initial state.
As far as buttons are concerned, here is an example from the help:
//+------------------------------------------------------------------+//| ControlsButton.mq5 |//| Copyright 2015, MetaQuotes Software Corp. |//| http://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2015, MetaQuotes Software Corp."#property link"http://www.mql5.com"#property version"1.00"#property description"Панель индикации и диалогов управления. Демонстрация работы класса CButton"#include <Controls\Dialog.mqh>
#include <Controls\Button.mqh>
//+------------------------------------------------------------------+//| defines |//+------------------------------------------------------------------+//--- indents and gaps#define INDENT_LEFT (11) // indent from left (with allowance for border width)#define INDENT_TOP (11) // indent from top (with allowance for border width)#define INDENT_RIGHT (11) // indent from right (with allowance for border width)#define INDENT_BOTTOM (11) // indent from bottom (with allowance for border width)#define CONTROLS_GAP_X (5) // gap by X coordinate#define CONTROLS_GAP_Y (5) // gap by Y coordinate//--- for buttons#define BUTTON_WIDTH (100) // size by X coordinate#define BUTTON_HEIGHT (20) // size by Y coordinate//--- for the indication area#define EDIT_HEIGHT (20) // size by Y coordinate//--- for group controls#define GROUP_WIDTH (150) // size by X coordinate#define LIST_HEIGHT (179) // size by Y coordinate#define RADIO_HEIGHT (56) // size by Y coordinate#define CHECK_HEIGHT (93) // size by Y coordinate//+------------------------------------------------------------------+//| Class CControlsDialog |//| Usage: main dialog of the Controls application |//+------------------------------------------------------------------+class CControlsDialog : public CAppDialog
{
private:
CButton m_button1; // the button object
CButton m_button2; // the button object
CButton m_button3; // the fixed button objectpublic:
CControlsDialog(void);
~CControlsDialog(void);
//--- createvirtualbool Create(constlong chart,conststring name,constint subwin,constint x1,constint y1,constint x2,constint y2);
//--- chart event handlervirtualbool OnEvent(constint id,constlong &lparam,constdouble &dparam,conststring &sparam);
protected:
//--- create dependent controlsbool CreateButton1(void);
bool CreateButton2(void);
bool CreateButton3(void);
//--- handlers of the dependent controls eventsvoid OnClickButton1(void);
void OnClickButton2(void);
void OnClickButton3(void);
};
//+------------------------------------------------------------------+//| Event Handling |//+------------------------------------------------------------------+
EVENT_MAP_BEGIN(CControlsDialog)
ON_EVENT(ON_CLICK,m_button1,OnClickButton1)
ON_EVENT(ON_CLICK,m_button2,OnClickButton2)
ON_EVENT(ON_CLICK,m_button3,OnClickButton3)
EVENT_MAP_END(CAppDialog)
//+------------------------------------------------------------------+//| Constructor |//+------------------------------------------------------------------+
CControlsDialog::CControlsDialog(void)
{
}
//+------------------------------------------------------------------+//| Destructor |//+------------------------------------------------------------------+
CControlsDialog::~CControlsDialog(void)
{
}
//+------------------------------------------------------------------+//| Create |//+------------------------------------------------------------------+bool CControlsDialog::Create(constlong chart,conststring name,constint subwin,constint x1,constint y1,constint x2,constint y2)
{
if(!CAppDialog::Create(chart,name,subwin,x1,y1,x2,y2))
return(false);
//--- create dependent controlsif(!CreateButton1())
return(false);
if(!CreateButton2())
return(false);
if(!CreateButton3())
return(false);
//--- succeedreturn(true);
}
//+------------------------------------------------------------------+//| Create the "Button1" button |//+------------------------------------------------------------------+bool CControlsDialog::CreateButton1(void)
{
//--- coordinatesint x1=INDENT_LEFT;
int y1=INDENT_TOP+(EDIT_HEIGHT+CONTROLS_GAP_Y);
int x2=x1+BUTTON_WIDTH;
int y2=y1+BUTTON_HEIGHT;
//--- createif(!m_button1.Create(m_chart_id,m_name+"Button1",m_subwin,x1,y1,x2,y2))
return(false);
if(!m_button1.Text("Button1"))
return(false);
if(!Add(m_button1))
return(false);
//--- succeedreturn(true);
}
//+------------------------------------------------------------------+//| Create the "Button2" button |//+------------------------------------------------------------------+bool CControlsDialog::CreateButton2(void)
{
//--- coordinatesint x1=INDENT_LEFT+(BUTTON_WIDTH+CONTROLS_GAP_X);
int y1=INDENT_TOP+(EDIT_HEIGHT+CONTROLS_GAP_Y);
int x2=x1+BUTTON_WIDTH;
int y2=y1+BUTTON_HEIGHT;
//--- createif(!m_button2.Create(m_chart_id,m_name+"Button2",m_subwin,x1,y1,x2,y2))
return(false);
if(!m_button2.Text("Button2"))
return(false);
if(!Add(m_button2))
return(false);
//--- succeedreturn(true);
}
//+------------------------------------------------------------------+//| Create the "Button3" fixed button |//+------------------------------------------------------------------+bool CControlsDialog::CreateButton3(void)
{
//--- coordinatesint x1=INDENT_LEFT+2*(BUTTON_WIDTH+CONTROLS_GAP_X);
int y1=INDENT_TOP+(EDIT_HEIGHT+CONTROLS_GAP_Y);
int x2=x1+BUTTON_WIDTH;
int y2=y1+BUTTON_HEIGHT;
//--- createif(!m_button3.Create(m_chart_id,m_name+"Button3",m_subwin,x1,y1,x2,y2))
return(false);
if(!m_button3.Text("Locked"))
return(false);
if(!Add(m_button3))
return(false);
m_button3.Locking(true);
//--- succeedreturn(true);
}
//+------------------------------------------------------------------+//| Event handler |//+------------------------------------------------------------------+void CControlsDialog::OnClickButton1(void)
{
Comment(__FUNCTION__);
}
//+------------------------------------------------------------------+//| Event handler |//+------------------------------------------------------------------+void CControlsDialog::OnClickButton2(void)
{
Comment(__FUNCTION__);
}
//+------------------------------------------------------------------+//| Event handler |//+------------------------------------------------------------------+void CControlsDialog::OnClickButton3(void)
{
if(m_button3.Pressed())
Comment(__FUNCTION__+" Состояние элемента управления: On");
elseComment(__FUNCTION__+" Состояние элемента управления: Off");
}
//+------------------------------------------------------------------+//| Global Variables |//+------------------------------------------------------------------+
CControlsDialog ExtDialog;
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- create application dialogif(!ExtDialog.Create(0,"Controls",0,40,40,380,344))
return(INIT_FAILED);
//--- run application
ExtDialog.Run();
//--- succeedreturn(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//--- очистим комментарииComment("");
//--- destroy dialog
ExtDialog.Destroy(reason);
}
//+------------------------------------------------------------------+//| Expert chart event function |//+------------------------------------------------------------------+voidOnChartEvent(constint id, // event ID constlong& lparam, // event parameter of the long typeconstdouble& dparam, // event parameter of the double typeconststring& sparam) // event parameter of the string type
{
ExtDialog.ChartEvent(id,lparam,dparam,sparam);
}
//+------------------------------------------------------------------+
Please note: Button1 and Button2 are non-lockable, while Button3 is lockable.
2. The connection to the server is disconnected and all indicator rendering is lost, the data it provides remains.
Can you suggest where to read about it and/or what happens when the connection is lost, why the drawing is lost, but the data remains. Is it possible to redraw it again?
2. The connection to the server is broken and all the rendering of the indicator disappears, the data it provides remains.
Can you suggest where to read about it and/or what happens when the connection is lost, why the drawing is lost, but the data remains. Is it possible to redraw it again?
Thanks in advance!
Start with the indicator - namely, what happens in OnCalculate() when the "rates_total" parameter is "0":
The first rates_total parameter contains the number of bars available to the indicator for calculation and corresponds to the number of bars available in the chart.
Note the connection between the value returned by OnCalculate() and the second input parameter prev_calculated. The prev_calculated parameter in the function call contains a valuereturned by OnCalculate() onprevious call. This allows for economical algorithms for calculating the custom indicator in order to avoid repeated calculations for those bars that haven't changed since the previous call of this function.
For this, it is usually enough to return the value of the rates_total parameter, which contains the number of bars in the current function call. If since the last call of OnCalculate() price data have changed (a deeper history was pumped or history blanks were filled), then the value of the input parameter prev_calculated will be set to zero by the terminal.
Как выбрать торговый сигнал в платформе MetaTrader и подписаться на него за пару кликов? Очень просто, смотри наше видео и ты узнаешь все о торговых сигналах.
Allow the use of cookies to log in to the MQL5.com website.
Please enable the necessary setting in your browser, otherwise you will not be able to log in.
You are signed in. Two-factor authentication has been disabled. Set it up again and scan a new QR code, or continue with two-factor authentication disabled.
I also took the code of the button from the examples, .... How to make button's pressing not fixed, i.e. after its function is executed it returns to its initial state.
As far as buttons are concerned, here is an example from the help:
Please note: Button1 and Button2 are non-lockable, while Button3 is lockable.
Carried over:
George:Please advise such a point:
1. EA + indicator is running
2. The connection to the server is disconnected and all indicator rendering is lost, the data it provides remains.
Can you suggest where to read about it and/or what happens when the connection is lost, why the drawing is lost, but the data remains. Is it possible to redraw it again?
Thanks in advance!
Carried over:
George:Please advise such a point:
1. EA + indicator is running
2. The connection to the server is broken and all the rendering of the indicator disappears, the data it provides remains.
Can you suggest where to read about it and/or what happens when the connection is lost, why the drawing is lost, but the data remains. Is it possible to redraw it again?
Thanks in advance!
Start with the indicator - namely, what happens in OnCalculate() when the "rates_total" parameter is "0":
The first rates_total parameter contains the number of bars available to the indicator for calculation and corresponds to the number of bars available in the chart.
Note the connection between the value returned by OnCalculate() and the second input parameter prev_calculated. The prev_calculated parameter in the function call contains a valuereturned by OnCalculate() onprevious call. This allows for economical algorithms for calculating the custom indicator in order to avoid repeated calculations for those bars that haven't changed since the previous call of this function.
For this, it is usually enough to return the value of the rates_total parameter, which contains the number of bars in the current function call. If since the last call of OnCalculate() price data have changed (a deeper history was pumped or history blanks were filled), then the value of the input parameter prev_calculated will be set to zero by the terminal.
If it's about buttons, here's an example from the help:
Note: Button1 and Button2 are non-lockable, but Button3 is lockable.
This is not a good example:
1 because libraries
2 because it is made by a panel
3 because you don't understand it.
I have sketched two buttons, one is fixed and the other needs to be unlocked - "Add" which needs to be unlocked
how to join a manager?
mmm, have a manager, see the effectiveness of his work, want to "invest".
ps - sorry, I'm a dummy.
mmm, have a manager, see the effectiveness of his work, want to "invest".
I'm sorry, I'm a complete beginner.
Forum on trading, automated trading systems & strategy testing
Questions from Beginners
Karputov Vladimir, 2016.08.25 11:43
Here is the instruction:How tosubscribe to signalsThanks, I'll look into it.
Really, at first approximation....... you have to be in the field to figure it out apparently.
But I'd like to....
Any options? Do I make an application to join, fill out the paperwork, deposit the $ and that's it?
Thanks, I'll look into it.
Really, at first approximation....... you have to be in the field to figure it out apparently.
But I'd like to....
Any options? Make an application to join, fill out the paperwork, deposit the $ and that's it?
Watch tutorial video:Seetutorial video on signals on YouTube
You need to deposit money to your MQL5.account to start a paid subscription. Read more about the Signalsservice FAQ