Merci pour le commentaire.
J'ai essayé comme ci-dessous, maintenant le marché est fermé et 'timeout.wav' joue. Mais je ne suis pas sûr que 'ok.wav'sera joué pour les nouveaux ordres ou pas ?
Pouvez-vous me le faire savoir, s'il vous plaît ?
if ( expression )
{
...
} //---if Close
if ( _ticket > 0 )
{
PlaySound( "ok" );
} //---if Close
//---
if ( _ticket < 0 )
{
PlaySound( "timeout.wav" );
} //---if Close
Merci.
Remplacez-la par la fonction d'impression et exécutez-la dans le testeur.
D'après ce que je peux voir, c'est correct.
Vous pourriez utiliser -1 à la place de <0 mais le résultat serait similaire.
OK ! Merci. Je vais l'essayer lundi.
//--- deuxième édition
Ça marche bien.
Vous pouvez voir les codes de mon EA 'test'. J'ai besoin d'aide, s'il vous plaît.
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;
}
Merci !
//---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
Il ne s'agit pas de la fonction OnChartEvent.
Il s'agit
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)
{
//
}
cela semble être correct mais assurez-vous que le lottep lui-même ne descend pas en dessous de 0.01
Mais le lot ne diminue pas, je ne l'ai pas vu.
Où pensez-vous le voir ?

- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Bonjour,
J'ai essayé d'utiliser le code 'else {}' lorsque le marché est fermé, juste pour pouvoir jouer.
Mais deux sons mélangés, où est le problème, s'il vous plaît ?
if( sparam == "SELL GROUP" )
{
ObjectSetInteger ( 0, "SELL GROUP", OBJPROP_STATE, false );
_ticket = Order ( "SELL GROUP" );
PlaySound ( "ok.wav" );
}
else
{
PlaySound( "timeout.wav" );
}
Merci.
(L'anglais n'est pas ma langue maternelle)