alarme sonore

husserja
Posts: 3
Joined: 24 Jan 2014 21:47

alarme sonore

Post by husserja »

Bonjour
j 'aurais besoin d' aide pour la création d' alarme sonore (éviter de rester trop devant l 'écran !!)
une alarme sonore : sur le MACD (changement de tendance)
quand on un croissement de 2 moyennes mobiles
et sur le Super Trend

il faut passer par des programmes Express dont je ne maitrise rien du tout !!! MERCI à vous tous
Ceres
Posts: 73
Joined: 31 Mar 2014 09:53

Re: alarme sonore

Post by Ceres »

Bonjour ,


A titre d'exemple pour faire simple , par ancrage , choisir 3 indicateurs comme MacdHisto.txt , TwoMa.txt , SuperTrend.txt avec les series respectives macdhisto,zero (pour le MACDhisto), MaFast , MaSlow (pour deux MA) , et line (pour le super trend ) les codes sont présents sur le forum comme macdhisto (post213.html?hilit=macdhisto#p213) ou dans le dossier "express" à défaut j'ai utilisé "kijunsen" , ou la vidéo "Croisement de deux moyennes mobiles "
ne pas utiliser de chiffre dans la formulation nom du fichier express ou nom de la série importée : "series anchor (MyExpress.MySerie);" sur 3 conditions cela donnerait :

Code: Select all

express Ancrage

vars

series anchor1 (MacdHistoExpress.macdHisto);
series anchor0 (MacdHistoExpress.zero);  // series zero ;
series anchor2 (TwoMAExpress.MaFast);
series anchor3 (TwoMaExpress.MaSlow);
series anchor4 (SuperTrendExpress.line);
input $PlaySound("No;Yes",0);
Numeric FlagUp ,FlagDown;

Calculation

  FlagUP = 0 ;
  if (anchor1 >= anchor0)  then  FlagUp = FlagUp + 1 ;
  if  (anchor2 >= anchor3) then  FlagUp = FlagUp + 1 ;
  if  (close >= anchor4) then  FlagUp = FlagUp + 1 ;
  
  
  
  FlagDown = 0 ;
  if (anchor1 <= anchor0)  then  FlagDown = FlagDown + 1 ;
  if  (anchor2 <= anchor3) then  FlagDown = FlagDown + 1 ;
  if  (close <= anchor4) then  FlagDown = FlagDown + 1 ;

  
  if FlagUp >= 3  and IsBarCompleted() then 
   begin
    if ($PlaySound = 1) then Playsound("buy");
    HighLightRGB ("slot" , 0 , 128 ,128 ) ;
   end
  
  Else if FlagDown >= 3  and IsBarCompleted() then 
   begin
    if ($PlaySound = 1) then Playsound("sell");
    HighLightRGB ("slot" , 255 , 102 ,0 ) ;
   end

interpretation

begin
end



Pour cumuler plusieurs conditions , à chaque condition on désigne un drapeau (flag) que l'on incrémente de +1 , ensuite si toutes les conditions sont en place (ici >= 3) , on valide l'action qui en résulte , après avoir initialisé le flag à zéro. Le son pourra être en position (Yes/No) NB : Pour créer des messages sonores vocaux personnalisés avec une voix googlienne , il y a "sound oftexte .com" , après il faut convertir le mp3 en .wav avec un freeware type audacity par exemple.
Salutations

Ceres
husserja
Posts: 3
Joined: 24 Jan 2014 21:47

Re: alarme sonore

Post by husserja »

Bonjour,

Je vous remercie de votre réponse mais je ne suis pas sur d'avoir bien saisi.
par ancrage , choisir 3 indicateurs comme MacdHisto.txt , TwoMa.txt , SuperTrend.txt avec les series respectives macdhisto [...] les codes sont présents sur le forum
Il faut importer les codes de ces indicateurs (existants) dans des fichiers Express ? Puis ensuite ajouter votre script Express ? Donc c'est un script supplémentaire qui ferait office d'interpréteur des différentes séries pour lancer les sons ?

Il est impossible de 'surcharger' le comportement des indicateurs existants, via leur code Express, pour lancer les sons dans l'interprétation ? Ou peut être directement une astuce pour le faire avec les outils graphiques de NanoTrader ?

Merci beaucoup, bonne journée
User avatar
WHS Support
Posts: 2430
Joined: 14 Feb 2013 10:27

Re: alarme sonore

Post by WHS Support »

Bonjour,

Si l'alerte sonore concerne la combinaison de ces indicateurs dans une même etude, vous pourriez simplement ajouter le Metasentimentor à l'étude.

Ensuite passez sur Papertrade et, dans la barre de compte, faites un clic droit sur le contrat et cliquez sur "Notifications". Cochez les cases d'alerte sonore pour une execution d'ordre. Activez ensuite le mode OrdreAuto sur le graphique (toujours en Papertrade bien sûr). Vous aurez ainsi une alerte sonore lorsque les conditions souhaitées sont toutes réunies et vous pourrez passer votre ordre en manuel sur votre compte reel.

Cordialement

WHS Lux
Ceres
Posts: 73
Joined: 31 Mar 2014 09:53

Re: alarme sonore

Post by Ceres »

Bonjour

husserja ,
je n'avais pas vu votre message , oui il faut charger les 3 codes + ce dernier , ils sont en fait assez simple pas de calcul compliqué à posteriori , donc pas de ralentissement . il est possible aussi de les regrouper en un seul code. si le temps me le permet. :) c'est un exemple avec 2 moyennes croisées , MACD et une ligne de tendance . juste à titre d'exemple car le plus compliqué c'est d’éliminer les bruits de fond ou les faux signaux

Code: Select all

express ExempleThreeConditions

vars

series EmaFast,EmaSlow,EmaSignal,macd,macdhisto,zero;
numeric i;
input $FastP(1,200,12),$SlowP(1,200,26),$Signal(1,200,9);

input $MaSlow(0,200,50), $MaFast (0,200,20);
series MaFast,MaSlow ; 

string contract; 
Numeric FlagUp ,FlagDown;

input $PlaySound("No;Yes",0);

series Line ; 

calculation
  
  if IsFirstBar() then 
    begin
    CalculateAtEveryTick(false);   
    SetYscaleFormat(GetPriceFormat());
    end
  
  // Calculate the moving average convergence divergence
  
    if IsFirstBar() then
    begin
      ExpMovingAverage(c,EmaFast,$FastP);
      ExpMovingAverage(c,EmaSlow,$SlowP);
      
      for i = 0 to FinalBarIndex()
      macd[-i] = EmaFast[-i] - EmaSlow[-i];
      ExpMovingAverage(macd,EmaSignal,$Signal);
      for i = 0 to FinalBarIndex()
      macdhisto[-i] = macd[-i] - EmaSignal[-i];
    end

  // Calculate  the Average , slow and fast
  
  if IsFirstBar() and IsBarCompleted()then
    begin
      MovingAverage(close, MaFast, $MaFast);
      MovingAverage(close, MaSlow, $MaSlow);
    end
    
    // KijunSen
  
    line = void;
  if CurrentBarIndex() > 26 then   
    line = (highest(high, 26) + lowest(low,26)) / 2;
  
  // 3 CDN
  
  
  FlagUP = 0 ;
  if (macdhisto > zero)  then  FlagUp = FlagUp + 1 ;
  if  (MaFast > MaSlow) then  FlagUp = FlagUp + 1 ;
  if  (close > Line) then  FlagUp = FlagUp + 1 ;
  
  
  
  
  FlagDown = 0 ;
  if (macdhisto < zero)  then  FlagDown = FlagDown + 1 ;
  if (MaFast < MaSlow)  then  FlagDown = FlagDown + 1 ;
  if (close < Line)  then  FlagDown = FlagDown + 1 ;

  
  if FlagUp >= 3 and IsBarCompleted() then 
   begin
      //MessageBox("Buy" +  contract);
    if ($PlaySound = 1) then Playsound("sell");
    HighLightRGB ("slot" , 0 , 128 ,128 ) ;
   end
  
  if FlagDown >= 3 and IsBarCompleted() then 
   begin
      //MessageBox("Sell" +  contract);
    if ($PlaySound = 1) then Playsound("buy");    
    HighLightRGB ("slot" , 255 , 102 ,0 ) ;
   end
  

      
    
interpretation

begin
end

//plot (MaFast, white , 1);
//plot (MaSlow, white , 1) ;
//plot (line, white , 1) 
//plotcandles(zero,macdhisto,macdhisto,zero);
//plot(macd,lightblue,1);


Empiriquement ce qui ralentit le programme, ceux sont les Multi applications ouvertes ( navigateur , streaming ...) ainsi que l'historique que l'on charge pour l'observation et/ou des calculs à chaque tick , dans l'express Analysis , on peut cocher "code analysis" à cet effet pour analyser un code . l"historique pour l'observation" et "réduire au minimum pour le trading" . ce qui est normal plus il y a de barres chargées de données ( UT1min , UTDay .... x jours d'historique ) plus la connexion , le programme , la mémoire vive sont sollicités .

Pour éviter le calcul à chaque tick par exemple on rajoute en début de programme

Code: Select all

  if IsFirstBar() then 
    begin
    CalculateAtEveryTick(false);   
    SetYscaleFormat(GetPriceFormat());
    end
WHS Support , auriez vous s'il vous plait le code simplifié du supertrend(10,3) présent dans "indicator" ? celui-ci est trop complet post6279.html?hilit=supertrend#p6279

Cordialemnt
Ceres
Last edited by Ceres on 19 May 2016 19:38, edited 1 time in total.
User avatar
WHS Support
Posts: 2430
Joined: 14 Feb 2013 10:27

Re: alarme sonore

Post by WHS Support »

Bonjour Ceres,

Je fais suite à votre post et vous prie de trouver ci-joint l'indicateur SuperTrend développé en Express:
Supertrend.txt
je vous en souhaite bonne réception.

Cordialement,

Amélie

WH SelfInvest
You do not have the required permissions to view the files attached to this post.
Ceres
Posts: 73
Joined: 31 Mar 2014 09:53

Re: alarme sonore

Post by Ceres »

Bonjour Whs Support, merci pour le code du supertrend :oops: qui était en fait présent sur le forum .
Cordialemnt
Ceres
mpcdmu
Posts: 19
Joined: 29 Jun 2013 00:11

Re: alarme sonore

Post by mpcdmu »

Bonjour,

Est-il possible d'envoyer un message personnel à un membre du Forum ?

Et si oui, comment faut-il procéder ?

Cordialement.
User avatar
WHS Support
Posts: 2430
Joined: 14 Feb 2013 10:27

Re: alarme sonore

Post by WHS Support »

Bonjour,

La fonction de contact direct entre membres est désactivée pour éviter tout envoi de messages indésirables.

Cordialement

WHSLux
mpcdmu
Posts: 19
Joined: 29 Jun 2013 00:11

Re: alarme sonore

Post by mpcdmu »

Bonjour,

Merci pour votre réponse.

Cordialement.

WHS Support wrote:Bonjour,

La fonction de contact direct entre membres est désactivée pour éviter tout envoi de messages indésirables.

Cordialement

WHSLux
Post Reply

Return to “WHS NanoTrader”