Botões e campos de texto no gráfico mt4 agora possível - página 6

 

Hi,

Alguém aqui pode me fornecer os arquivos para isso, por favor? Gostaria muito de poder usar este tipo de funcionalidade, já passei pelo fx1.net e não consigo encontrar nada. Tentei pesquisar no Google, mas não tive sorte alguma em encontrar downloads de todos os arquivos.

Se alguém tiver a gentileza de fornecer cópias, será muito apreciado. meu e-mail é paul@lukafour3.com ou apenas pm me

Cordiais cumprimentos

Paul

 
fridaystreet:

Hi,

Alguém aqui pode me fornecer os arquivos para isso, por favor? Gostaria muito de poder usar este tipo de funcionalidade, já passei pelo fx1.net e não consigo encontrar nada. Tentei pesquisar no Google, mas não tive sorte alguma em encontrar downloads de todos os arquivos.

Se alguém tiver a gentileza de fornecer cópias, será muito apreciado. meu e-mail é paul@lukafour3.com ou apenas pm me

Cordiais cumprimentos

Paul


Na verdade, eu não entendo seu problema.

Recebi minhas cópias visitando primeiro a fx1.net, o que me levou a este site:

https://www.mql5.com/go?link=http://taurus-traders.com/index.php/de/services/forex-download/viewdownload/6-plugins/246-mt4gui-toolbox-addon-for-metatrader

Eu recebi as dll's de lá. O botão "Download" está na parte inferior da página, após o texto.

Está tudo explicado como usar as funções para criar botões.

Basta lembrar os lados para baixo e primeiro testar completamente seu programa em demos, para evitar surpresas desagradáveis.

se você vai usar estes botões em negociações reais em tempo real!!!

Além disso, leia este tópico do início ao fim!

E: Você procurou no Google por "mt4gui.dll" ??? Tente, você vai se surpreender como isto é fácil!!!

 

Hi,

Escrevi uma simples EA baseada no MT4GUI, mas infelizmente o MT4 falha, quando tento mudar o cronograma (por exemplo, de M1 para M5). Alguém mais experimentou isto ou tem uma idéia de como consertá-lo?

Eu tentei de muitas maneiras, mas até agora não consegui encontrar uma solução. Mesmo o EA mais simples com botões trava, quando se muda o cronograma. Experimentei o problema com os builds 432 e 438.

Obrigado

 
darksamu:

Hi,

Escrevi uma simples EA baseada no MT4GUI, mas infelizmente o MT4 falha, quando tento mudar o cronograma (por exemplo, de M1 para M5). Alguém mais experimentou isto ou tem uma idéia de como consertá-lo?

Eu tentei de muitas maneiras, mas até agora não consegui encontrar uma solução. Mesmo o EA mais simples com botões trava, quando se muda o cronograma. Experimentei o problema com os builds 432 e 438.

Obrigado

Sim, é verdade. Eu escrevi sobre isso antes.

Não há nada que você possa fazer sobre isso, é uma edição dll.

Basta trabalhar abrindo muitos gráficos, cada um com um TF diferente.

Ou, eu também o faço assim:

Há uma outra situação, quando a dll se desmancha MT4, quando você quer modificar externs clicando no smiley face.

Por isso fiz o botão Defaults, que remove a EA e a abre novamente, abrindo a janela de iniciação da EA.

 

Olá Dadas,

você pode inserir parte de seu código, por favor? Eu não sei criar menu sobre "Selecionar tamanho de lote". Obrigado.

 
endy5:

Olá Dadas,

você pode inserir parte de seu código, por favor? Eu não sei criar menu sobre "Selecionar tamanho de lote". Obrigado.


int    hwnd = WindowHandle(Symbol(),Period());

string MinimumLot = DoubleToStr(MarketInfo(Symbol(),MODE_MINLOT),2);

int SelectLotSizeBox = tbPutObject(hwnd,"list",-130,213,60,9,"");
    tbAddListItem(hwnd,SelectLotSizeBox,MinimumLot);
    if(MinimumLot=="0.01"){
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.02");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.03");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.04");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.05");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.06");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.07");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.08");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.09");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.10");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.20");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.30");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.40");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.60");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.70");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.80");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.90");
    tbAddListItem(hwnd,SelectLotSizeBox ,"1.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"2.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"3.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"4.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"5.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"6.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"7.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"8.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"9.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"10.00");}
    if(MinimumLot=="0.10"){  
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.20");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.30");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.40");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.60");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.70");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.80");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.90");
    tbAddListItem(hwnd,SelectLotSizeBox ,"1.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"2.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"3.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"4.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"5.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"6.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"7.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"8.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"9.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"10.00");}
    if(MinimumLot=="1.00"){    
    tbAddListItem(hwnd,SelectLotSizeBox ,"2.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"3.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"4.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"5.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"6.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"7.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"8.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"9.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"10.00");    
    }
    tbSetListSel(hwnd,SelectLotSizeBox ,0);
É assim que eu faço.
 
Boa tarde.
Desculpe pelo meu inglês, eu sou francês.
Não entendo muito bem como são as listas.
poderia me dizer como ela recupera seus valores?

amostra .

    tbAddListItem(hwnd,SelectLotSizeBox ,"2.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"3.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"4.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"5.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"6.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"7.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"8.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"9.50"); 

tbAddListItem(hwnd,SelectLotSizeBox ,"10.00");

cordialmente
 

Olá Dadas,

muito obrigado por inserir seu código passado!!! Eu tenho o meu código :-)

Mas tenho uma pergunta - como obter valor (tamanho de lote) do menu select (objeto SelectLotSizeBox).

Encontrei a função:string tbGetListSel(int hwnd, int object);

Código: stringsize=tbGetListSel(hwnd, SelectLotSizeBox);

retorno para selecionar lotes tamanho 0,01 valor zero,

para selecionar o tamanho do lote 0,02 valor 1 etc. Este é o número de série do item selecionado. Posso obter diretamente o valor dos lotes (0,01; 0,02; etc.)?

Obrigado por me ajudar.

 
phenix77:
Boa tarde.
Desculpe pelo meu inglês, eu sou francês.
Não entendo muito bem como são as listas.
poderia me dizer como ela recupera seus valores?

amostra .

tbAddListItem(hwnd,SelectLotSizeBox ,"10.00");

Você está familiarizado com isto?

  string tbVersion();         
  int tbPutObject(int,string,int,int,int,int,string); // hwnd,type,x,y,w,h,label     
  int tbSetBgColor(int,int,int); // hwnd,object,bgcolor  
  int tbSetTextColor(int,int,int); // hwnd,object,color  
  int tbRemove(int,int);
  int tbRemoveAll(int); // hwnd 
  int tbEnable(int,int,int); // hwnd, object, 0|1   
  bool tbIsClicked( int,int ); // hwnd,object  
  int tbSetText(int,int,string,int,string); // hwnd,object,text,fontsize,fontname     
  string tbGetText(int,int); // hwnd,object 
  int tbAddListItem(int,int,string); // hwnd,object,item  
  int tbGetListSel(int,int); // hwnd,object  
  int tbSetListSel(int,int,int); // hwnd,object,index 
Isto lhe dará o valor:
Lot=StrToDouble(tbGetText(hwnd,SelectLotSizeBox));

O texto na caixa de seleção é texto, então string - certo?

E você deve fazer esta seqüência de caracteres para dobrar - certo?

 
endy5:

Olá Dadas,

Encontrei a função:string tbGetListSel(int hwnd, int object);

Código:string size=tbGetListSel(hwnd, SelectLotSizeBox);

retorno para selecionar lotes tamanho 0,01 valor zero,

para selecionar o tamanho do lote 0,02 valor 1 etc. Este é o número de série do item selecionado. Posso obter diretamente o valor dos lotes (0,01; 0,02; etc.)?

Obrigado por me ajudar.

// It is:
string tbGetText(int,int); // hwnd,object 
// This one is int (integer):
int tbGetListSel(int,int); // hwnd,object  
// You are looking for:
double size = StrToDouble(tbGetText(hwnd,SelectLotSizeBox));
Razão: