[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 8

 
Mm-hmm, merci,
 

Bonjour.

Voici mes travaux du week-end. Je le soumets à la condamnation.

int start()
{
//----
double CCI = NormalizeDouble(iCCI(NULL, 0,Period,PRICE_CLOSE,1), Digits) ;

if(CCI[1] > -100)
if(CheckOrders(OP_SELL))
{
if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
Print("L'ordre d'achat n'est pas ouvert. Erreur #", GetLastError()) ;
}

if(CCI[1] < 100)
if(CheckOrders(OP_BUY)
{
if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
Print("L'ordre de vente n'est pas ouvert. Error #", GetLastError()) ;
}

//----
return(0) ;
}

Cela fait partie du code de l'ICC. L'essence est simple, cci en bas >-100 acheter, cci en haut < 100 vendre.


int start()
{
//----
double RSI = NormalizeDouble(iRSI(NULL, 0,Period,PRICE_CLOSE,1), Digits) ;

if(RSI[1] > 70)
if(CheckOrders(OP_SELL))
{
if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
Print("L'ordre d'achat n'est pas ouvert. Error #", GetLastError()) ;
}

if(RSI[1] < 30)
if(CheckOrders(OP_BUY)
{
if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
Print("L'ordre de vente n'est pas ouvert. Error #", GetLastError()) ;

//----
return(0) ;
}

la partie du code pour le RSI est la même, acheter à 70 vendre à 30


int start()
{
//----
double WPR = NormalizeDouble(iWPR(NULL, 0,Period,1), Digits) ;

if(WPR[1] > -80)
if(CheckOrders(OP_SELL))
{
if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
Print("L'ordre d'achat n'est pas ouvert. Error #", GetLastError()) ;
}

if(WPR[1] < -20)
if(CheckOrders(OP_BUY))
{
if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
Print("L'ordre de vente n'est pas ouvert. Error #", GetLastError()) ;
}

//----
return(0) ;
}

cette partie du code pour WPR (indicateur Williams) acheter -80, vendre -20.

J'ai une question à poser si je ne suis pas confus avec les conditions commerciales dans toute cette affaire............Merci beaucoup........

 

Bonjour, chers professionnels et pas seulement.

À mon avis, votre site est le plus approprié pour aider les débutants à apprendre MQL4.

Lorsque je posais des questions, j'obtenais des réponses complètes de la part d'experts. Précisément les experts. Mais un débutant est un débutant. Il posera la question encore et encore jusqu'à ce qu'il en comprenne l'essence. Ainsi se comportent les écoliers qui ont le désir d'apprendre quelque chose..... Peut-être qu'ils (les étudiants) ne sont pas aussi intelligents que les geeks, et pas aussi intelligents que les nerds, mais s'il y a un désir, je pense qu'il devrait être accueilli...... je veux apprendre.....

J'ai beaucoup aimé les réponses et les commentaires de korey, grani77, vinin, YuraZ, figarO, BARS. Intelligent et intelligent. Si vous me le permettez, la communication peut être transférée à l'adresse e-mail............ Je vous en remercie par avance.

 
igrok2008 писал(а) >> et pas aussi intelligents que les intellos.

Oh, mon garçon. Je me suis dit : "On a beau apprendre à un poulet, il ne devient pas plus intelligent, il en sait juste plus."

 
Mathemat >> :

Oh, mon garçon. Je me suis dit : "On a beau apprendre à un poulet, il ne devient pas plus intelligent, il apprend juste plus."

Pourquoi enseigner à une poule ? Ce n'est même pas un oiseau (selon le proverbe) ..... Mais un être humain est différent d'un poulet parce qu'il pense. Ou on pourrait dire : "On vit longtemps et on apprend longtemps."

Et encore je répète, ci-dessus j'ai donné ma création au cours du week-end, s'il vous plaît, vos commentaires ce qui est faux ..........

 

à igrok2008

Je dirais que l'état actuel du trading automatisé ressemble à la bataille de la moisson,
Nous nous battons avec des combinaisons, des citations, des MQL, des testeurs, des TS glitchy provenant de livres et des TS faits maison,
c'est pourquoi la formation n'est tout simplement pas réglée, elle n'existe pas encore à cause des nombreux problèmes non résolus
allant du technique au gnostique.
- Il y a l'art de créer des MTS, mais le reste du méta commerce est un désordre.
il n'y a donc qu'une seule façon de soutenir la formation
=Il faut choisir le bon problème, le travailler et en tirer des leçons.
...
P.S. c'est une honte d'étudier, parce qu'au lieu (d'avoir de l'expérience et des compétences) de résoudre des problèmes dans MT4, vous devez apprendre et apprendre de ces problèmes.
IMHO = visage sur le piano
mais il n'y a pas encore d'autres moyens dans le trading automatique et il n'y en aura pas encore.

 
Korey >> :

à igrok2008

l'état actuel du commerce automobile est comme la bataille de la moisson,
Nous nous battons avec des combinaisons, des citations, des MQL, des testeurs, des TS défectueux provenant de livres et des TS faits maison,
c'est pourquoi la formation n'est tout simplement pas réglée, elle n'existe pas encore à cause des nombreux problèmes non résolus
allant du technique au gnostique.
- Il y a l'art de créer des MTS, mais le reste du méta-commerce est un désordre.
donc il n'y a qu'un seul moyen pour que la formation fonctionne
=Il faut choisir le bon problème, y travailler et en tirer des leçons.
...
P.S. c'est une honte d'étudier, parce qu'au lieu (d'avoir de l'expérience et des compétences) de résoudre des problèmes dans MT4, vous devez apprendre et apprendre de ces problèmes.
IMHO = visage sur le piano
mais il n'y a pas encore d'autres moyens dans le trading automatique et il n'y en aura jamais.

Pourquoi cela fait-il mal d'apprendre ? Une personne apprend et se développe. S'il n'apprend pas, c'est un processus de transformation en amibe, en un état unicellulaire, amorphe. Il s'agit donc de questions philosophiques. Elles sont compliquées, pas simples, et il est MEILLEUR d'en discuter autour d'une tasse de thé (40 degrés), avec des pâtisseries (un morceau de bonne viande) et sur un canapé magique. ......- :)))))))

Je répète, à partir de16.02 (ci-dessus) mes créations. Quel est le problème avec eux.............

 

à igrok2008

1. pas de question posée, c'est-à-dire où se trouve la question posée ?
2. pour répondre à la question générale "qu'est-ce qui ne va pas chez eux", vous ne devez absolument pas exécuter cette EA, c'est une technique, mais elle ne convient pas pour les tests.
Mais si c'est le cas, il n'y a rien à répondre.
3. Vous n'avez pas besoin d'exécuter le conseiller expert si vous voulez connaître le CCI, par exemple, la question, quoi d'autre est + au CCI, mais vous ne l'avez pas demandé))
3. le code affiché sur le bouton SRC est beaucoup plus facile à lire, économisez vos yeux et votre temps

 

Questions sur l'indicateur :

1. Mon commentaire au code est correct (rouge)

2. Où est-il écrit dans le code de changer la couleur de l'histogramme lorsque haOpen < haClose et lorsque haOpen > haClose ?

Si cela ne vous dérange pas, veuillez corriger les commentaires erronés sur ce code ! Je veux vraiment le comprendre) :

//+------------------------------------------------------------------+
//| Heiken Ashi.mq4 |
//| Copyright c 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
//| For Heiken Ashi we recommend next chart settings ( press F8 or |
//| select on menu 'Charts'->'Properties...'): |
//| - On 'Color' Tab select 'Black' for 'Line Graph' |
//| - On 'Common' Tab disable 'Chart on Foreground' checkbox and |
//| select 'Line Chart' radiobutton |
//+------------------------------------------------------------------+

// Все, что было написано выше - стандартная лабуда
// а все, что идет ниже под грифом #property - это объявление глобальных констант.

#property copyright "Copyright © 2004, MetaQuotes Software Corp." // это могли бы и не писать
#property link "http://www.metaquotes.net" // это тоже лабудаа

#property indicator_chart_window // отображать индикатор в основном окне
#property indicator_buffers 4 // будет 4 буфера
#property indicator_color1 Red // цвет для гистограммы
#property indicator_color2 White // цвет для гистограммы
#property indicator_color3 Red // цвет для гистограммы
#property indicator_color4 White // цвет для гистограммы
#property indicator_width1 1 // толщина для гистограмм
#property indicator_width2 1
#property indicator_width3 3
#property indicator_width4 3

//---- четыре строчки ниже - это внешние переменные цветов гистограмм
extern color color1 = Red;
extern color color2 = White;
extern color color3 = Red;
extern color color4 = White;
//---- buffers вводятся переменные, которые в дальнейшем будут связаны с буферами гистограмм индикатора
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
//----
int ExtCountedBars=0; // вводится переменная, которой присваивается 0 - хаха , я не знаю почему не 1((
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//|------------------------------------------------------------------|
int init() // а здесь запускается специальная функция init (здесь она запускается после присоединения индикатора к окну графика, после изменения настроек эксперта)
{
//---- indicators
SetIndexStyle(0,DRAW_HISTOGRAM, 0, 1, color1); // здесь устанавливается тип гистограмм с порядковыми номерами линий, типом, стилем, шириной, цветом
SetIndexBuffer(0, ExtMapBuffer1); // связывает переменную-массив, объявленную на глобальном уровне с предопределенным (по порядковому номеру линии = 0)
// буфером польз.-го индикатора
. Ниже по аналогии.
SetIndexStyle(1,DRAW_HISTOGRAM, 0, 1, color2);
SetIndexBuffer(1, ExtMapBuffer2);
SetIndexStyle(2,DRAW_HISTOGRAM, 0, 3, color3);
SetIndexBuffer(2, ExtMapBuffer3);
SetIndexStyle(3,DRAW_HISTOGRAM, 0, 3, color4);
SetIndexBuffer(3, ExtMapBuffer4);
//---- // установка порядкового номера бара от начала данных для отрисовки указанной линии
SetIndexDrawBegin(0,10); // порядковый номер линии = 0. хаха не понятно, эта линия будет рисоваться на основании 11 быров с учетом нулевого?(( индикатор отрисован
// по гораздо большему количеству баров((. ниже по аналогии
SetIndexDrawBegin(1,10);
SetIndexDrawBegin(2,10);
SetIndexDrawBegin(3,10);
//---- indicator buffers mapping
SetIndexBuffer(0,ExtMapBuffer1); // а зачем повторять ведь это же уже было написано выше, наверное автор этого индикатора захотел меня запутать!))
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexBuffer(3,ExtMapBuffer4);
//---- initialization done
return(0); // на этом специальная функция init завершается. Только почему в скобках у return ноль?? - непонятно((
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit() // а тут специальная функция deinit, которая не используется
{
//---- TODO: add your code here

//----
return(0); // гуд бай deinit
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() //это основная функция индикатора запускается на каждом новом тике
{
double haOpen, haHigh, haLow, haClose; //вводятся локальные дробные переменные
if(Bars<=10) return(0); //оператор if с условием если баров yна рафике меньше или равно10 - закрывать функцию start
ExtCountedBars=IndicatorCounted(); //переменной ExtCountedBars присваивается значение количества баров в окне терминала.
//а чем отличается
функция IndicatorCounted () от Bars?
//---- check for possible errors
if (ExtCountedBars<0) return(-1); //ну вот, еще один if - если переменная ExtCountedBars < нуля ?завершение функции start? почему return с (-1)? - Непонятно((
//---- last counted bar will be recounted
if (ExtCountedBars>0) ExtCountedBars--; // а если ExtCountedBars больше нуля, от этого количества баров отнимается единица.
//Осуществляется переход на один бар ближе к нулевому - если я правильно понимаю
int pos=Bars-ExtCountedBars-1; //Вводиться и рассчитывается переменная pos - указатель на бар, с которого будет вестись расчет
while(pos>=0) //Запуск цикла while с условием, что pos должна быть больше или равна нулю. Цикл будет повторяться при каждом новом тике
//(при соблюдении условия).
{
haOpen=(ExtMapBuffer3[pos+1]+ExtMapBuffer4[pos+1])/2; //вводится и рассчитывается переменная haOpen на основании(суммы 2-х буферов 3-го и 4-го со смещением на один
//бар вперед)потом это на 2 делится
//когда цикл while снова повториться к pos будет изменена, чтобы не считать уже вычесленное значение индикаторов?

haClose=(Open[pos]+High[pos]+Low[pos]+Close[pos])/4; //вводится и рассчитывается переменная haClose на основании суммы цен открытия, максимума, минимума и закрытия
//бара начала рассчета
haHigh=MathMax(High[pos], MathMax(haOpen, haClose)); //вводиться и рассчитывается переменная haHigh на основании функции возврата максимального из двух числовых
//максимума текущего бара pos и максимального из 2-х числовых значений (haOpen и haClose)
haLow=MathMin(Low[pos], MathMin(haOpen, haClose)); //значений, то же что и строкой выше - только рассчитывается минимальное значение
if (haOpen<haClose) //если haOpen меньше haClose
{
ExtMapBuffer1[pos]=haLow; //тогда значение Буфер 1 по pos равено haLow
ExtMapBuffer2[pos]=haHigh; //и значение буфера 2 по pos равно haHight
}
else //а если условие ложно и haOpen больше или равно haClose
{
ExtMapBuffer1[pos]=haHigh; //тогда наоборот значение Буфер 1 по pos равно haHigh t
ExtMapBuffer2[pos]=haLow; //а значение Буфера 2 по pos равно haLow
}
ExtMapBuffer3[pos]=haOpen; //в любом случае значение Буфера3 по pos равно haOpen
ExtMapBuffer4[pos]=haClose; //а значение буфера 4 по pos равно haClose
pos--; //уменьшаем pos на единицу (ближе к нулевому бару) и повторяем цикл while сначала при соблюдении его условия
}
//----
return(0); //а если условие не соблюлось, выход из цикла while и конец функции start
}
//+------------------------------------------------------------------+
similaire |
Dossiers :
 
Les exemples ci-dessus décrivent le code d'achat et de vente pour CCI, RSI et WPR. Pourquoi exactement ces indicateurs sont-ils utilisés ? À mon avis, ils sont les plus faciles à apprendre pour construire un conseiller expert. Le principe d'achat et de vente est le même pour eux. Moins de -100 (pour le CCI), -70 (pour le RSI) et 20 (pour le WPR), respectivement la vente sera : +100, -30 et 80. Il me semble (croisé plus d'une fois) que les erreurs se trouvent dans les conditions de négociation, mais où je ne comprends pas...... Il s'agit du principe d'ÉCRITURE correcte des conditions de trading (je le pense)............... C'est ce que je voulais vous demander. ........
Raison: