Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich danke Ihnen für die Informationen.
Was ich nicht verstehe, ist Folgendes. Wenn ich das mit MarketInfo() erhaltene Datum verwende,
Wie kann eine Bedingung festgelegt werden, die die Eröffnung von Positionen innerhalb von 3 Wochen verbietet? Und dementsprechend wäre es, wenn ich es richtig verstehe, sinnvoll, die bestehenden Positionen zu schließen. Je näher das Verfallsdatum rückt, desto größer ist das Risiko höherer Gewalt.
Hier ist ein Skript, das die Geld-Brief-Spanne verfolgt (speziell für Maklergeschäfte).
Irgendwo oben in der Mitte des Threads gibt es die gleiche Version, aber als Indikator.
Mein Skript verbraucht erhebliche CPU-Ressourcen (-schedule), daher ist es besser, es kurz vor dem Öffnen/Schließen einzufügen und dann sofort zu entfernen.
6NZ0, M1
Wie wäre es, wenn Sie das Beispiel von goldtrader mit dem Code aus Ihrem Skript verwenden?
//Задаем цены аск и бид тикера Ask_Tiker = MarketInfo(_tiker,MODE_ASK); Bid_Tiker = MarketInfo(_tiker,MODE_BID);
Wie ein Filter in einem EA. Und Sie brauchen kein Drehbuch.Ich danke Ihnen für die Informationen.
Was ich nicht verstehe, ist Folgendes. Wenn ich das mit MarketInfo() erhaltene Datum verwende,
Wie kann eine Bedingung festgelegt werden, die die Eröffnung von Positionen innerhalb von 3 Wochen verbietet? Und dementsprechend wäre es, wenn ich es richtig verstehe, sinnvoll, die bestehenden Positionen zu schließen. Je näher dieses Datum rückt, desto größer ist das Risiko der höheren Gewalt.
Und wenn Sie die von goldtrader vorgeschlagene Konstruktion mit dem Code aus Ihrem Skript verwenden
Dasselbe wie der Filter im Expert Advisor. Und das Skript ist nicht erforderlich.Nun, das ist offensichtlich! Das Skript wird nur für den manuellen Handel benötigt.
Sie können auch die Schluss-/Eröffnungsbedingungen nach Ticker in Ihren Expert Advisor einfügen. Aber es gibt eine Komplikation. Die Arbeit des EA muss in einer Schleife erfolgen (und das bedeutet, dass der Prozessor überlastet wird), sonst ist dieser Filter für Verträge mit geringer Liquidität absolut unbrauchbar.
Guten Tag, meine Frage trifft genau den Punkt.
Der Spread-Indikator ermöglicht in seinen EIGENSCHAFTEN die Festlegung der Namen der Instrumente.
extern string Symbol_1 = "GCG1";
extern string Symbol_2 = "SIF1";
Wie schreibe ich
string symbol, int timeframe,
- Welches Werkzeug soll ich wählen - das erste oder das zweite? Oder einer von ihnen?
es gibt keine Möglichkeit, sie hier anzuwenden
Sie müssen den Code in den Expert Advisor einbetten und die Bedingung dort angeben
//----
extern string Simbol1 = "ESZ0"; extern double k1 =1;
extern string Simbol2 = "NQZ0"; extern double k2 =1;
extern double lot =1;
//----
extern double maxSpred =30;
extern int MinTimeExp =1800000;
int exp1,exp2,v1,v2;
//+------------------------------------------------------------------+
double StoimPunkt(string B){return(MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT)));}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
double sred(int typ,string B)
{double j;RefreshRates();
if(typ==0)j=((MarketInfo(B+"#I",MODE_ASK)-MarketInfo(B,MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(typ==1)j=((MarketInfo(B,MODE_BID)-MarketInfo(B+"#I",MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(j<0)j=0;return(j);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
int start()
{
exp1 =MarketInfo(Simbol1,MODE_EXPIRATION);
exp2 =MarketInfo(Simbol2,MODE_EXPIRATION);
v1 =MarketInfo(Simbol1,MODE_TRADEALLOWED);
v2 =MarketInfo(Simbol2,MODE_TRADEALLOWED);
if((sred(0,Simbol1)*lot*k1+sred(1,Simbol1)*lot*k1<maxSpred)&&(sred(0,Simbol2)*lot*k2+sred(1,Simbol2)*lot*k2<maxSpred)&&
(TimeCurrent()+MinTimeExp<exp1)&&(TimeCurrent()+MinTimeExp<exp2)&&(v1 ==1)&&(v2 ==1))
{
код советника
}
}
//+------------------------------------------------------------------+
es gibt keine Möglichkeit, sie hier anzuwenden
Sie müssen den Code in den Expert Advisor einbetten und die Bedingung dort angeben
//----
extern string Simbol1 = "ESZ0"; extern double k1 =1;
extern string Simbol2 = "NQZ0"; extern double k2 =1;
extern double lot =1;
//----
extern double maxSpred =30;
extern int MinTimeExp =1800000;
int exp1,exp2,v1,v2;
//+------------------------------------------------------------------+
double StoimPunkt(string B){return(MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT)));}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
double sred(int typ,string B)
{double j;RefreshRates();
if(typ==0)j=((MarketInfo(B+"#I",MODE_ASK)-MarketInfo(B,MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(typ==1)j=((MarketInfo(B,MODE_BID)-MarketInfo(B+"#I",MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(j<0)j}0;return(j);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
int start()
{
exp1 =MarketInfo(Simbol1,MODE_EXPIRATION);
exp2 =MarketInfo(Simbol2,MODE_EXPIRATION);
v1 =MarketInfo(Simbol1,MODE_TRADEALLOWED);
v2 =MarketInfo(Simbol2,MODE_TRADEALLOWED);
if((sred(0,Simbol1)*lot*k1+sred(1,Simbol1)*lot*k1<maxSpred)&&(sred(0,Simbol2)*lot*k2+sred(1,Simbol2)*lot*k2<maxSpred)&&
(TimeCurrent()+MinTimeExp<exp1)&&(TimeCurrent()+MinTimeExp<exp2)&&(v1 ==1)&&(v2 ==1))
{
код советника
}
}
//+------------------------------------------------------------------+
Ich danke Ihnen nochmals. Sie beantwortet auch meine Fragen.
Informationen zum Nachdenken...
MC - YM (4 ^ 9)
Informationen zum Nachdenken...
MC - YM (4 ^ 9)
=================================