[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 245

 

Como posso calcular um lucro para um pedido?

if(OrderType() == 0) profitbuy += ((Bid - OrderOpenPrice())*OrderLots()*(tickvalue/ticksize))+OrderSwap()+OrderCommission();

O que eu fiz de errado? Em Eur/Usd funciona, mas em Usd/Jpy funciona, mas não corretamente.

 

Decidi tentar usar a função de mudança de prazo, me parece mais fácil e claro. Ele não compila. Talvez seja eu, é claro, algo estúpido. Escrevi-o desta forma.

fChangePeriod' - variável não definida C:\terminal\experts/indicators/timeframe.mq4 (37, 12)

WM_COMMAND' - variável não definida C:Terminal/experts/indicators/timeframe.mq4 (62, 22)

//+------------------------------------------------------------------+
//|                                                    таймфрейм.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
extern int nPeriod=30,P=1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   if(P<0){fChangePeriod;P--;}
//----
   return(0);
  }
//+------------------------------------------------------------------+

void fChangePeriod(int nPeriod)
{
   int hWnd, wParam;
   
   switch(nPeriod)
   {
      case PERIOD_M1:  wParam = 33137; break;
      case PERIOD_M5:  wParam = 33138; break;
      case PERIOD_M15: wParam = 33139; break;
      case PERIOD_M30: wParam = 33140; break;
      case PERIOD_H1:  wParam = 33135; break;
      case PERIOD_H4:  wParam = 33136; break;
      case PERIOD_D1:  wParam = 33134; break;
      case PERIOD_W1:  wParam = 33141; break;
      case PERIOD_MN1: wParam = 33334; break;
   }
        
   hWnd = WindowHandle(Symbol(),Period());
        
   PostMessageA(hWnd,WM_COMMAND,wParam,0);
}
 
Eu ainda não sei dll, para este script funcionar, devo colocar esta dll em uma das pastas? Estou um pouco confuso.
 
Vinin:

Dê-me o código.

Não fique calado, diga algo, estou pensando direito ou não?

 
Com relação à biblioteca, funções WinAPI, qual é o diretório raiz onde o ServicesMT4.rar deve ser colocado? Basta olhar para ServicesMT4.rar, abri-lo, também de forma alguma - programas de abertura juram, formato errado especificado.
 
Dimka-novitsek:
Quanto à biblioteca, funções WinAPI, qual é o diretório raiz no qual você precisa salvar o ServicesMT4.rar? Basta olhar ServicesMT4.rar, abri-lo, também não funciona - os abridores de programas juram, o formato errado é especificado.

Há um roteiro incluído com exemplos de como usar todas as funções da biblioteca. Tudo pode ser feito da mesma maneira.

O arquivo deve ser desembalado no diretório MT4 ou desembalar tudo separadamente. Há também uma instrução com 5 pontos.

O arquivo está aberto para mim. Acabei de verificar. Você não deve inventar. Recomendo que você leia atentamente as instruções.

Aqui está um exemplo de um Expert Advisor:

#include <ServicesMT4.mqh>
void start()
  {
   int hwndChart = WindowHandle(Symbol(),Period());
   while (!IsStopped())
    {
     for (int i = 0; i < 9; i++)
      {
       ServiceSetTimeframeByNumber(hwndChart, i);
       Sleep(2000);
      }
    }
  }
 

Bem, acho que já li... Os arquivos

ServiçosMT4.mqh (94.1 Kb) Vista
WinUser32.mqh (70.3 Kb) Vista
Check_ServicesMT4.dll.mq4 (115.2 Kb)
ZH_All_Quotings 4.10912.mq4 (8.4 Kb) Vista

Coloco os arquivos onde eles pertencem, sem problemas.

Mas isto é 4. Desempacote o arquivo com todos estes e a biblioteca nos diretórios MT4 para o diretório raiz do MT4.

Eu não entendo. O que é o diretório raiz? E como remover o ZIP do nome do arquivo? Sim, o arquivo simplesmente salvo na pasta esquerda do meu computador, então eu, ele é assinado lá, eu não vejo no nome de ZIP, ele se chama ServicesMT4.rar, é verdade, a extensão é ZIP, mas como mudá-lo, se eu precisar? Talvez não, mas o que é o diretório raiz?

 
Dimka-novitsek:

Bem, acho que já li... Arquivos

ServicesMT4.mqh (94.1 Kb) Ver
WinUser32.mqh (70.3 Kb) Ver
Check_ServicesMT4.dll.mq4 (115.2 Kb)
ZH_All_Quotings 4.10912.mq4 (8.4 Kb) Ver

Coloquei-o sem problemas onde deveria estar.

Mas isto é 4. Desembrulhei o arquivo com todos estes e a biblioteca nos diretórios MT4 para o diretório MT4 raiz.

Eu não entendo. O que é o diretório raiz? E como remover o ZIP do nome do arquivo? Sim, o arquivo simplesmente salvo na pasta esquerda do meu computador, então eu, ele é assinado lá, eu não vejo no nome de ZIP, ele se chama ServicesMT4.rar, é verdade, a extensão é ZIP, mas como mudá-lo, se eu precisar? Talvez não seja necessário, mas o que é o diretório raiz?

1. Os arquivos listados estão no arquivo. Mas o arquivo também contém o arquivo mais importante da biblioteca ServicesMT4.dll propriamente dita. Caso contrário, não pode ser anexado. Fomos recentemente privados desta possibilidade.

2. O diretório raiz do MT4 é o diretório de seu MT4. De que outra forma explicar de forma simples - não sei.

Para ver as extensões, é preciso configurar a visibilidade destas extensões nas propriedades da pasta. Estou muito surpreso que o programador tenha desativado a visibilidade das extensões. Tal qual um boneco.

4. Esperemos que depois disso não seja difícil renomear a extensão. Só por precaução, isto é feito a partir do menu de contexto do clique direito do mouse.

5. Tenho o WinRar abrindo este arquivo com qualquer extensão. A extensão só é necessária para associar automaticamente arquivos a programas para abri-los.

 

Por favor, me dê uma dica. a situação é a seguinte:


#importar "Trend.ex4"

duplo Zena(imya,sdvig);

#importar

Quando eu tento importar esta função, o compilador escreve: 'imya' - definição de parâmetro esperada. o que devo fazer?

 
DemanRap:

Por favor, informe-me. a situação é a seguinte:


#importar "Trend.ex4"

duplo Zena(imya,sdvig);

#importar

Quando tento importar uma função como esta, o compilador escreve: 'imya' - definição de parâmetro esperada. o que devo fazer?

Os tipos de parâmetros devem ser especificados.