A sorozat első tagjaként kezdetnek egy egyszerű programot mutatok be, ami segítségünkre lehet , ha értesülni szeretnénk különböző történésekről a Ninja Traderünkben.

Bizonyára többször történt olyan , hogy pl.: indikátorok adtak számunkra jelzést , segítettek döntéseket hozni kötésekkel kapcsolatban , és erről szerettünk volna valamiféle alertet, hangüzenetet kapni.
Erre segítségünkre lehet a System.Speech.dll mellyel tetszőleges üzenetet mondathatunk ki indikátorunkkal , vagy stratégiánkkal.

A Windows keresőjébe írjuk be hogy system.speach.dll . Fontos , hogy a dll-ünk , amire hivatkozni fogunk az indikátorunkban .net 3.5 , re vagy korábbira legyen fordítva , a 4.0 ás a Ninjatrader 7.10 –es verziójában sajnos nem támogatott.
A filunkat valószinűleg a  C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0 –mappában találjuk meg.
Ezt a file-t includoljuk a projektünkhöz:include.png

A példaprogram , amit mutatok az alapján ad jelet , ha a gyertya a Bollinger szalag felett vagy alatt zár:
1. lépés:  meghívjuk a using dirktíváknál a speech dll-ünket.
using System.Speech.Synthesis;

2.lépés: Az onBarUpdate modulban megírjuk a jelző programkódot

if(Historical == false && Close[0] > Bollinger(2, 20).Upper[0]){
//ha a gyertya a Bollinger szallag felett zár és nem hisztorikus adatokról van szó
                        using (SpeechSynthesizer beszed = new SpeechSynthesizer()) 
                                                          //meghívjuk a Windows beszéd objektumát
                        {
                             beszed.Speak("Up");                                                          //kimondatjuk vele a jelzésünket
                        }
                  }
                        if(Historical == false && Close[0] < Bollinger(2, 20).Lower[0]){
//ha a gyertya a Bollinger szallag alatt zár és nem hisztorikus adatokról van szó
                        using (SpeechSynthesizer beszed = new SpeechSynthesizer())
  //meghívjuk a Windows beszéd objektumát
                        {
                             beszed.Speak("Down");                                                  //kimondatjuk vele a jelzésünket
                        }
                       
                  }



3. lépés Program lefordítása , használata.

Remélem hasznos leírást sikerült nyújtanom azok számára , akik ilyesmiben gondolkoztak
_________________________________________________________________________

Update 2013. február 21.

Kicsit frissítettem / bonyolítottam ezen a hangértesítés modulon. A lényege , hogy ha magyarul szeretnénk valamit kimondatni a számítógépünkkel , akkor nem tudjuk használni a fent említett megoldást. De hát természetesen erre is van megoldás.
A google translaternek van egy olyan funkciója, hogy fel tudja olvasni a beírt szövegeket , akár magyarul is , ezt használjuk ki egy programmal.

#region voicer

      private     void voice(string szoveg)
          {    
     if(   voicee      == false ){return;}
           var text = szoveg;
           string[] rosszkarakterek =new string[5];
           rosszkarakterek[0]="_";
           rosszkarakterek[1]="-";
           rosszkarakterek[2]="?";
           rosszkarakterek[3]=".";
           rosszkarakterek[4]="#";
     for (int i=0 ;i<=4;i++)
    {text=text.Replace(rosszkarakterek[i],"");}  
            var url = "http://translate.google.com/translate_tts?tl=hu&q=" + text;
           using (var client = new WebClient())
           {try{
               client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1";
               client.DownloadFile(url, "temp.mp3");
               string FileName = "temp.mp3";                  
                long lejatszas = mciSendString("open \"" + FileName + "\" type mpegvideo alias MediaFile", null, 0, IntPtr.Zero);
               lejatszas = mciSendString("play " + FileName + " from 0", null, 0, IntPtr.Zero);
                      string playCommand = "Close MediaFile";
    mciSendString(playCommand, null, 0, IntPtr.Zero);
           }catch{Print("Hiba a voice modulban- Playing Error");}  
    }
        }
#endregion        


A program működési elve a következő: elküldi a google translaternek a program a szöveget, és az audióformátumre konvertálja. Az audiófile-t (temp.mp3) letöltjük  és windows media playerrel lejátszuk.


Bemutató videó:

A bejegyzés trackback címe:

https://algotrader.blog.hu/api/trackback/id/tr594784500

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása