[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 41

 
hoz:

Une drôle de question s'est posée. Par exemple, je décide d'ouvrir un ordre d'achat sur une condition :

1. La vague rapide 1 a croisé la vague lente 2 de bas en haut. (L'important n'est pas le moment du croisement, mais que la vague rapide 1 soit plus élevée que la vague lente 2).

2. Le chandelier a touché le 1 rapide, nous ouvrons donc un ordre d'achat.

J'y ai pensé, et donc je comprends que nous devons créer des conditions qui si le prix de la bougie est approximativement égal au prix de la vague rapide1 apparemment avec un certain écart spécifié, n'est-ce pas ?

Fondamentalement, puisque le chandelier est actuellement au sommet une fois que le rapide croise le lent par le bas, alors plus besoin de comparer le bas du chandelier avec le prix du rapide ?

c'est-à-dire

Mais dans ce cas, on ne tient pas compte du fait qu'il est peu probable que le chandelier se trouve exactement au niveau du prix de l'iMA(fast), car le prix peut rapidement le franchir et aller plus loin ou rebondir. Donc, nous devons spécifier une plage.

Comment le faire correctement ?

Lisez tout et réglez/corrigez !

  • SOLUTIONS LOGICIELLES
Par où commencer en tant que débutant ?
Comment trouver le prix de la dernière fractale ?
Comment obtenir un signal lorsque deux MAs se croisent ?

Comment vérifier le croisement des MA par rapport à la divergence requise ?

...


 
Twilight:

Il sera redessiné visuellement.

Parcourir les N dernières barres et s'il y a eu un signal, alors signal=vrai.

Et ensuite, vous pouvez faire ce que vous voulez avec tous les autres indicateurs non redessinés.

PostMessageA (WindowHandle(Symbol(), Period()), 0x0111, 33324, 0) ;

Où insérer ? Au début de Start ?

Merci.


Silatyt:

Avant d'appeler l'indicateur (vous pouvez aussi le mettre au début de start()).

P.S. Tout le monde "fuit" le redécoupage, et vous êtes à l'origine de ce phénomène - de manière non conventionnelle... :))


Autre question, j'ai 2 graphiques d'une même devise ouverts et il se redessine dans toutes les fenêtres à la fois. Comment faire pour qu'il ne se redessine que dans une seule fenêtre ? C'est une recherche Hendle ?

Pouvez-vous me fournir un code et un exemple ?

 

Je ne suis pas intéressé par la vérification d'un croisement de MA, j'ai besoin d'ouvrir un ordre lorsqu'une bougie touche la MA....
 
hoz:

Je ne suis pas intéressé par la vérification d'un croisement de MA, j'ai besoin d'ouvrir un ordre lorsque la MA est touchée par une bougie...

IMHO
Condition plus ou égale à Bid >= iMA (...) si elle se touche de bas en haut et vérifier à chaque tick.

OU vérifier que le Higth[0] d'une barre est supérieur ou égal à >-iMA (...).

OU CLOSE[0] et la même chose.

si (fast0>=slow0 && Close[0]>=fast0) Print("Crossing UP") ;

Acheter

 
hoz:

Je ne suis pas intéressé par la vérification des croisements de MA, j'ai besoin d'ouvrir un ordre lorsqu'une bougie touche la MA....


if (MA на первом баре < Low [1]) 
   if (MA на нулевом баре >= Bid) {то входите в бай, если на отбой от МА}
 
Twilight:



Ça donne quelque chose comme ça.

En bref, c'est ainsi qu'il faut procéder :

hparent=WindowHandle(Symbol(),Period());         // нашли хэндл графика скрипта
hparent= GetAncestor( hparent,2);                  // нашли основное окно
hactiv= GetDlgItem( hparent,0xE900);               // нашли окно с графиками
hactiv= GetWindow( hactiv, GW_CHILD);               // нашли 1-ое дочернее окно, оно текущее
// пробежать по остальным окнам
while( hactiv>0) {
   hactiv= GetWindow( hactiv, GW_HWNDNEXT);         // нашли следующее дочернее окно
}
Puis
GetWindowTextA(hactiv,name,10);            // получили описание окна;

Analysez-les, comparez-les et obtenez ce que vous cherchez.

 
Roman.:

if (MA на первом баре < Low [1]) 
   if (MA на нулевом баре >= Bid) {то входите в бай, если на отбой от МА}


Roman, c'est ce que je demandais. En fait, je pensais la même chose, mais je voulais m'assurer que je pensais correctement en vérifiant auprès des professionnels. Merci.

 
Bonjour à tous ... les gars S'il vous plaît dites-moi ce qui ne va pas ... mon code de deux lignes ne veut pas hum ...

#property copyright "Copyright © 2012"
#property link      "Не ссать  против ветра "
 
 extern bool       Будильник      = true ;
 extern string SoundFile      =  "News.wav";
 
int start ()                                  
{
 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN,0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN,0); 
 
if (Будильник ==true)
{

  {
 if ( a > b ) 
       
 {  
  Alert("BUY");
  PlaySound(SoundFile);
  Sleep(100000);
  }
 }
}


return(0);}
voici un extrait de l'indicateur lui-même
extern int period=21;
extern int method=0 ;
extern int price=0 ;
 
odiseif:
Salut à tous ... les gars S'il vous plaît dites-moi ce qui ne va pas ... mon code de deux lignes ne veut pas fonctionner .(
voici un extrait de l'indicateur lui-même
extern int period=21 ;
extern int method=0 ;
extern int price=0 ;

Il manque une variable à l'appel de l'indicateur: le tampon ! !!

 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN, N_Buf, 0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN, N_Buf, 0);
 
TarasBY:

Il manque une variable dans l'appel de l'indicateur - le tampon ! !!


Trois tampons sont appelés dans l'indicateur... merci... je vais essayer les deux façons... peut-être que cela fonctionnera à l'intuition.