Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 63

 
FAQ:


Verstehe, noch mehr Fragen also:

Sie müssen die Öffnungszeit der Kerze mit der Funktion : iTime

Ich habe versucht, die Eröffnungszeit eines Candlesticks mit dieser Funktion zu kontrollieren: iTime

Der Auftrag wird bei der 15-Uhr-Kerze eröffnet......, aber die 15-Uhr-Kerze ist oft nicht die erste.

Zuvor waren die früheren Kerzen bereits mit 1,3000 in Kontakt gewesen.

Und zwar vor der 15-Uhr-Kerze, die 1,3000 überschritten hat.

Ich danke Ihnen.

 
manchmal sind die Neulinge ratlos... genau logik, einfache menschliche logik. und programmieren ist ziemlich linear. versuchen sie, sich ihre bedingungen in einer einzigen Zeile vorzustellen.
 
FAQ:
manchmal sind Neulinge ratlos... genau logik, einfache menschliche logik. und programmieren ist ziemlich linear. versuchen sie, ihre bedingungen in einer Zeile zu denken.

Lassen Sie mich Ihnen meine Vorstellung grafisch darstellen.

http://clip2net.com/s/5vbxUK

Und wie würden Sie diese Idee in einer Zeile zusammenfassen?

Ich danke Ihnen.
 
So wird das Programm sie analysieren. Stellen Sie sich vor, Sie befinden sich an einem Entscheidungspunkt.
 
FAQ:
in umgekehrter Reihenfolge, so dass das Programm sie analysieren kann.

Entschuldigung - ich verstehe nicht ganz, was Sie damit sagen wollen.

Ich wäre dankbar, wenn Sie schreiben könnten, wie das in Codeform aussehen könnte...

Ich danke Ihnen.

 
solnce600:

Guten Tag zusammen!

Ich wäre jedem sehr dankbar, der mir sagen kann, wie man eine solche Idee kodieren kann.


Das Diagramm TF 5

Momentan liegt das Gebot bei 1,3150

Es gibt ein Preisniveau - 1,3000.

Der Preis sinkt.

====================================

// Wenn der Kurs 1 ,3000 überschreitet .

// Wenn der Kurs zuerst 1,3000 überschreitet.

// Wenn der Kurs zuerst 1.3000 überschreitet und die Überschreitung innerhalb der 15-Stunden-Kerze liegt (d.h. 15:00,15:05.....15:55)


// Eröffnen Sie einen Handel.

===================================

Ich danke Ihnen.



dies ist nur eine Idee ohne vollständige Umsetzung

extern double crossLevel = 1.                       3;extern int hour = 15;int start(){    static int cross = 0;    if (TimeHour(TimeCurrent()) == hour) {/// Kerze entspricht der Stunde        if (isCrossPrice(crossLevel, Bid)) {/// level crossing let Bid            cross++;            if (cross == 1) {/// first cross level                ifxml-ph// Eröffnen Sie eine Order - implementieren Sie selbst                    cross = 0;                }            }        }    }bool isCrossPrice(double level, double price){    bool res = false;    static double prev = 0;    if (prev > 0) {        if ((prev <= level && price > level) || // cross level up            (prev >= level && price < level)) { // cross level down            res = true;        }    }    prev = price;    return(res);}
 
keekkenen:

es ist nur eine Idee ohne vollständige Umsetzung


Ich danke Ihnen vielmals.
 
solnce600:


Entschuldigung - ich verstehe nicht ganz, was Sie damit sagen wollen.

Ich wäre Ihnen dankbar, wenn Sie mir schreiben könnten, wie das in Codeform aussehen könnte...

Ich danke Ihnen.


Bis zum Code ist es noch ein weiter Weg, man muss das Prinzip, den Algorithmus verstehen.
 

Ich kämpfe nun schon seit zwei Tagen und kann es nicht herausfinden. Ich muss den niedrigsten Preis für die letzten n Balken finden, aber nicht vom aktuellen Balken, sondern vom Balken, der durch die Funktion erhalten wurde. Die Funktion gibt den Index des Taktes zurück, bei dem der Auftrag eröffnet wurde. Dies ist der Balken, von dem aus wir in der Historie der n Balken zurückblicken müssen, um den niedrigsten Preis zu finden. Unten ist mein Code, was ist daran falsch?

 double low_price_n_bar()
 {
   
   double low_bar=100000, index_bar;
   
   for (int i=time_orders; i<=count_bar; i++) //time_orders индекс бара получаемого из функции, count_bars внешняя переменная количество баров для сдвига назад по истории
   {
    index_bar= ND(iLow(Symbol(),0,i));
    if (index_bar<low_bar)
    {
      low_bar=index_bar;     
    }
   
   }
   return(low_bar);
 }
 

Liebe Forumsnutzer, bitte helfen Sie mir sehr.


if (TimeBar==Time[0]) return(0);


double MA1 = NormalizeDouble(iMA(NULL,TimeFrame_2,MA_Period_2,MA_Shift_2,MA_Method_2,Applied_Price_2,0),Digits); // wobei 0 die Verschiebung vom aktuellen Balken um den angegebenen Anzahl der Perioden zurück
//double MA21 = NormalizeDouble(iMA(NULL,timeframe_2,period_2,ma_shift_2,ma_method_2,applied_price_2,2),Digits);
double MA2 = NormalizeDouble(iMA(NULL,timeFrame_3,MA_Period_3,MA_Shift_3,MA_Method_3,Applied_Price_3,0),Digits);
//double MA31 = NormalizeDouble(iMA(NULL,timeframe_3,period_3,ma_shift_3,ma_method_3,applied_price_3,2),Digits)
double MA3 = NormalizeDouble(iMA(NULL,TimeFrame_4,MA_Period_4,MA_Shift_4,MA_Method_4,Applied_Price_4,0),Digits);

double OsMA = NormalizeDouble(iOsMA(NULL,TimeFrame_5,FastEMA_5,SlowEMA_5,SignalSMA_5,Applied_Price_5,0),Digits)

if (MaxOrders>b && Tief[0]>=MathMax(MA1,MA2)&& Tief[0]>MA3 && Ask>MathMax(MA1,MA2)+DeltaOpen*Point && Ask>MA3 && MA2<MA3 && MA1<MA3 && OsMA>0 && Trade)
{
if (OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slippage,SL,TP, "Puria_1",Magic,0,Blue) ==-1) TimeBar=0;
else TimeBar=Time[0];

}
if (MaxOrders>s && High[0]<=MathMin(MA1,MA2) && High[0]<MA3 && Bid<MathMin(MA1,MA2)-DeltaOpen*Point && Bid<MA3 && MA1>MA3 && MA2>MA3 && OsMA<0 && Trade)
{
if (OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slippage,SL,TP, "Puria_1",Magic,0,Red) ==-1) TimeBar=0;
else TimeBar=Time[0];
}

zurück(0);


Unter diesen Bedingungen eröffnet der Expert Advisor einen Trade, z.B. auf SELL, schließt ihn mit Gewinn und eröffnet sofort einen weiteren Trade auf SELL. Wie kann man in einem EA vorschreiben, dass bei Erhalt des Signals nur ein Geschäft eröffnet werden soll, d.h. ein Signal - ein Geschäft.
Ich danke Ihnen im Voraus.

Grund der Beschwerde: