[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 354

 
Veuillez me conseiller comment faire en sorte que baylimit s'ouvre tous les 50 pips et si c'est le cas, qu'il ne s'ouvre plus.
 

Comment puis-je connaître le montant de AccountEquity() au début de la journée de négociation ?

 
Elektronik:

Comment puis-je connaître le montant de AccountEquity() au début de la journée de négociation ?


calculez-le vous-même.
ou téléchargez un indicateur à partir de la base de code.

 

Conseils sur la littérature de programmation mql4 pour les débutants, si vous pouvez fournir des références

 

Comment désactiver l'alerte, je l'ai installée et je ne la vois pas dans le tableau, merci de me conseiller.

 
Comment puis-je vérifier s'il existe un ordre en attente ou ouvert pour by à un prix donné ?
 

Je pensais qu'il y avait une erreur quelque part dans le conseiller expert ! J'ai copié tous les fichiers sur insta,forexfo4yu - tout est transféré correctement ! J'ai copié tous les fichiers sur insta, forexfor4U - tout est correct ! Le passer directement en dll - c'est bâclé ! Fonctionne dans insta, forex4yu, pas dans alpari ! C'est de la merde ! Je n'arrive pas à le faire fonctionner ! Je vais devoir le faire demain. Je vais devoir me tortiller demain pour transmettre les nombres fractionnaires comme des entiers, par exemple, les multiplier tous par 100 000 et les diviser par 100 000 en dll et obtenir des fractions. Mais la taille du contrat est de 100 000... si vous le multipliez par 10 000, il ne tiendra pas dans un nombre entier.

Peut-être que quelqu'un sait comment faire, je suis en train d'écrire. Demandé de mettre le code ici :

en mql :

dans l'en-tête :

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

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

#import
//+------------------------------------------------------------------+
...
//+------------------------------------------------------------------+
int init()
{...
CreateDataForDLL() ;
SendDataToDLL(DataForDLL_int,
DataForDLL_double,
DataToDLL_ArrayOfErrors,
DataToDLL_ArrayOfWornings) ;
...
}
//+------------------------------------------------------------------+
void 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() ;
...
}

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

en C++

Déclarer dans l'en-tête, bien sûr, et écrire dans le cpp :

extern "C" __declspec(dllexport) void __stdcall SendDataToDLL(int SendDataToDLL_DataForDLL_int[50],
double SendDataToDLL_DataForDLL_double[50],
int SendDataToDLL_ArrayOfErrors[30],
int SendDataToDLL_ArrayOfWornings[10])
{...
int SendDataToDLL_i ; SendDataToDLL_i = 0 ;
// débloque le tableau d'int sans problème
...
SendDataToDLL_i = 0 ;
... //InputData - structure... pas grand chose...
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] ;
...
string sssss ;
sssss = GetCurrentDir().c_str() ;
sssss += "\InputData.txt" ;
std::ofstream out2 (sssss.c_str()) ;
// sortie d'un tableau d'int dans le fichier texte - tout va bien
...
for (SendDataToDLL_i = 0 ; SendDataToDLL_i < 40 ; SendDataToDLL_i++)
{out2 << FloatToStr(SendDataToDLL_DataForDLL_double[SendDataToDLL_i]).c_str() << '\n' ;
}
...}

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

Nous regardons le fichier texte et apprécions les données correctes dans le tableau int, alors que le tableau double qui le suit est plein d'absurdités comme des zéros ou des nombres énormes qui ne peuvent pas être là en principe.

Si tous ces fichiers (dll et ex4) sont jetés dans insta, par exemple, tout fonctionne bien et toutes les données sont affichées correctement.
 
Stells:

Bon après-midi.

Pourriez-vous me conseiller sur la meilleure façon de capturer le croisement de, disons, stochastiques :

sur la première et la troisième barre, comparer les valeurs de la ligne de signal et de la ligne principale ou de la première et de la deuxième ?


Sur les deux adjacents.
 
Et pourquoi MarketInfo(Symbol(), MODE_STOPLEVEL) retourne-t-il 0 sur alpari ???
 
Valsorya:
Et pourquoi MarketInfo(Symbol(), MODE_STOPLEVEL) sur Alpari retourne-t-il 0 ???
Ils n'en ont pas. Utilisez plutôt la pâte à tartiner Alpari. Mais c'est flottant. Et il flotte à chaque tic - c'est un désordre.