Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Estou tentando fazer muito reset , mas preciso obter um resultadomuitomelhor do que este, mas não consigo.
( Eu não gosto de todas as minhas ea's e indicadores Button objetos porque todos eles muito feios como este. )
Preciso de duas coisas de vocês que podem ajudar e me dão bons conselhos, por favor, preciso muito de sua ajuda.
Eu gastei muito tempo e não consigo descobrir o que é um problema com meu código.
Obrigado de antemão.
//--- segunda vez editado - enquanto escrevo este comentário talvez estivesse dormindo...
ObjectSetString ( 0, "button lot reset", OBJPROP_TEXT , "x" );
ObjectSetString ( 0, "button lot reset", OBJPROP_FONT , "Verdana" );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_FONTSIZE , 14 );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_XDISTANCE , 16 );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_YDISTANCE , 16 );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_XSIZE , 18 );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_YSIZE , 18 );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_CORNER , CORNER_LEFT_UPPER );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_COLOR , White );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_BGCOLOR , Black );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_BORDER_COLOR , Black );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_STATE , false );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_BACK , false );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_SELECTABLE , false );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_SELECTED , false );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_HIDDEN , true );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_ZORDER , true );
//| Create the button |
//+------------------------------------------------------------------+
bool ButtonCreate(const long chart_ID=0, // chart's ID
const string name="Button", // button name
const int sub_window=0, // subwindow index
const int x=0, // X coordinate
const int y=0, // Y coordinate
const int width=50, // button width
const int height=18, // button height
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // chart corner for anchoring
const string text="Button", // text
const string font="Arial", // font
const int font_size=10, // font size
const color clr=clrBlack, // text color
const color back_clr=C'236,233,216', // background color
const color border_clr=clrNONE, // border color
const bool state=false, // pressed/released
const bool back=false, // in the background
const bool selection=false, // highlight to move
const bool hidden=true, // hidden in the object list
const long z_order=0) // priority for mouse click
{
//--- reset the error value
ResetLastError();
//--- create the button
if(!ObjectCreate(chart_ID,name,OBJ_BUTTON,sub_window,0,0))
{
Print(__FUNCTION__,
": failed to create the button! Error code = ",GetLastError());
return(false);
}
//--- set button coordinates
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
//--- set button size
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
//--- set the chart's corner, relative to which point coordinates are defined
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
//--- set the text
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
//--- set text font
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
//--- set font size
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
//--- set text color
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
//--- set background color
ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
//--- set border color
ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_COLOR,border_clr);
//--- display in the foreground (false) or background (true)
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
//--- set button state
ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state);
//--- enable (true) or disable (false) the mode of moving the button by mouse
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
//--- hide (true) or display (false) graphical object name in the object list
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
//--- set the priority for receiving the event of a mouse click in the chart
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
//--- successful execution
return(true);
}
//+------------------------------------------------------------------+
Por favor, você pode simplesmente usar a função da documentação "como está" para criar os botões basta adicioná-la na parte inferior de seu código e você pode chamar a função e passar os parâmetros.
Assim, você pode simplesmente chamar:
Também
Obrigado eu consertei, só que foi um erro.
--------------------------------------------
Por favor, você pode simplesmente usar a função da documentação "como está" para criar os botões basta adicioná-la na parte inferior de seu código e você pode chamar a função e passar os parâmetros.
Então você pode simplesmente ligar:
Obrigado Marco que me ajudará muito, e os códigos da EA parecem estar limpos.
Também preciso perguntar sobre o código abaixo, o que é isso, como funciona? ( até eu li sobre isso, mas não entendo mais claramente )
Por favor, explique um pouco mais, obrigado de antemão.
----------------------------------------
Também preciso usar o vazio em vez de bool como abaixo do código para quequal seja o bom?
// or
void ButtonCreate(...)
A função ou retorna verdadeiro ou falso, dependendo se a criação do botão foi bem sucedida ou não, então depende de você se você quiser verificar se o botão foi realmente criado.
Para a segunda pergunta, a dica de ferramenta é o que se torna visível quando você passa o mouse sobre o objeto no gráfico.
A maneira como você está trabalhando agora tem limitações.
Se você quiser expandir, leia os seguintes artigos:
https://www.mql5.com/en/search#!keyword=graphical%20interfaces&module=mql5_module_articles
A função ou retorna verdadeiro ou falso, dependendo se a criação do botão foi bem sucedida ou não, então depende de você se você quiser verificar se o botão foi realmente criado.
Para a segunda pergunta, a dica de ferramenta é o que se torna visível quando você passa o mouse sobre o objeto no gráfico.
A maneira como você está trabalhando agora tem limitações.
Se você quiser expandir, leia os seguintes artigos:
https://www.mql5.com/en/search#!keyword=graphical%20interfaces&module=mql5_module_articles
Muito obrigado.
WOW, homem, você vai ser meu homem, Sr. Marco.
( desde seu primeiro comentário - você me ajudou muito - você sempre tenta entender minhas preocupações - mais uma vez, muito obrigado )
Preciso usar o formato de arquivo .PNG no código do meu EA, para o ícone LotSize.
Mas eu encontrei apenas o formato de arquivo .BMP, então alguém pode me ajudar / me aconselhar?
Se qualquer comentário puder ser rapidamente apreciado, só que estou um pouco mais apressado.
Obrigado com antecedência.
Eu tento fazer com que o lote seja melhor do que o lote valorize 'State true' ou 'State false'.
( quando clico em 'Resetar' objeto, então me torno 'State false' e depois de aumentar o tamanho do lote, não me torno verdadeiro )
O código abaixo está errado?
if ( sparam == _namelotRset )
{
if ( _lotSize > _lotValue )
{
ObjectSetInteger( 0, sparam, OBJPROP_STATE, true );
} //---if Close
else
{
ObjectSetInteger( 0, sparam, OBJPROP_STATE, false );
} //---if Close
_lotSize = _lotValue * _lotMin;
_infoUpdate();
return;
} //---if Close
Obrigado!
//--- segunda vez editado
Eu tento fazer"ON OFF" com o código abaixo.
Por favor, veja:
https://www.mql5.com/en/docs/constants/objectconstants/enum_object/obj_bitmap
Para a questão do bitmap.
E para a outra questão você pode juntá-la em partes separadas para definir o estado fora da sparam.