J'ai besoin du CODEINITIAL de l'indicateur technique IMA, l'indicateur qui est appelé dans le terminal MetaTrader4 sous l'onglet "Indicateurs -> Trending -> Moving Average".
C'est plus clair maintenant ?
Pourquoi réinventer la roue ?
Faites-le comme l'OsMA ou tout autre code :
//+------------------------------------------------------------------+//| Moving Average of Oscillator |//+------------------------------------------------------------------+intOnCalculate (constint rates_total,
constint prev_calculated,
constdatetime& time[],
constdouble& open[],
constdouble& high[],
constdouble& low[],
constdouble& close[],
constlong& tick_volume[],
constlong& volume[],
constint& spread[])
{
int i,limit;
//---if(rates_total<=InpSignalSMA || !ExtParameters)
return(0);
//--- last counted bar will be recounted
limit=rates_total-prev_calculated;
if(prev_calculated>0)
limit++;
//--- macd counted in the 1-st bufferfor(i=0; i<limit; i++)
ExtMacdBuffer[i]=iMA(NULL,0,InpFastEMA,0,MODE_EMA,PRICE_CLOSE,i)-
iMA(NULL,0,InpSlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//--- signal line counted in the 2-nd buffer
SimpleMAOnBuffer(rates_total,prev_calculated,0,InpSignalSMA,ExtMacdBuffer,ExtSignalBuffer);
//--- main loopfor(i=0; i<limit; i++)
ExtOsmaBuffer[i]=ExtMacdBuffer[i]-ExtSignalBuffer[i];
//--- donereturn(0);
}
//+------------------------------------------------------------------+
Ou bien vous ne faites pas du tout confiance à Metaquotes ?
Bonjour à tous. J'ai posté un script à la page 943 sur la description du travail et des exemples de bibliothèques *dll. J'ai compris un peu pourquoi le script ne fonctionne pas.
1. #include<WinUser32.mqh> n'est pas nécessaire dans ce cas.
2. Condition distincte if(lastkey != 0) Alert("lastkey=",lastkey) ; le code de la touche enfoncée est correctement affiché. Si vous faites un délai, il n'y a aucun doute sur la façon dont cela fonctionne.
3. Condition séparée if(lastmouse != 0) Alert("lastmouse=",lastmouse) ; produit de manière stable 512, même si la souris ne bouge pas. Il est très rare que d'autres numéros apparaissent.
En réponse au clic des boutons de la souris.
4. if(lastwnd != 0) Alert("lastwnd=",lastwnd) ; renvoie une chaîne vide, très probablement parce que la bibliothèque est ancienne, pas Unicode.
Dans l'aide, lisez que l'éditeur peut travailler avec des bibliothèques *dll, il suffit de les glisser et de les déposer dans la fenêtre de l'éditeur. Il ne s'ouvre pas.
Question. Quelqu'un peut-il aider à corriger "IdleLib.dll" ou mieux pour de l'argent. Si quelque part il y a ce sujet (et d'autres *dll) montrez le lien.
Veuillez me conseiller sur la façon d'interdire l'AutoTrading dans mon EA (après un événement), c'est-à-dire en mettant le bouton du terminalAutoTrading sur interdiction. J'ai essayé d'appeler la constante ACCOUNT_TRADE_ALLOWED et de changer sa valeur en false, mais le compilateur dit que cela n'aura aucun effet ( ACCOUNT_TRADE_ALLOWED == false ; //expression n'a aucun effet)
#import "user32.dll"int GetForegroundWindow();
int PostMessageW(int hWnd, int Msg, int wParam, string lParam);
#import
#define WM_COMMAND 0x0111
после определенного события PostMessageW(GetForegroundWindow(), WM_COMMAND, 33020, (string) 0);
amavladi: Veuillez indiquer comment prescrire (après un certain événement) une interdiction de l'AutoTrading dans un EA, c'est-à-dire définir par programmation le bouton du terminalAutoTrading à interdire. J'ai essayé d'appeler la constante ACCOUNT_TRADE_ALLOWED et de changer sa valeur en false, mais le compilateur dit que cela n'aura aucun effet ( ACCOUNT_TRADE_ALLOWED == false ; //expression n'a aucun effet)
Cette tâche (interdire à l'EA de commercer) est très facilement résolue avec des sémaphores (true/false.... autoriser/interdire le commerce).
Ou est-il important d'appuyer sur le bouton "Auto Trade" ?
Cette tâche (interdire à l'EA de commercer) est très facilement résolue avec des sémaphores (true/false.... autoriser/interdire le commerce).
Ou est-il si important d'appuyer sur le bouton "AutoTrading" ?
Si je ne peux pas désactiver l'AutoTrading pour l'ensemble du terminal, alors bien sûr je le ferai. Le problème est que j'ai plusieurs Expert Advisors en cours d'exécution sur mon terminal et je
Je veux utiliser un EA séparé pour surveiller l'équité et désactiver l'AutoTrading pour tous les EAs simultanément en cas d'urgence, par exemple, lorsque l'Aquity est réduit de 50%.
Si je ne peux pas interdire l'AutoTrading pour l'ensemble du terminal, je le ferai sûrement. Le problème, c'est que j'ai plusieurs conseillers-experts qui fonctionnent sur mon terminal et que je...
Je voulais utiliser un seul EA pour surveiller le profit du compte et désactiver l'AutoTrading pour tous les EA en même temps en cas d'urgence, par exemple, lorsque le profit du compte chute de 50%.
Je ne l'ai pas vérifié du tout. Vous devez remplacer WinUser32.mqh par le fichier joint pour que cela fonctionne.
Je l'ai vérifié maintenant, ça marche. Et voici d'autres gadgets
Salutations à tous... Je sais que le problème est le suivant. Lorsque je compile le code, la variable d prend la valeur 110 et l'indicateur affiche tout correctement, mais avec l'arrivée d'une nouvelle barre, la variable devient 109 et, par conséquent, cela fait complètement foirer toutes les lectures de l'indicateur. J'ai déjà tout foutu en l'air. ..... C'est quoi ce bordel ? ? ???
int start()
{
int limit,Val,Oi;
drawonce();
//limit=Bars;if (b!=Bars){
b=Bars;
datetime ldt_BeginDay = iTime (NULL, PERIOD_D1,Q);
int li_Bar = iBarShift (NULL, 0, ldt_BeginDay);
d=0;
for(int i=li_Bar-10; i>=0; i--){
if (curDay!=TimeDay(Time[i])) {
curDay=TimeDay(Time[i]);
OOO=iClose(NULL,PERIOD_D1,Q-d+1)-iOpen(NULL,PERIOD_D1,Q-d+1);
if (volarr[Q-d]!=0) Val=volarr[Q-d]-volarr[Q-d+1];
if (oiarr[Q-d]!=0) Oi=oiarr[Q-d]-oiarr[Q-d+1];
d++;
}
Buffer1[i]=Val;
Buffer2[i]=Oi;
Buffer3[i]=OOO;
}
}
WindowRedraw();
Comment(Q," ",d);
return(0);
}
Pourquoi pendant la compilation une valeur est variable, mais avec l'arrivée d'une nouvelle barre la variable change ?????.
J'ai besoin du CODE INITIAL de l'indicateur technique IMA, l'indicateur qui est appelé dans le terminal MetaTrader4 sous l'onglet "Indicateurs -> Trending -> Moving Average".
C'est plus clair maintenant ?
Pourquoi réinventer la roue ?
Faites-le comme l'OsMA ou tout autre code :
Ou bien vous ne faites pas du tout confiance à Metaquotes ?
Bonjour à tous. J'ai posté un script à la page 943 sur la description du travail et des exemples de bibliothèques *dll. J'ai compris un peu pourquoi le script ne fonctionne pas.
1. #include<WinUser32.mqh> n'est pas nécessaire dans ce cas.
2. Condition distincte if(lastkey != 0) Alert("lastkey=",lastkey) ; le code de la touche enfoncée est correctement affiché. Si vous faites un délai, il n'y a aucun doute sur la façon dont cela fonctionne.
3. Condition séparée if(lastmouse != 0) Alert("lastmouse=",lastmouse) ; produit de manière stable 512, même si la souris ne bouge pas. Il est très rare que d'autres numéros apparaissent.
En réponse au clic des boutons de la souris.
4. if(lastwnd != 0) Alert("lastwnd=",lastwnd) ; renvoie une chaîne vide, très probablement parce que la bibliothèque est ancienne, pas Unicode.
Dans l'aide, lisez que l'éditeur peut travailler avec des bibliothèques *dll, il suffit de les glisser et de les déposer dans la fenêtre de l'éditeur. Il ne s'ouvre pas.
Question. Quelqu'un peut-il aider à corriger "IdleLib.dll" ou mieux pour de l'argent. Si quelque part il y a ce sujet (et d'autres *dll) montrez le lien.
Veuillez indiquer comment prescrire (après un certain événement) une interdiction de l'AutoTrading dans un EA, c'est-à-dire définir par programmation le bouton du terminalAutoTrading à interdire. J'ai essayé d'appeler la constante ACCOUNT_TRADE_ALLOWED et de changer sa valeur en false, mais le compilateur dit que cela n'aura aucun effet ( ACCOUNT_TRADE_ALLOWED == false ; //expression n'a aucun effet)
Cette tâche (interdire à l'EA de commercer) est très facilement résolue avec des sémaphores (true/false.... autoriser/interdire le commerce).
Ou est-il important d'appuyer sur le bouton "Auto Trade" ?
Cette tâche (interdire à l'EA de commercer) est très facilement résolue avec des sémaphores (true/false.... autoriser/interdire le commerce).
Ou est-il si important d'appuyer sur le bouton "AutoTrading" ?
Si je ne peux pas désactiver l'AutoTrading pour l'ensemble du terminal, alors bien sûr je le ferai. Le problème est que j'ai plusieurs Expert Advisors en cours d'exécution sur mon terminal et je
Je veux utiliser un EA séparé pour surveiller l'équité et désactiver l'AutoTrading pour tous les EAs simultanément en cas d'urgence, par exemple, lorsque l'Aquity est réduit de 50%.
Si je ne peux pas interdire l'AutoTrading pour l'ensemble du terminal, je le ferai sûrement. Le problème, c'est que j'ai plusieurs conseillers-experts qui fonctionnent sur mon terminal et que je...
Je voulais utiliser un seul EA pour surveiller le profit du compte et désactiver l'AutoTrading pour tous les EA en même temps en cas d'urgence, par exemple, lorsque le profit du compte chute de 50%.
Je ne l'ai pas vérifié du tout. Vous devez remplacer WinUser32.mqh par le fichier joint pour que cela fonctionne.
Je l'ai vérifié maintenant, ça marche. Et voici d'autres gadgets
Et j'ai corrigé le post précédent pour que cela fonctionne sans remplacer WinUser32.mqh
Salutations à tous... Je sais que le problème est le suivant. Lorsque je compile le code, la variable d prend la valeur 110 et l'indicateur affiche tout correctement, mais avec l'arrivée d'une nouvelle barre, la variable devient 109 et, par conséquent, cela fait complètement foirer toutes les lectures de l'indicateur. J'ai déjà tout foutu en l'air. ..... C'est quoi ce bordel ? ? ???
Pourquoi pendant la compilation une valeur est variable, mais avec l'arrivée d'une nouvelle barre la variable change ?????.