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

 
dzhini:

Irgendetwas scheint einfach nicht zu funktionieren. BITTE HELFEN!

Die Idee des Tests ist folgende: Wenn die Kerze größer als ein bestimmter Wert ist, wird der weitere Handel verboten.


Ich kann nicht verstehen, was Sie damit bezwecken wollen. Für Ihren letzten Beitrag, den Sie gelöscht haben, habe ich ein Skript erstellt, das alle Daten über die Größe des Candlesticks und die zu prüfenden Parameter anzeigt. Alles funktioniert.

Nur schien mir die Logik seltsam - wenn die Kerze bullisch ist, verbietet man den Kauf, und wenn sie bärisch ist, verbietet man den Verkauf... Aber das hängt von Ihrer eigenen Logik ab...

//+------------------------------------------------------------------+
//|                                        Проверка высоты свечи.mq4 |
//|                             Copyright © 2010, Trishkin Artyom A. |
//|                                           support@goldsuccess.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Trishkin Artyom A."
#property link      "support@goldsuccess.ru"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
bool BuyOne =false;
bool SellOne=false;
int  CandleVolume=10;

int start()
  {
//----
   Alert ("Проверка дала результат = ",CheckVolume());
//----
   return(0);
  }
//+------------------------------------------------------------------+
int CheckVolume()                               // функция проверки высоты свечи
{
   double volume=High[1]-Low[1];                // проверка высоты свечи
   double signCandle=Open[1]-Close[1];          // проверка направления (положительное или отрицательное значение)
   double CVol=CandleVolume*Point;
   int    Res=0;

   BuyOne =true;
   SellOne=true;
   if (NormalizeDouble(CVol-volume,Digits)>=0) Res=1; // если свеча меньше, то всё ОК
   else {                                       // если свеча больше, то прверяем её направление
      if (signCandle<0) BuyOne =false;          // если значение меньше ноля (т.е. закрытие больше открытия), то блокируем покупки
      if (signCandle>0) SellOne=false;          // в противном случае блокируем продажи
      Res=-1;                                   // возвращаем отказ по сделке
      }
   Comment ("\n",
            "High[1] = ",High[1],"\n",
            "Low[1] = ",Low[1],"\n",
            "Высота свечи (High[1]-Low[1]) = ",volume,"\n",
            "Проверяемый размер свечи = ",CVol,"\n",
            "Open[1] = ",Open[1],"\n",
            "Close[1] = ",Close[1],"\n",
            "Open[1]-Close[1] = ",Open[1]-Close[1],"\n",
            "Направление свечи = ",signCandle,"\n",
            "BuyOne = ",BuyOne,"\n",
            "SellOne = ",SellOne,"\n"
            
            );
   return(Res);
}
 

Wie implementiert man ein solches Stück Code?

Wir prüfen den Null-Balken (der noch nicht vollständig ausgebildet ist), bis er der erste ist (bereits vollständig ausgebildet). Wenn der Null-Balken nun der erste ist (statt 0 steht dort eine 1) - dann geht es weiter...

Pro, hilf mir, dies in den Code einzubauen!!!

 
Hilfe bei der Suche nach einem Berater, der Informationen aus der Geschichte aufnimmt ....
 
kolyango:

Wie implementiert man ein solches Stück Code?

Wir prüfen den Null-Balken (der noch nicht vollständig ausgebildet ist), bis er der erste ist (bereits vollständig ausgebildet). Wenn der Null-Balken nun der erste ist (statt 0 steht dort eine 1) - dann geht es weiter...

Pro, hilf mir, dies in den Code einzubauen!!!

Überprüfen Sie den ersten sofort. Warum die Null ankreuzen, während man darauf wartet, dass es die erste ist?
 
itum:
Hilfe bei der Suche nach einem Berater, der Informationen aus der Geschichte aufnimmt ....
Welche Art von Informationen? Über den Standort der Sterne?
 
artmedia70:
Welche Art von Informationen? Über den Standort der Sterne?
Es wurde in diesem Forum mehr als einmal über einen Berater diskutiert, der in die Historie einsteigt und Informationen (Zitate, etc.) aufnimmt.
 
itum:
Es wurde in diesem Forum mehr als einmal über einen Expert Advisor diskutiert, der in die Historie geht und Informationen (Kurse, etc.) aufnimmt.
Vielleicht ist es besser, sich zu überlegen, welche Informationen man aus dem Verlauf erhalten möchte, und dann den Code zu schreiben?
 
artmedia70:
Wäre es nicht besser, sich zu überlegen, welche Informationen man aus der Geschichte haben möchte, und dann den Code zu schreiben?
Warum einen Code schreiben, wenn man schon etwas Ähnliches hat? Grob gesagt, ich brauche einen EA, der sehr gute Ergebnisse nur auf dem Tester ..... zeigen würde. !!
 
artmedia70:
Prüfen Sie den ersten sofort. Warum bei Null anfangen und warten, bis es das erste ist?

Dadurch wird sichergestellt, dass nicht bei jedem Tick der gesamte Code weiter ausgeführt wird, sondern nur dann, wenn der Null-Balken zuerst kommt...
 
kolyango:

Dadurch wird sichergestellt, dass nicht bei jedem Tick der gesamte Code weiter ausgeführt wird, sondern nur dann, wenn der Null-Balken zuerst kommt...
bool Fun_New_Bar()                              // Ф-ия обнаружения ..
  {                                             // .. нового бара
   static datetime New_Time=0;                  // Время текущего бара
   bool New_Bar=false;                               // Нового бара нет
   if(New_Time!=Time[0])                        // Сравниваем время
     {
      New_Time=Time[0];                         // Теперь время такое
      New_Bar=true;                             // Поймался новый бар
     }
  }