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

 
aero >>:

1. почему нe знаю, но можно попробовать перед импортом удалить все содержимое папки history

Ja, ich habe die ganze Geschichte gelöscht.

 

Helfen Sie mir, den Indikator zu reparieren. Sie müssen in der Lage sein, die Eigenschaften der Pfeile und des Kreuzes im Bearbeitungsfeld des Indikatorobjekts zu ändern.


Dateien:
 

Guten Tag, Freunde.


Können Sie mir bitte sagen, wie ich die iCustom-Funktion richtig verwende?


Sie haben zum Beispiel einen Indikator

"Williams' Akkumulation/Distribution, W A/D - Larry Williams' Akkumulation/Distribution"(https://www.mql5.com/ru/code/7064)


und ich möchte von einem anderen Indikator aus mit der Funktion iCustom auf diesen Indikator zugreifen:

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red

extern string Symbol1="USDJPY";
extern int SignalMA_Period=5;
extern int SignalMA_Method=0;

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
string short_name="ind";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
SetIndexLabel(1,"Signal");
SetIndexDrawBegin(1,SignalMA_Period);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
double ad1, ad2;
//----
if(counted_bars<0) return(-1);
//----
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
//----
for(int i=0; i<limit; i++)
{

ad1=iCustom(Symbol1,0,"WAD",1,i);

ExtMapBuffer1[i]=ad1;
}
//----
for(i=0; i<limit; i++)
ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1,Bars,SignalMA_Period,0,SignalMA_Method,i);
//----
return(0);
}
//+------------------------------------------------------------------+


Der Williams-Indikator in meinem System heißt WAD.

Aber leider wird ein leeres Fenster mit dem Indikator angezeigt (d.h. es gibt keinen Indikator im Fenster... er wird nicht erstellt)


Wie kann man das Problem beheben, bitte beraten Sie mich, wenn möglich.

Vielen Dank im Voraus.

 
Morzh09 писал(а) >>

Guten Tag, Freunde.

Könnten Sie mir bitte sagen, wie ich die iCustom-Funktion richtig verwenden kann?

Zum Beispiel gibt es einen Indikator

"Williams' Akkumulation/Distribution, W A/D - Larry Williams' Akkumulation/Distribution"(https://www.mql5.com/ru/code/7064)


Ich möchte diesen Indikator aus einem anderen Indikator mit der Funktion iCustom anwenden:


ad1=iCustom(Symbol1,0,"WAD",1,i);


Der Williams-Indikator in meinem System heißt WAD.

Aber leider wird ein leeres Fenster mit dem Indikator angezeigt (d.h. es gibt keinen Indikator im Fenster... er wird nicht erstellt)

Wie kann man das Problem beheben, bitte beraten Sie mich, wenn möglich.

Vielen Dank im Voraus.

Offenbar wenden Sie sich an den falschen Puffer. Sie benötigen möglicherweise 0. Ich habe eine gute Idee, was ich mit dem Indikator machen kann.

 

Ja. Man muss es anders behandeln

ad1=iCustom(Symbol1,0,"WAD",0,i); 
 

Ich bin auf diese Funktion gestoßen:

öffnen wir den Meta-Editor,

Werte von externen Variablen in der Quelle ändern,

kompilieren,

wir öffnen das Terminal - der gleiche Expert Advisor ist bereits auf dem Chart, aber er wird mit alten Werten der externen Variablen ausgeführt!

Wenn Sie kompilieren, während der EA läuft, werden die Werte aktualisiert.

Das Problem kann durch #define und Neuzuweisung in der Initialisierung gelöst werden, aber das ist ein bisschen unübersichtlich...

Das Terminal speichert alte Werte der externen Variablen von EA, aber ich habe sie nicht gefunden.

Was bedeutet das und wie kann ich damit umgehen?

 
beruk >>:

сталкнулся с такой особенностью:

открываем метаэдитор,

меняем в исходнике значения внешних переменных,

компилируем,

открываем терминал - на графике уже висит этот-же советник, но запускается он со старыми значениями внешних переменных!

если откомпилировать при запущенном советнике - значения обновятся.

проблему можно решить через #define и переназначение в инициализации, но это как-то коряво...

видимо терминал хранит где-то старые значения внешних переменных советника, но я не нашол.

шо сие означает и как с этим бороться?


die Werte werden in einer Diagrammdatei mit chr im Ordner profiles/(ausgewähltes Profil) gespeichert
 
xeon писал(а) >>

die Werte werden in einer Diagrammdatei mit chr im Ordner profiles/(ausgewähltes Profil) gespeichert

richtig!

aber ich schätze, man kann nichts dagegen tun, und eine Neuzuweisung über #define ist das Beste, was man tun kann, wenn nötig?

 

Liebe Freunde, könntet ihr mich bitte zu dieser Frage beraten?


Ich möchte amerikanische und europäische Anleihekurse für Handelsanalysen verwenden, aber mein Broker stellt sie nicht zur Verfügung...


In einer solchen Situation gibt es, soweit ich weiß, zwei mögliche Wege:


1. Makler wechseln

2. Importieren von Kursen aus einer externen Quelle in die Metatrader-Plattform.


In diesem Zusammenhang gibt es 2 Fragen:


I. Woher kann ich Zitate herunterladen?


1) US 10 Yr T-Note

2) Euro-Bund


Und wie importiert man sie in die Metatrader-Plattform?


II. Welcher Makler wird diese Instrumente handeln?

(Die zweite Frage senden Sie bitte an meine persönliche Nachricht, die nicht als Werbung angesehen werden kann)


Vielen Dank im Voraus.
 

Was ist hier falsch?

Ich hänge diesen EA an das Stundenchart an, und wenn der Preis zu Beginn der Stunde höher als cn1 ist und der aktuelle Preis 8 Punkte darüber liegt, sollte die Order geöffnet werden (auch wenn der Preis unter dem aktuellen Niveau liegt), aber mein EA öffnet die Position sofort aus irgendeinem Grund. Und warum?

  int i=0;
   double a,b;
   while (i==0)
   {
     a=MarketInfo("USDCAD", MODE_ASK);
     b=MarketInfo("USDCAD", MODE_BID); 
     if((Open[0]<cn1)&&((a-cn1)<0.0008))
      {
       OrderSend("USDCAD",OP_BUY,1,a,1,SL,cn2);
       i=1;
       }
     if((Open[0]>cn11)&&((cn11-b)<0.0008))
      {
       OrderSend("USDCAD",OP_SELL,1,b,1,SL1,cn21);
       i=1;
      }  
   }
Grund der Beschwerde: