[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 354

 
Valsorya:

Boa tarde!!!

Como eu sei o que fazer - Alpari não passa conjuntos de números fracionários para a DLL de forma normal, eu pensei que havia um erro em algum lugar no Expert Advisor! Eu copiei todos os arquivos para insta,forexfo4Yu - tudo é transferido corretamente! Eu copiei todos os arquivos para instaurar, forexfor4U - tudo está correto! Passando-o diretamente para dll - descuidado! Funciona em insta,forex4yu! Não em alpari! Isto é apenas uma porcaria! Não posso fazer com que funcione! terei que fazê-lo amanhã. Terei que torcer amanhã para transmitir números fracionários como inteiros, por exemplo, multiplicá-los todos por 100.000 e dividi-los por 100.000 na dll e obter frações. Mas o tamanho do contrato é 100.000... se você multiplicá-lo por 10.000, ele não caberá em um número inteiro.

Talvez alguém saiba como fazer isso, a EA está escrevendo.

Mostre-me o código.
 
Por favor, informe como fazer o baylimit abrir a cada 50 pips e, se abrir, não abre mais.
 

Como posso saber o valor do AccountEquity() no início do dia de negociação?

 
Elektronik:

Como posso saber o valor do AccountEquity() no início do dia de negociação?


calcule-o você mesmo.
ou baixar um indicador a partir da base de código.

 

Aconselhamento sobre literatura de programação mql4 para iniciantes, se você puder fornecer referências

 

Como desativar o Alert, instalou-o e não pode vê-lo na tabela, favor informar

 
Como posso verificar se há uma ordem pendente ou em aberto por um determinado preço?
 

Pensei que houvesse um erro em algum lugar no Expert Advisor! Eu copiei todos os arquivos para insta,forexfo4yu - tudo é transferido corretamente! Eu copiei todos os arquivos para instaurar, forexfor4U - tudo está correto! Passando-o diretamente para dll - descuidado! Funciona em insta,forex4yu! Não em alpari! Isto é apenas uma porcaria! Não posso fazer com que funcione! terei que fazê-lo amanhã. Terei que torcer amanhã para transmitir números fracionários como inteiros, por exemplo, multiplicá-los todos por 100.000 e dividi-los por 100.000 na dll e obter frações. Mas o tamanho do contrato é 100.000... se você multiplicá-lo por 10.000, ele não caberá em um número inteiro.

Talvez alguém saiba como fazer isso, estou escrevendo. Pediram para colocar o código aqui :

em mql:

no cabeçalho:

//+------------------------------------------------------------------+
#importar "file name will not tell"))).dll")

void SendDataToDLL(int SendDataToDLL_DataForDLL_int[50],
duplo SendDataToDLL_DataForDLL_double[50],
int SendDataToDLL_ArrayOfErrors[30],
int SendDataToDLL_ArrayOfWornings[10]);
...

#importar
//+------------------------------------------------------------------+
...
//+------------------------------------------------------------------+
int init()
{...
CreateDataForDLL();
SendDataToDLL(DataForDLL_int,
DataForDLL_double,
DataToDLL_ArrayOfErrors,
DataToDLL_ArrayOfWornings);
...
}
//+------------------------------------------------------------------+
vazio CreateDataForDLL()
{...
int CreateDataForDLL_i = -1;
...
CreateDataForDLL_i++; DataForDLL_double[CreateDataForDLL_i] = AccountLeverage();
CreateDataForDLL_i++; DataForDLL_double[CreateDataForDLL_i] = AccountStopoutLevel();
CreateDataForDLL_i++; DataForDLL_double[CreateDataForDLL_i] = AccountBalance();
CreateDataForDLL_i++; DataForDLL_double[CreateDataForDLL_i] = AccountCredit();
...
}

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

em C++

Declare no cabeçalho, claro, e escreva em cpp:

externo "C" __declspec(dllexport) void __stdcall SendDataToDLL(int SendDataToDLL_DataForDLL_int[50],
duplo SendDataToDLL_DataForDLL_double[50],
int SendDataToDLL_ArrayOfErrors[30],
int SendDataToDLL_ArrayOfWornings[10])
{...
int SendDataToDLL_i; SendDataToDLL_i = 0;
// desbloquear a matriz int sem qualquer problema
...
SendDataToDLL_i = 0;
... //InputData - estrutura... nada demais...
SendDataToDLL_i++; InputData.AccountLeverage = SendDataToDLL_DataForDLL_double[SendDataToDLL_i];
SendDataToDLL_i++; InputData.AccountStopLevel = SendDataToDLL_DataForDLL_double[SendDataToDLL_i];
SendDataToDLL_i++; InputData.AccountBalance = SendDataToDLL_DataForDLL_double[SendDataToDLL_i];
SendDataToDLL_i++; InputData.AccountCredit = SendDataToDLL_DataForDLL_double[SendDataToDLL_i];
...
sssssss;
sssss = GetCurrentDir().c_str();
sssssss += "\InputData.txt";
std::ofstream out2 (sssss.c_str()));
// enviar uma matriz int para o arquivo de texto - tudo está bem
...
para (SendDataToDLL_i = 0; SendDataToDLL_i < 40; SendDataToDLL_i++)
{out2 << FloatToStr(SendDataToDLL_DataForDLL_double[SendDataToDLL_i]).c_str() << '\n';
}
...}

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

Olhamos para o arquivo de texto e desfrutamos dos dados corretos na matriz int, enquanto a matriz dupla que se segue está cheia de disparates como zeros ou números enormes loucos que, em princípio, não podem estar lá.

Se todos estes arquivos (dll e ex4) forem lançados na insta, por exemplo, tudo funciona bem e todos os dados são exibidos corretamente.
 
Stells:

Boa tarde.

Você poderia me aconselhar sobre a melhor maneira de registrar a travessia de, digamos, estocásticos:

na primeira e terceira barras comparam os valores do sinal e das linhas principais ou a primeira e segunda ?


Sobre os dois adjacentes.
 
E por que o MarketInfo(Symbol(), MODE_STOPLEVEL) retorna 0 em alpari????
Razão: