[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 731

 
artmedia70:

Est-ce qu'il attend qu'ils tombent du ciel ? :)) S'il en clôture une en profit, alors il attend les pertes !!!!????!!!!. S'il commence à faire du commerce après eux, d'où ( ???) ils viendront.) Donc il a fermé un profitable avant eux et a arrêté le commerce en attendant les non-rentables...

Une logique complètement déroutante, ou votre interprétation...


C'est tout à fait vrai :) il doit attendre l'ouverture de deux sites non rentables :) La théorie est basée sur les statistiques et la théorie des probabilités.
 
artmedia70:

Est-ce qu'il attend qu'ils tombent du ciel ? :)) S'il en clôture une en profit, alors il attend les pertes !!!!????!!!!. S'il commence à faire du commerce après eux, d'où ( ???) ils viendront.) Donc il a fermé un profitable avant eux et a arrêté le commerce en attendant les non-rentables...

Une logique complètement déroutante, ou votre interprétation de celle-ci...


Je suis d'accord, ça n'a aucun sens, ..... qui doit trader d'où viennent les trades, ......... pourquoi d'abord émuler 2 trades perdants avant et ensuite trader sans se reposer sur ces 2 trades perdants, ......
 

Nous parlons de commerce virtuel, apparemment.

Objets à lancer sur la carte, gardez un œil sur eux. Probablement.

 
cyclik33:

C'est tout à fait exact :) il faut attendre l'ouverture de deux établissements déficitaires :) La théorie est basée sur les statistiques et la théorie des probabilités.

Comment peut-il attendre deux transactions perdantes si la dernière qu'il a fermée était rentable ?
 
Abzasc:

Nous parlons de commerce virtuel, apparemment.

Objets à lancer sur la carte, gardez un œil sur eux. Probablement.


Je comprendrais que le conseiller expert fasse deux transactions perdantes par lui-même, qu'il les modélise à sa manière et qu'il commence à chercher une entrée sur la base des modèles, ... alors il y a une certaine logique, mais sinon ? ??????.
 

Bonsoir, pourriez-vous m'indiquer comment définir une alerte dans l'indicateur, j'ai tout essayé, puis à chaque tick il signale, puis il ne signale pas du tout.

//+------------------------------------------------------------------+
//| i-3CCI-h.mq4 |
//| johnfantom & KimIV |
//| http://www.kimiv.ru |
//| |
//| 02.01.2006 CCI с 3-х ТФ в одном флаконе. |
//+------------------------------------------------------------------+
#property copyright "johnfantom & KimIV"
#property link "http://www.kimiv.ru"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
#property indicator_maximum 1.4
#property indicator_level1 0
#property indicator_minimum -1.2

//------- Внешние параметры индикатора -------------------------------
extern int CCI_Period_0 = 14; // Период CCI для текущего ТФ
extern int Level_0 = 100; // Уровень CCI для текущего ТФ
extern int TF_1 = 60; // Количество минут первого ТФ
extern int CCI_Period_1 = 14; // Период CCI для первого ТФ
extern int Level_1 = 100; // Уровень CCI для первого ТФ
extern int TF_2 = 240; // Количество минут второго ТФ
extern int CCI_Period_2 = 14; // Период CCI для второго ТФ
extern int Level_2 = 100; // Уровень CCI для второго ТФ
extern int NumberOfBars = 10000; // Количество баров обсчёта (0-все)
extern bool EmailON = TRUE;
extern bool SoundON = TRUE;

//------- Буферы индикатора ------------------------------------------
double buf0[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void init() {
IndicatorDigits(1);

SetIndexBuffer(0, buf0);
SetIndexLabel (0, "i-3CCI-h");
SetIndexStyle (0, DRAW_HISTOGRAM, STYLE_SOLID, 2);
SetIndexEmptyValue(0, 0);
}

//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
Comment("");
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
void start() {
double cci0, cci1, cci2;
double alertTime;
int nb1, nb2;
int LoopBegin, sh;

if (NumberOfBars==0) LoopBegin=Bars-1;
else LoopBegin=NumberOfBars-1;
LoopBegin=MathMin(Bars-1, LoopBegin);

for (sh=LoopBegin; sh>=0; sh--) {
nb1=iBarShift(NULL, TF_1, Time[sh], False);
nb2=iBarShift(NULL, TF_2, Time[sh], False);

cci0=iCCI(NULL, 0, CCI_Period_0, PRICE_CLOSE, sh);
cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);
cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);

if (cci0>Level_0 && cci1>Level_1 && cci2>Level_2) { buf0[sh]=1;
if (buf0[sh]!=1 && alertTime != Time[0]) { alertTime = Time[0];
if (EmailON != TRUE) SendMail ("Signal", "UP");
if (SoundON != TRUE) Alert ("Signal UP");}
}
if (cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) { buf0[sh]=-1;
if (buf0[sh]!=-1 && alertTime != Time[0]) { alertTime = Time[0];
if (EmailON != TRUE) SendMail ("Signal", "UP");
if (SoundON != TRUE) Alert ("Signal UP");}
}
}

}
//+------------------------------------------------------------------+

 
Infinity:

Je comprendrais que le conseiller expert fasse deux transactions perdantes par lui-même, qu'il les modélise à sa manière et commence à chercher une entrée sur la base des modèles, ... alors il y a une certaine logique, mais quant à ? ??????.

Mais de cette façon, vous accrochez un objet, mémorisez le prix et gardez trace de la différence.

Le prix est plus une commodité, il est plus facile d'utiliser la date et l'heure du prix.

 
Abzasc:

Mais de cette façon, vous accrochez un objet, mémorisez le prix et gardez trace de la différence.

C'est plus une commodité, il est plus facile d'utiliser le prix de la date et de l'heure.


Eh bien, je connais cette méthode, d'ailleurs, elle est décrite ici sur le forum dans des articles comme, et la logique n'est toujours pas claire, ...... Si vous avez une bonne raison, alors vous devez modéliser les transactions en espérant qu'elles seront rentables et utiliser cette modélisation pour rechercher la même situation. S'il est basé sur des statistiques et des probabilités "comme l'a dit l'auteur", il est beaucoup plus facile d'ouvrir des transactions en fonction des probabilités ou non.
 

Permettez-moi de l'expliquer par un exemple.

Supposons la stratégie suivante : l'EA ouvre une transaction au début de chaque journée. Si la journée précédente était haussière, la transaction est achetée. Si elle était baissière, la transaction est vendue.

nous avons besoin de :

1) l'EA commence à fonctionner.

2) Si les deux jours précédents étaient baissiers, nous avons ouvert (ostensiblement) pour un trade de vente, mais ensuite (ostensiblement) nous sommes allés pour une vente ou un achat.

Si nous n'avions pas 2 pertes virtuelles, alors l'EA attendrait qu'elles apparaissent et ouvrirait une position.

La stratégie devrait naturellement être différente, mais la signification est la suivante.

 

L'émulation des transactions perdantes est claire. Le conseiller expert capte un signal de trading, par exemple pour prendre une position longue. Il se souvient du point d'ouverture de l'ordre imaginaire et de ses ordres stop. Ensuite, il surveille les tics. Si le prix touche le stop de l'ordre virtuel, la transaction est enregistrée comme une transaction à perte. S'il touche un ordre d'achat, la transaction sera considérée comme rentable. La seule chose à faire est de trouver par quel système de trading les points de fixation des ordres imaginaires doivent être suivis.

cyclik33, je ne le ferai sûrement pas - j'ai du travail à faire maintenant. J'ai posé des questions et fait ce commentaire juste pour clarifier les choses. Je l'ai déjà écrit pour clarifier le problème.

Bonne chance pour trouver un altruiste - votre idée est tout à fait réalisable en code programme.