[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 8

 
Mm-hmm, danke,
 

Hallo.

Hier sind meine Arbeiten vom Wochenende. Ich lege es zur Verurteilung vor.

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("Kaufauftrag nicht geöffnet. Fehler #", GetLastError());
}

if(CCI[1] < 100)
if(CheckOrders(OP_BUY)
{
if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
Print("Verkaufsauftrag nicht geöffnet. Fehler #", GetLastError());
}

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

Dies ist ein Teil des Codes für die CCI. Die Essenz ist einfach, cci unten >-100 kaufen, cci oben < 100 verkaufen


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("Kaufauftrag nicht geöffnet. Fehler #", GetLastError());
}

if(RSI[1] < 30)
if(CheckOrders(OP_BUY)
{
if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
Print("Verkaufsauftrag nicht geöffnet. Fehler #", GetLastError());

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

der Teil des Codes für den RSI ist derselbe, kaufen bei 70 verkaufen bei 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("Kaufauftrag nicht geöffnet. Fehler #", GetLastError());
}

if(WPR[1] < -20)
if(CheckOrders(OP_BUY))
{
if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
Print("Verkaufsauftrag nicht geöffnet. Fehler #", GetLastError());
}

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

dieser Teil des Codes für WPR (Williams-Indikator) Kauf -80, Verkauf -20.

Ich habe eine Frage, wenn ich nicht mit den Handelsbedingungen in all diesen verwirrt............Danke sehr viel........

 

Hallo, geschätzte Fachleute und nicht nur.

Meiner Meinung nach ist Ihre Website am besten geeignet, um Neulingen beim Erlernen von MQL4 zu helfen.

Wenn ich Fragen stellte, erhielt ich umfassende Antworten von Experten. Das sind die Experten. Aber ein Anfänger ist ein Anfänger. Er wird die Frage immer wieder stellen, bis er das Wesentliche verstanden hat. So verhalten sich SchülerInnen, die den Wunsch haben, etwas zu lernen..... Vielleicht sind sie (SchülerInnen) nicht so schlau wie Geeks und nicht so schlau wie Nerds, aber wenn es einen Wunsch gibt, sollte er meiner Meinung nach begrüßt werden...... Ich möchte lernen.....

Mir haben die Antworten und Kommentare von korey, grani77, vinin, YuraZ, figarO und BARS sehr gut gefallen. Intelligent und intelligent. Wenn Sie es mir erlauben, kann die Mitteilung an die E-Mail-Adresse ........... weitergeleitet werden, wofür ich im Voraus dankbar bin.

 
igrok2008 писал(а) >> und nicht so schlau wie Nerds.

Oh, Mann. Ich dachte: "Egal, wie viel man einem Huhn beibringt, es wird nicht schlauer, es wird einfach schlauer."

 
Mathemat >> :

Oh, Mann. Ich dachte: "Egal, wie viel man einem Huhn beibringt, es wird nicht schlauer, es lernt nur mehr."

Warum ein Huhn unterrichten? Es ist nicht einmal ein Vogel (laut Sprichwort) ..... Aber der Mensch ist anders als ein Huhn, weil er denkt. Oder wir könnten sagen: "Man lebt lange und lernt lange".

Und doch wiederhole ich, oben ist meine Kreation vom Wochenende, bitte geben Sie Ihre Kommentare, was falsch ist ..........

 

an igrok2008

Ich würde sagen, dass der derzeitige Stand des automatisierten Handels wie die Schlacht der Ernte aussieht,
Wir kämpfen mit Mähdreschern, Zitaten, MQL, Testern, glitchy TS aus Büchern und selbstgemachten,
deshalb ist die Ausbildung einfach noch nicht abgeschlossen, sie existiert noch nicht, weil es noch viele ungelöste Probleme gibt
die von technisch bis gnostisch reichen.
- Es gibt die Kunst, MTS zu erstellen, aber der Rest des Metahandels ist ein Chaos
Es gibt also nur eine Möglichkeit, wie die Ausbildung funktionieren kann
=Man muss sich das richtige Problem aussuchen, daran arbeiten und daraus lernen.
...
P.S. Es ist eine Schande zu studieren, denn anstatt (mit Erfahrung und Fähigkeiten) Probleme in MT4 zu lösen, müssen Sie lernen und von diesen Problemen lernen.
IMHO = Gesicht auf dem Klavier
aber es gibt noch keine anderen Möglichkeiten des Autohandels und wird es auch in Zukunft nicht geben

 
Korey >> :

an igrok2008

Die derzeitige Situation des Automobilhandels gleicht einer Ernteschlacht,
wir kämpfen mit Mähdreschern, Zitaten, MQL, Testern, glitchy TS aus Büchern und selbstgemachten,
deshalb ist die Ausbildung einfach noch nicht abgeschlossen, sie existiert noch nicht, weil es noch viele ungelöste Probleme gibt
die von technisch bis gnostisch reichen.
- Es gibt die Kunst, MTS zu erstellen, aber der Rest des Metahandels ist ein Chaos
Es gibt also nur eine Möglichkeit, wie die Ausbildung funktionieren kann
=Man muss sich das richtige Problem aussuchen, daran arbeiten und daraus lernen.
...
P.S. Es ist eine Schande zu studieren, denn anstatt (mit Erfahrung und Fähigkeiten) Probleme in MT4 zu lösen, müssen Sie lernen und von diesen Problemen lernen.
IMHO = Gesicht auf dem Klavier
aber es gibt keine anderen Möglichkeiten im Autotrading und wird es auch nie geben.

Warum tut es weh, zu lernen? Ein Mensch lernt und entwickelt sich. Wenn er nicht lernt, ist es ein Prozess der Verwandlung in eine Amöbe, in einen einzelligen, amorphen Zustand. Es handelt sich also um philosophische Fragen. Sie sind kompliziert, nicht einfach, und es ist BESSER, sie bei einer Tasse Tee (40 Grad), mit Gebäck (einem guten Stück Fleisch) und auf einer Zaubercouch zu besprechen. ......-:)))))))

Ich wiederhole, ab 16.02 (oben) meine Kreationen. Was stimmt nicht mit ihnen.............

 

an igrok2008

1. keine Frage gestellt, d.h. wo ist die Frage gestellt?
2. um die allgemeine Frage zu beantworten "was ist falsch mit ihnen", müssen Sie diese EA überhaupt laufen, es ist eine Technik, aber es ist nicht geeignet für die Prüfung.
Aber wenn es so ist, gibt es nichts zu beantworten.
3. Sie müssen den Expert Advisor nicht ausführen, wenn Sie etwas über den CCI wissen wollen, z. B. die Frage, was sonst noch + zum CCI ist, aber Sie haben sie nicht gestellt))
(3) Der Code auf der SRC-Schaltfläche ist viel einfacher zu lesen, was Ihre Augen und Zeit schont.

 

Fragen zum Indikator:

1. Mein Kommentar zum Code ist korrekt (rot)

2. Wo im Code steht, dass sich die Farbe des Histogramms ändert, wenn haOpen < haClose und wenn haOpen > haClose

Wenn es Ihnen nichts ausmacht, korrigieren Sie bitte die falschen Kommentare zu diesem Code! Ich möchte es wirklich verstehen):

//+------------------------------------------------------------------+
//| 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
}
//+------------------------------------------------------------------+
ähnlich |
Dateien:
 
Die obigen Beispiele beschreiben den Kauf- und Verkaufscode für CCI, RSI und WPR. Warum genau werden diese Indikatoren verwendet? Meiner Meinung nach sind sie die einfachsten, um zu lernen, wie man einen Expert Advisor erstellt. Das Kauf- und Verkaufsprinzip ist das gleiche für sie. weniger als -100 (für CCI), -70 (für RSI) und 20 (für WPR), bzw. Verkauf wird sein: +100, -30 und 80. Es scheint mir (mehr als einmal gekreuzt), dass die Fehler in den Handelsbedingungen sind, aber wo ich nicht verstehen..... Es geht um das Prinzip, die Handelsbedingungen richtig zu SCHREIBEN (so denke ich) .............. Das wollte ich Sie fragen........