Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1555 1...154815491550155115521553155415551556155715581559156015611562...1954 Nuevo comentario Mihail Matkovskij 2021.07.31 18:25 #15541 MakarFX:No da ningún error. Los errores también pueden ser algorítmicos, no sólo de ejecución. Necesitas el código si quieres encontrar la causa. MakarFX: Con estas coordenadas el botón sale al revés, porque la longitud del botón se cuenta +/- desde el punto X ¿Por qué necesitas un botón tan raro...? законопослушный гражданин 2021.07.31 18:28 #15542 MakarFX:Puedo sugerir la opción de ExpertRemove() cuando se alcanza un beneficio o una pérdida gracias Lo he leído, pero no entiendo del todo la lógica de las acciones Cuando se alcanza un evento especificado, el Asesor Experto se desactiva y se elimina del gráfico, ¿verdad? Tretyakov Rostyslav 2021.07.31 18:30 #15543 Mihail Matkovskij:Los errores también pueden ser algorítmicos, no sólo de ejecución. Necesitas el código si quieres encontrar la causa. ¿Por qué necesitas un botón tan raro...? Escribí que accidentalmente me topé con un error de este tipo aquí está el código... si te interesa //+------------------------------------------------------------------+ //| BAG.mq4 | //| Copyright 2020, DrMak. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, DrMak." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping CreateButton(0,"Button_1",0,200,100,100,50,CORNER_RIGHT_UPPER," ","START","Arial Black",10, clrWhite,clrGreen,BORDER_SUNKEN,false,false,false,false,false,0); CreateButton(0,"Button_2",0,200,100,-100,-50,CORNER_RIGHT_UPPER," ","START","Arial Black",10, clrWhite,clrGreen,BORDER_SUNKEN,false,false,false,false,false,0); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ void OnDeinit(const int reason) { ObjectsDeleteAll(0,"Button_"); } //+------------------------------------------------------------------+ //| 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[]) { //--- //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { //--- } //+------------------------------------------------------------------+ //| Создает кнопку | //+------------------------------------------------------------------+ bool CreateButton(const long chart_ID=0, // ID графика const string name="Button", // имя кнопки const int sub_window=0, // номер подокна const int x=0, // координата по оси X const int y=0, // координата по оси Y const int width=50, // ширина кнопки const int height=18, // высота кнопки const int corner=0, // угол графика для привязки const string tool="TOOLTIP", // TOOLTIP const string text="Button", // текст const string font="Arial", // шрифт const int font_size=10, // размер шрифта const color clr=clrBlack, // цвет текста const color back_clr=C'236,233,216', // цвет фона ENUM_BORDER_TYPE border_type=BORDER_FLAT, // тип границы const bool state=false, // нажата/отжата const bool back=false, // на заднем плане const bool selection=false, // выделить для перемещений const bool selected=false, // выделить для перемещений const bool hidden=true, // скрыт в списке объектов const long z_order=0) // приоритет на нажатие мышью { //--- сбросим значение ошибки ResetLastError(); //--- создадим кнопку if(!ObjectCreate(chart_ID,name,OBJ_BUTTON,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_XSIZE,width); ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height); ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner); ObjectSetString(chart_ID,name,OBJPROP_TOOLTIP,tool); ObjectSetString(chart_ID,name,OBJPROP_TEXT,text); ObjectSetString(chart_ID,name,OBJPROP_FONT,font); ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size); ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr); ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_TYPE,border_type); ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selected); ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); //--- успешное выполнение return(true); } //+------------------------------------------------------------------+ Tretyakov Rostyslav 2021.07.31 18:30 #15544 законопослушный гражданин:gracias Lo he leído, pero no entiendo muy bien la lógica de la acción cuando se alcanza un evento especificado, el Asesor Experto se desactiva y se elimina por completo del gráfico, ¿verdad? Sí Mihail Matkovskij 2021.07.31 18:33 #15545 MakarFX:Escribí que accidentalmente me topé con un error de este tipo Aquí está el código... si te interesa. Aquí ninguno de los botones responde. El manejador deOnChartEvent está vacío... Tretyakov Rostyslav 2021.07.31 18:42 #15546 Mihail Matkovskij:Aquí ninguno de los botones responde. El manejador deOnChartEvent está vacío... probarlo) un botón será pulsado y el otro no Mihail Matkovskij 2021.07.31 18:45 #15547 MakarFX: probarlo) un botón presiona y el otro no ¿Quién hace eso, establece dimensiones negativas y por qué, me da vergüenza preguntarlo...? законопослушный гражданин 2021.07.31 18:45 #15548 MakarFX: Sí Lo tengo. Eso no funcionará para mí. se podría volver a crear una variable global para que cuando el búho se apague, el lote se restablezca al inicio al menos así se creauna variable global datetime Start; int OnInit() { Start=TimeCurrent(); ..................... } void OnTick() { if (!IsTradeAllowed()) { DrawLABEL("Торговля",0,0,0,Red,"Торговля запрещена"); Start=TimeCurrent(); return; } ..................... } y luego, si no hay órdenes abiertas/cerradas, más tarde, "Inicio" Lots=Lot; pero aún no sé cómo crearlo correctamente Документация по MQL5: Основы языка / Переменные / Глобальные переменные www.mql5.com Глобальные переменные - Переменные - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 [¡Archivo!] Cualquier pregunta de Un probador sin Internet Cálculo del lote por Tretyakov Rostyslav 2021.07.31 18:51 #15549 законопослушный гражданин:Lo tengo. Eso no funcionará para mí. se podría volver a crear una variable global para que cuando el búho se apague, el lote se restablezca al inicio al menos así se creauna variable global y luego, si no hay órdenes abiertas/cerradas, más tarde, "Iniciar". pero aún no sé cómo crearlo correctamente Te haré un botón) Tretyakov Rostyslav 2021.07.31 18:52 #15550 Mihail Matkovskij:¿Quién hace eso, establece dimensiones negativas y por qué, me da vergüenza preguntarlo...? Me encontré con este error por accidente y me pregunté 1...154815491550155115521553155415551556155715581559156015611562...1954 Nuevo comentario
No da ningún error.
Los errores también pueden ser algorítmicos, no sólo de ejecución.
Necesitas el código si quieres encontrar la causa.
Con estas coordenadas el botón sale al revés, porque la longitud del botón se cuenta +/- desde el punto X
¿Por qué necesitas un botón tan raro...?
Puedo sugerir la opción de ExpertRemove() cuando se alcanza un beneficio o una pérdida
gracias
Lo he leído, pero no entiendo del todo la lógica de las acciones
Cuando se alcanza un evento especificado, el Asesor Experto se desactiva y se elimina del gráfico, ¿verdad?
Los errores también pueden ser algorítmicos, no sólo de ejecución.
Necesitas el código si quieres encontrar la causa.
¿Por qué necesitas un botón tan raro...?
Escribí que accidentalmente me topé con un error de este tipo
aquí está el código... si te interesa
gracias
Lo he leído, pero no entiendo muy bien la lógica de la acción
cuando se alcanza un evento especificado, el Asesor Experto se desactiva y se elimina por completo del gráfico, ¿verdad?
Escribí que accidentalmente me topé con un error de este tipo
Aquí está el código... si te interesa.
Aquí ninguno de los botones responde. El manejador deOnChartEvent está vacío...
Aquí ninguno de los botones responde. El manejador deOnChartEvent está vacío...
probarlo) un botón presiona y el otro no
¿Quién hace eso, establece dimensiones negativas y por qué, me da vergüenza preguntarlo...?
Sí
Lo tengo. Eso no funcionará para mí.
se podría volver a crear una variable global para que cuando el búho se apague, el lote se restablezca al inicio
al menos así
se creauna variable global
y luego, si no hay órdenes abiertas/cerradas, más tarde, "Inicio"
Lo tengo. Eso no funcionará para mí.
se podría volver a crear una variable global para que cuando el búho se apague, el lote se restablezca al inicio
al menos así
se creauna variable global
y luego, si no hay órdenes abiertas/cerradas, más tarde, "Iniciar".
Te haré un botón)
¿Quién hace eso, establece dimensiones negativas y por qué, me da vergüenza preguntarlo...?