uzman danışman - çeşitli sorular

 

Merhaba,

Piyasa kapandığında 'else {}' kodunu kullanmaya çalışıyorum, sadece oynayabilir.

Ama iki ses karışık, sorun nerede lütfen?

// SELL
if ( sparam == "SELL GROUP" )
{
     ObjectSetInteger ( 0 , "SELL GROUP" , OBJPROP_STATE , false );
    _ticket = Order  (     "SELL GROUP"                        );

     PlaySound ( "ok.wav" );
}
else
{
     PlaySound ( "timeout.wav" );
}

En iyi.

(İngilizce benim ana dilim değil)

 
timeout.wav, "SELL GROUP" dışında herhangi bir/her spam için ses çıkaracaktır.
 

Yorum için teşekkürler.

Aşağıdaki gibi denedim, şimdi piyasa kapalı 'timeout.wav' oynuyor. Ama 'ok.wav'ın yeni düzen için oynayıp oynamayacağından emin değilim?

Lütfen bana haber verir misin?

int _ticket = 0 ;
if ( expression )
{
...  
}   //---if Close

if ( _ticket > 0 )
{
     PlaySound ( "ok" );
}   //---if Close
//---
if ( _ticket < 0 )
{
     PlaySound ( "timeout.wav" );
}   //---if Close

Teşekkürler.

 

Yazdırma işleviyle değiştirin ve test cihazında çalıştırın.

Gördüğüm kadarıyla doğru.

<0 yerine -1 kullanabilirsiniz, ancak sonuç benzer olacaktır.

 

TAMAM! Teşekkürler. Pazartesi deneyeceğim.

//--- ikinci kez düzenlendi

İyi çalışıyor.

 
Aslında ana TradePanel EA'larıma 'OrderLots' işlevi eklemek istiyorum, ancak bunu test etmem gerekmeden önce.
Bu yüzden '-' düğmesine tıkladığımda çok şey azalacak, ama benim için çalışmıyor.

Benim 'test' EA'mın kodlarını görebilirsiniz. Yardıma ihtiyacım var, lütfen.

int              i                                                ,
                int_example         = 1                           ;
double           _lotStep            = 0.01                        ,
                _lot                = 0.09                        ;
string           _prefix             = "| TP -"                    ,
                _edtLot             = _prefix + " Lot"            ,
                _btnLotMinus        = _prefix + " Button Minus"   ;

//---init
_PanelDraw();

//---OnChartEvent
if ( sparam == _btnLotMinus )
{
     ObjectSetInteger ( 0 , _btnLotMinus, OBJPROP_STATE , false );
    _lot = _lot - _lotStep;
     if ( _lot <= 0 )
         _lot = _lotStep;

     Print ( "| Just You Clicked Button Lot Minues" );
     return ;
}   //---if Close

//---
void _PanelDraw()
{
//---Button
     ObjectCreate     ( 0 , _btnLotMinus, OBJ_BUTTON          , 0 , 0 , 0    );
     ObjectSetInteger ( 0 , _btnLotMinus, OBJPROP_XDISTANCE   , 16         );
     ObjectSetInteger ( 0 , _btnLotMinus, OBJPROP_YDISTANCE   , 16         );
     ObjectSetInteger ( 0 , _btnLotMinus, OBJPROP_XSIZE       , 80         );
     ObjectSetInteger ( 0 , _btnLotMinus, OBJPROP_YSIZE       , 32         );
     ObjectSetString ( 0 , _btnLotMinus, OBJPROP_TEXT        , "-"        );
     ObjectSetInteger ( 0 , _btnLotMinus, OBJPROP_FONTSIZE    , 20         );
     ObjectSetInteger ( 0 , _btnLotMinus, OBJPROP_STATE       , false      );
     ObjectSetInteger ( 0 , _btnLotMinus, OBJPROP_SELECTABLE , false      );
     Print ( "I am Minus" );

//---Lot
     ObjectCreate     ( 0 , _edtLot,       OBJ_EDIT            , 0 , 0 , 0    );
     ObjectSetInteger ( 0 , _edtLot,       OBJPROP_COLOR       , Red       );
     ObjectSetInteger ( 0 , _edtLot,       OBJPROP_XDISTANCE   , 16         );
     ObjectSetInteger ( 0 , _edtLot,       OBJPROP_YDISTANCE   , 56         );
     ObjectSetInteger ( 0 , _edtLot,       OBJPROP_XSIZE       , 80         );
     ObjectSetInteger ( 0 , _edtLot,       OBJPROP_YSIZE       , 32         );
     ObjectSetString ( 0 , _edtLot,       OBJPROP_TEXT        , "Lot: " + DoubleToStr ( _lot, 2 ) );
     ObjectSetInteger ( 0 , _edtLot,       OBJPROP_FONTSIZE    , 12         );
     ObjectSetInteger ( 0 , _edtLot,       OBJPROP_STATE       , true       );
     ObjectSetInteger ( 0 , _edtLot,       OBJPROP_READONLY    , true       );
     Print ( "I am Minus" );
     //---
     return ;
}

Teşekkürler!

 

//---OnChartEvent
if ( sparam == _btnLotMinus )
{
     ObjectSetInteger ( 0 , _btnLotMinus, OBJPROP_STATE , false );
    _lot = _lot - _lotStep;
     if ( _lot <= 0 )
         _lot = _lotStep;

     Print ( "| Just You Clicked Button Lot Minues" );
     return ;
}   //---if Close

Bu, OnChartEvent işlevi değil

Bu

void OnChartEvent ( const int id,         // Event ID
                   const long & lparam,   // Parameter of type long event
                   const double & dparam, // Parameter of type double event
                   const string & sparam   // Parameter of type string events
  );

   if(id==CHARTEVENT_OBJECT_CLICK)

     {

     //

     }


 

Keith Watford :

Bu OnChartEvent işlevi değil

Bu

# 5 hakkında hala yardıma ihtiyacım var

---

Ama neden yazmadım? Daha fazla yer kapladığı için...

Neyse teşekkürler.

 

iyi görünüyor ama lotstep'in kendisinin 0.01'in altına düşmediğinden emin olun

 
Ama çok azalmaz ben görmedim.
 
Max Enrik :
Ama çok azalmaz ben görmedim.

Nerede görmeyi umuyorsun?

Print ( "| Just You Clicked Button Lot Minues" );
Bu yazdırır mı?