Como codificar? - página 205

 

Ajuda com uma simples chamada DLL?

Então tudo o que eu quero fazer é obter o MT4 Acc# a partir de uma dll.

Dll_call pede a Dll_call_include para o"GetAccountNumber()" o dobro da Dll_call.dll

simples direito? a ea carrega bem mesmo com o Acc# errado na dll. A Mt4 pede para usar a dll.

os 3 arquivos estão nas 3 pastas corretas, a dll é um arquivo .dll (anexado como um .txt para visualizar o código.

alguém poderia, por favor, ver o código para erros?

obrigado

Arquivos anexados:
 

Você incluiu o GetAccountNumber em um arquivo .def em sua dll compilada? Você tem que fazer isso para que funcione.

Além disso, certifique-se de que Allow Dll import é selecionado para seu especialista.

Espero que isto ajude.

-wolfe

 

Eu sou um pouco novo em C++, então eu acho que os arquivos def do estudo do mal. Eu li que adicionar o arquivo def à pasta librarys onde está a DLL pode resolver isso, mas não.

também li adicionando a DLL à pasta system32, ainda não.

eu planejo enviar este projeto por e-mail para as pessoas, então não preciso dizer como colocar 4 arquivos diferentes, todos em pastas diferentes. esta é a única maneira?

o código nos 3 arquivos está correto?

obrigado alot

 

este é o arquivo def. olhe ok?

é preciso ir em librarys com a DLL?

 
jimmynz:
este é o arquivo def. olhe ok?ele precisa ir em librarys com a DLL?

O arquivo .def é parte ou sua solução c++ compilada. Eu então copio minha dll c++ compilada para a pasta do sistema32 no Windows. Eu uso um sistema de 32 bits com o windows xp.

Eu também não sou especialista em c++, mas foi assim que consegui fazer com que funcionasse.

 

obrigado pela ajuda, mas ainda não.

O que eu tentei fazer é um EA com o código usual para verificar o acc #:

int a = 907671;

int b = AccountNumber();

se (b != a) {

Alerta("Conta Corrente N°! (" + DoubleToStr(li_16, 0) + ") Acc" errado);

retornar (0)}

como um EA ele carrega não importa qual seja o número, mas se eu o fizer como um indiano ele funciona bem?

ggrrr

 

...

Sua EA sempre carregará (se não tiver um erro de codificação que a impeça de compilar)

Você só tem que decidir onde quer que ele deixe de fazer o "trabalho habitual" que faz e impedir que ele o faça por um não autorizado. Normalmente você coloca essa rotina de verificação no início do início() - algo assim :

//+------------------------------------------------------------------+

//| Dll_call.mq4 |

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

//| expert start function |

//+------------------------------------------------------------------+

int start()

{

static bool alerted = false;

int a = 907671;

int b = AccountNumber();

if (b != a)

{

if (!alerted)

{

Comment("Checking Account No! (" + DoubleToStr(b, 0) + ") wrong Acc");

alerted = true;

}

return (0);

}

//

//

// the part that is not executed when account number is wrong

//

//

alerted = false;

Comment("continuing the rest of the job");

return(0);

}

Mas também, este tipo de verificação é hackeável por um descompilador em questão de minutos.

PS: mudou o Alerta() para Comentário() para que você possa verificá-lo no teste visual de retorno

jimmynz:
obrigado pela ajuda, mas ainda não.

O que eu tentei fazer é um EA com o código usual para verificar o número de acesso:

int a = 907671;

int b = AccountNumber();

se (b != a) {

Alerta("Conta Corrente N°! (" + DoubleToStr(li_16, 0) + ") Acc" errado);

retornar (0)}

como um EA ele carrega não importa qual seja o número, mas se eu o fizer como um indiano ele funciona bem?

ggrrr
 
 
luxinterior:
Então o seu grande plano é pegar duas EA grátis que você provavelmente encontrou aqui e "fundi-las" e vendê-las por 2K um pop? Você tem muita lata, amigo! Talvez se você tiver muita sorte, um dos dois caras que realmente desistiu do seu tempo, esforço e conhecimento de livre vontade se ofereça para fazê-lo por você.

Oh, mas espere! Se o código estiver "bagunçado", então os EA's são provavelmente EA's comerciais que foram descompilados. É isso? Idiota!!!

Lux

Oh, belo discurso. Deixe-me dizer-lhe isto:

Não importa para que EA você está olhando, muito provavelmente haverá alguém com a mesma idéia que já tenha feito as EA. CEA's grátis? Você está brincando comigo? Qual EA, neste fórum, tinha esse potencial?

Além disso, há muitas pessoas que se autodenominam desenvolvedores também estão copiando de outros, vendendo por 3.000 dólares as assinaturas do clube. E o pior, com as EA's que vão acabar com suas contas. .... ZERO

Além disso, eu nunca havia tomado nenhuma EA daqui. Que EA vale a pena para a fusão neste fórum? Além disso, se o código estiver confuso, poderia ser eu a pedir aos programadores que codificassem uma EA. Então, como mais recursos são necessários, estou pedindo a diferentes programadores...AJUDA!

Diferentes estilos de codificação poderiam, com o passar do tempo, desordenar os códigos.

Além disso, eu não descompilei nenhuma EA comercial. A razão pela qual você disse que eu sou, é o fato de que você mesmo está fazendo isso. Eu não sei que tipo de confusão um descompilador causará. Mas com certeza, se você tem tanta certeza de que um descompilador pode causar uma bagunça, então provavelmente você o tem usado. Caso contrário, você nunca saberia.

Um conselho, antes de chamar os outros de idiota ou tentar agir como um polícia / herói salvando o dia, julgue-se primeiro. Caso contrário, essas palavras que saem de sua boca podem forçá-lo a engoli-las de volta.

Obrigado.

 

Ajuda em relação ao iMAOnArray()

Hi,

Eu sou novo no MT4... Tenho tentado despeitosamente incluir o seguinte código em um especialista, mas não tenho sido capaz de fazer isso

"iMAOnArray(ind_buffer1,Bars,SignalEMA,0,MODE_EMA,i); "

Sim, eu sei que o acima não pode ser usado diretamente em um EA, mas é possível alcançar os mesmos resultados recodificando o MA acima? se sim, eu realmente apreciaria alguma ajuda sobre isso.

Cumprimentos.

Razão: