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

 

Zum Beispiel so:

//+------------------------------------------------------------------+
extern string   _____= "Параметры Длинных позиций"; 
extern int     RSI_period  =20;
extern int     MA_period          =21;
extern int     TP=200;
extern int     SL=61;

extern string   ____= "Параметры Коротких позиций";
extern int     RSI_period_SELL  =20;          
extern int     MA_period_SELL          =21;
extern int     TP_=200;
extern int     SL_=61;

//------------------------------
extern string     ______= "Общие Параметры ";
extern double  Lot=0.1;
extern int     Slippage=3;
extern int    Low_lim=8;
extern int   Up_lim=8;

int ExpertBars;
int ticket;

//*********************************************************************
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
ExpertBars = Bars;
//----
   return(0);
  }

Nächste:





int start()
  {
bool isNewBar=false;
if ( ExpertBars !=Bars) { ExpertBars=Bars; isNewBar=true; }
if ( isNewBar) { //если есть новый бар
 
//===== Ищем возможность войти в рынок =========================================
if ( Long)                   {     //если "выключатель" включен
if (! ExpertOrder( MagicLong ))//если  нет открытых длинных позиций 
  {
 //------заполняем массив значениями RSI для длинных позиций --------
double RSI_array_buy[50];
int    j=0;
while ( j<50)
 {
RSI_array_buy[ j]= iRSI(NULL, 0, RSI_period, MODE_SMA, j);
j++;
 }
ArraySetAsSeries( RSI_array_buy,true);
double MA_low =iMAOnArray( RSI_array_buy,0, MA_period,1,MODE_SMA,0);
double RSI_0=iRSI(NULL, 0, RSI_period,MODE_SMA, 1);
double RSI_1=iRSI(NULL, 0, RSI_period,MODE_SMA, 2);   
//---------проверяем условие на покупку----------------------------
  if   (           ( RSI_1< MA_low)  &&
          ( RSI_0> MA_low)  )
   {
  ticket=OrderSend(Symbol(),0, Lot,Ask, Slippage,Bid- SL*Point,Ask+ TP*Point,NULL, MagicLong,0,CLR_NONE);
  if ( ticket<0) { Print("Ошибка открытия ордера BUY #", GetLastError()); return (0);   }          
   }
   }}
   //--------------------------------------------------------------
if ( Short)                   {     //если "выключатель" включен 
if (! ExpertOrder( MagicShort ))//если  нет открытых длинных позиций 
  {  
 // ---заполняем массив значениями рси  для коротких  позиций
double RSI_array_sell[50];
int    k=0;
while ( k<50)
 {
RSI_array_sell[ k]= iRSI(NULL, 0, RSI_period_SELL, MODE_SMA, k);
k++;
 }
ArraySetAsSeries( RSI_array_sell,true);
double MA_up =iMAOnArray( RSI_array_sell,0, MA_period_SELL ,1,MODE_SMA,0);
double RSI_0s=iRSI(NULL, 0, RSI_period_SELL,MODE_SMA, 1);
double RSI_1s=iRSI(NULL, 0, RSI_period_SELL,MODE_SMA,2);
    
//--------проверяем условие на продажу------------------------------
  if  (           ( RSI_1s > MA_up )  &&
          ( RSI_0s < MA_up )) 
   {       
  ticket=OrderSend(Symbol(),1, Lot,Bid, Slippage,Bid+ SL_*Point,Bid- TP_*Point,NULL, MagicShort,0,CLR_NONE);
  if ( ticket<0) { Print("Ошибка открытия ордера SELL #", GetLastError()); return (0);  }     
   } 
   }} 
 

Ich danke Ihnen!

 
Hallo! Versuchen, ZZ in Form eines Histogramms mit der Anzeige auf der TF des Signals aus dem niedrigen und hohen TF, aber gab 5 Fehler" ExtMapBuffer2 "- Variable nicht definiert ", was ist los? .....Help, wenn Sie nicht können!!! Danke
Dateien:
dinap_zzg.mq4  4 kb
 

Meine Herren (Kameraden :)))

Ich versuche, einen MAMy-Indikator (er ist in kodobase) in Pfeilform zu implementieren.

Ich versuche, den MAMy-Indikator (er ist in kodobase) in einer Pfeilform zu implementieren.

Die Pfeile werden auf einem nicht gebildeten Balken gezeichnet, und wenn sich zum Zeitpunkt seiner Bildung die Bedingungen geändert haben, wird der Pfeil nicht entfernt, sondern kann nur durch einen Neustart des Indikators entfernt werden.

Ich möchte, dass die Pfeile nur auf den geformten Balken gezeichnet werden. Wenn Sie Zeit haben - geben Sie mir eine praktische Lektion - korrigieren Sie diesen unordentlichen Code ...

(Es ist gut möglich, dass Sie etwas Überflüssiges finden - tut mir leid (einen Indikator von Grund auf zu schreiben - meine Hände wachsen nicht von alleine - obwohl sie golden sind), ich verwende vorerst die Werkstücke anderer Leute).

Vielen Dank im Voraus.

Dateien:
 

Herzlichen Dank !

Das ist genau das, was der Arzt verordnet hat!

Denn in der Kontohistorie, im Diagramm.

Es sieht nicht sehr gut aus.



 

Könnten Sie mir bitte sagen, wie mql einen Debugger simulieren kann (um den Algorithmus Schritt für Schritt mit den aktuellen Werten der Variablen zu beobachten), wenn es keinen Debugger gibt, vielleicht gibt es einen Tastendruck warten und eine Dialog-Ausgabe-Funktion oder so etwas wie das?

 

Ich habe die Druckfunktion gefunden, aber jetzt habe ich eine andere Frage: Wie funktioniert die Ausgabe des Indikators?

Das Diagramm besteht aus 512 Balken. Theoretisch sollte der Code Start und Bar-Nummer auf 1-14 Bars, dann Haupt-und Bar-Nummer auf anderen Bars, aber aus irgendeinem Grund druckt es nur Start den ganzen Weg nach unten und von 295 Bars. Können Sie mir sagen, was los ist?

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Yellow

extern int Param=14;
extern double Razmah=0.9;

double VH[], VL[], Rang=0, z=0, z1=0, num=0, num1=0;
int init()
  {
   SetIndexBuffer(0, VH);
   SetIndexBuffer(1, VL);
   return(0);
  }
int start()
  {
   int i, counted_bars=IndicatorCounted();
   if ( counted_bars<= Param+1) 
   { 
      for( i=0; i<=Bars- counted_bars-1; i++)
      {
         VH[ i]=High[ i];
         VL[ i]=Low[ i];
         num++;
         Print("Start     ", num);
      }
      return(0);
   }
   
   i=-5;
   if( counted_bars> Param+1) i=Bars- counted_bars-1;
   while( i>=0)
     {
      num1++;
      Print("Main     ", num1 );
      VH[ i]=High[ i]*1.01;
      VL[ i]=Low[ i]*0.99;
      i--;
     }
   return(0);
  }
 
Andrej78 писал(а) >>

Ich habe die Druckfunktion gefunden, aber jetzt habe ich eine andere Frage: Wie funktioniert die Ausgabe des Indikators?

Das Diagramm besteht aus 512 Balken. Theoretisch sollte der Code Start und Bar-Nummer auf 1-14 Bars, dann Haupt-und Bar-Nummer auf anderen Bars, aber aus irgendeinem Grund druckt es nur Start den ganzen Weg nach unten und von 295 Bars. Bitte teilen Sie mir mit, wo das Problem liegt.

Prüfen Sie Ihre Protokolle.

 
Vinin писал(а) >>

Sie müssen in den Protokollen nachsehen

>> Wie sehen Sie sich die Protokolle an?

 
Können Sie mir bitte helfen, die Schleife einzuschleifen, es funktioniert nicht. Würde ein neuer Look ausreichen? Ich danke Ihnen im Voraus für Ihre Hilfe. Beschreibung im Code.
Dateien:
proba9.mq4  3 kb
Grund der Beschwerde: