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

 
Vinin >> :

Es ist besser, zuerst die stochastischen Werte und die Signallinien zu berechnen. Und dann vergleichen Sie sie. Ich mag diesen Stil einfach nicht. Dies führt zu einer Art von Blindheit. Und es ist leichter, einen Fehler zu machen.

If() in der Metaquotes-Variante führt eine vollständige Berechnung des logischen Ausdrucks durch. Es wäre wünschenswert, sie so einfach wie möglich zu gestalten. Es ist nur so, dass if() eine der langsamsten Operationen ist.

Es gibt auch den Begriff des "Ratterns" auf der Nullleiste. Es kann vorkommen, dass das Signal auf einem Takt mehr als einmal wiederholt wird. Es kann sogar sein, dass es sich nicht verriegelt. Es war ein falsches Signal. Deshalb versuchen wir, die Werte aus den gebildeten Balken zu übernehmen. Aber in diesem Fall sollten wir die Eröffnungspreise verwenden. Allerdings kann es auch andere Varianten geben.

Das "Rattern" des Nullbalkens ist klar, aber es ist ein anderes Thema.

Vielen Dank für die "Langsamkeit" der if-Operation - sie war aufschlussreich.

Es ist also besser, zum Beispiel Variablen zu erstellen

x=iStochastic(Symbol(),0,KPeriodeF,DPeriodeF,VerlangsamungF,PreisFeldF,0,VerschiebungF);

y=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF);

und dann if(x>y) usw. richtig?

"Ich mag diesen Stil einfach nicht. Es ist irgendwie blind. Und es ist auch einfacher, einen Fehler zu machen.

Wie würden Sie ihn schreiben? Unterrichte mich.

 
Hallo zusammen. Es gibt eine Anfrage. Irgendwo im Netz habe ich etwas Ähnliches gesehen, aber ich habe es nicht wiedergefunden. Ich benötige ein Skript, das Trades mit einer Losgröße eröffnet, die sich nach dem Wert des Stoploss richtet. D.h. ich verwende externe Variablen, um den Prozentsatz der Einlage oder den Betrag, den ich bereit bin zu riskieren, und den Stop-Loss-Wert in Pips festzulegen. Abhängig vom Wert von Point und Stop Loss berechnet das Skript das Lot und platziert eine Order. Wenn Sie ein solches Skript haben, zögern Sie bitte nicht, es zu veröffentlichen. Ich möchte Ihnen einen Hinweis geben, wo Sie es herunterladen können. Vielen Dank im Voraus.
 
mukata писал(а) >>

Das "Geschnatter" bei Takt Null ist verständlich, aber das ist ein anderes Thema...

Danke für den Hinweis auf die "Langsamkeit" der if-Operation - das ist sehr aufschlussreich.

Mit anderen Worten, es ist besser, zum Beispiel Variablen zu erstellen

x=iStochastic(Symbol(),0,KPeriodeF,DPeriodeF,VerlangsamungF,PreisFeldF,0,VerschiebungF);

y=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF);

und dann if(x>y) usw. richtig?

"Ich mag diesen Stil einfach nicht. Es ist irgendwie blind. Und es ist leichter, einen Fehler zu machen."

Wie würden Sie ihn schreiben? Unterrichte mich.

So mache ich normalerweise die Kreuzungskontrolle. Es gibt eine Kreuzung, weitere Bearbeitung.

string _Symbol=Symbol(); // чтобы лишний раз не вызывать функцию

double Stoch0  = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 0,     0);
double Stoch1  = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 0, shiftF);
double Signal0 = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 1,     0);
double Signal1 = iStochastic(_Symbol, 0, KperiodF, D periodF, SlowlingF, methodF, PriceFieldF, 1, shiftF);


//пересекла ли главная линия стохастика сигнальную линию 
if (( Stoch0  - Signal0 )*( Stoch1  - Signal1) <0) {
   // Есть пересечение, дальше проверяем положение (как пересекла мы не знаем пока еще)

}
 
Vinin >> :

Normalerweise mache ich die Kreuzungskontrolle so. Es gibt eine Kreuzung, weitere Bearbeitung.

  // Есть пересечение, дальше проверяем положение (как пересекла мы не знаем пока еще)
Mmh, wie effizient!!!
Besonders in meinem Testgerät...:-)
Die meisten Ticks sind ohne Überkreuzung, aber es stellt sich heraus, dass ich jeden Tick gezählt habe: Wenn ein solcher Tick kleiner ist als ein anderer, oder ein anderer kleiner ist als ein solcher.....................
Vielen Dank, ich mache mich an die Arbeit.
 
mukata писал(а) >>

Mein Entwurf hat nur einen Nachteil. Wenn die Werte auf einem der berechneten Balken übereinstimmen, liegt möglicherweise ein Signalausfall vor. Das ist zwar unwahrscheinlich, kann aber passieren.

 
StatBars >> :

Dankeschön

 
rsi >> :

Das sagen Sie: Schicken Sie tagsüber einen Auftrag mit den Bedingungen 1 und 2 und nachts mit den Bedingungen 1, 2 und 3. Sie haben also die vierte Tag-Nacht-Bedingung, aber Sie haben sie mit der dritten vermischt. Das können Sie zum Beispiel.

Dankeschön

 

Ich möchte einige sachkundige Personen fragen, wie hoch die maximale Anzahl an laufenden (und anhängigen) Aufträgen sein kann.

Oder gibt es keine solche Grenze?

 
xrym писал(а) >>

Ich möchte einige sachkundige Personen fragen, wie hoch die maximale Anzahl an laufenden (und anhängigen) Aufträgen sein kann.

Oder es gibt keine solche Einschränkung.

Dies sollte bei Ihrem Maklerunternehmen überprüft werden. Sie können versuchen, einen endlosen Zyklus zu setzen, um das Maximum zu sehen:

for(int k=1; k>2; k--)
{
   OrderSend(Symbol(),OP_BUY,0.1,Ask,1,0,0,"testing order");
   Alert("Текущее количество ордеров: ",OrdersTotal());
}
Die letzte Meldung ist die maximale Anzahl von Aufträgen in Ihrem DC.
 

Übrigens, OrdersTotal() gibt eine Zahl vom Typ int zurück. Und int kann Werte annehmen:

Внутреннее представление - длинное целое число размером 4 байта. Целые константы могут принимать значения от -2147483648 до 2147483647. Если константа превышает указанный диапазон, то результат не определен.

D.h. theoretisch maximale Anzahl von Ors: 2147483647