Bitte geben Sie mir einen Tipp, denn ich habe noch nie einen Programmierer um Hilfe gebeten - Seite 6

 
Serqey Nikitin:

Du verstehst es nicht... Niemand wird die Zitate FIXieren...

Es gibt kein Verbot in den Regeln gegen "Verzögerungen" bei der Auftragsausführung... und die Ausbreitung wird größer...

Ich verstehe, was Sie meinen. Sie haben mich wahrscheinlich missverstanden. Ich wollte damit sagen, dass es für alles Grenzen gibt. Der Spread wird sich nicht für jeden offenen Auftrag um das 10-fache ausweiten. Die Verzögerung wird nicht um ein Vielfaches erhöht.

Und um ehrlich zu sein, bin ich nicht hierher gekommen, um zu prahlen. Wenn die Idee nicht funktioniert, werde ich in der Mehrheit sein, das ist die Norm.
 
Serqey Nikitin:

Sie verstehen das falsch... Niemand wird die Zitate FIXieren...

Es gibt kein Verbot in den Regeln gegen "Verzögerungen" bei der Auftragsausführung... und die Ausbreitung wird größer...

Es tut mir leid, dass Sie so viel Zeit mit einer nutzlosen Idee verschwendet haben..., und das nur, weil Sie auf die Scalping-Anzeigen hereingefallen sind...
 
Serqey Nikitin:
Es tut mir leid, dass Sie so viel Zeit mit einer nutzlosen Idee verschwendet haben..., und das nur, weil Sie auf Scalping-Anzeigen hereingefallen sind...

Das ist das Ende unseres Dialogs mit Ihnen. Ich möchte nicht neugierig sein und in den Spekulationen anderer Leute wühlen.

 
Aleksandr2233:

Das ist das Ende unseres Dialogs mit Ihnen. Ich möchte nicht neugierig sein und in den Spekulationen anderer Leute wühlen.

Benutzen Sie Ihren Kopf... manchmal hilft es, wenn Sie nicht den richtigen Ratschlag bekommen...
 

Der Expert Advisor setzt Stop-Loss und Take-Profit auf schwebende Aufträge, wenn keine vorhanden sind. Und löscht die schwebenden Aufträge, wenn der Abstand zwischen dem schwebenden Auftrag und dem Preis größer ist als der Abstand zwischen dem schwebenden Auftrag und dem Stop.

#property version   "2.00"
#property strict

input int StopLoss=300;
input int TakeProfit=500;

double loss, profit;
bool result;

string symbol;
double point;
int digits;
 
MqlTick tick;


int OnInit()
   {
   symbol=Symbol();
   point=SymbolInfoDouble(symbol,SYMBOL_POINT);
   digits=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS);
   return(INIT_SUCCEEDED);
   }

void OnDeinit(const int reason)
   {
   
   }

void OnTick()
   {
   SymbolInfoTick(symbol,tick);
   for(int i=OrdersTotal()-1; i>=0; i--)
      {
      if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()!=symbol && OrderClosePrice()!=0) continue;
      if(OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLSTOP)
         {
         //устанавливаем стоплосс и тейкпрофит
         if((OrderStopLoss()==0 && StopLoss>0) || (OrderTakeProfit()==0 && TakeProfit>0))
            {
            loss=(StopLoss>0)?NormalizeDouble(tick.ask-MathMax(StopLoss,(int)SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL))*point,digits):0;
            profit=(TakeProfit>0)?NormalizeDouble(MathMax(TakeProfit,(int)SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL))*point-tick.bid,digits):0;
            result=OrderModify(OrderTicket(),OrderOpenPrice(),loss,profit,0);
            }
         //удаляем ордер
         if(OrderStopLoss()>0 && tick.ask-OrderOpenPrice()>OrderOpenPrice()-OrderStopLoss())
            {
            result=OrderDelete(OrderTicket());
            }            
         }
      if(OrderType()==OP_SELLLIMIT || OrderType()==OP_BUYSTOP)
         {
         //устанавливаем стоплосс и тейкпрофит
         if((OrderStopLoss()==0 && StopLoss>0) || (OrderTakeProfit()==0 && TakeProfit>0))
            {
            loss=(StopLoss>0)?NormalizeDouble(MathMax(StopLoss,(int)SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL))*point-tick.bid,digits):0;
            profit=(TakeProfit>0)?NormalizeDouble(tick.ask-MathMax(TakeProfit,(int)SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL))*point,digits):0;
            result=OrderModify(OrderTicket(),OrderOpenPrice(),loss,profit,0);
            }
         //удаляем ордер
         if(OrderStopLoss()>0 && OrderOpenPrice()-tick.bid>OrderStopLoss()-OrderOpenPrice())
            {
            result=OrderDelete(OrderTicket());
            }            
         }
      }
   }

hat nicht getestet

 
Aleksei Stepanenko:

Der Expert Advisor setzt Stop-Loss und Take-Profit auf schwebende Aufträge, wenn keine vorhanden sind. Und löscht die schwebenden Aufträge, wenn der Abstand zwischen dem schwebenden Auftrag und dem Preis größer ist als der Abstand zwischen dem schwebenden Auftrag und dem Stop.

haben nicht getestet

Ich werde es später überprüfen. Ich danke Ihnen. Sie werden Ihnen eher in einer privaten Nachricht antworten.

 
Serqey Nikitin:
Schalte deinen Kopf ein..., manchmal hilft es, wenn du nicht den richtigen Ratschlag bekommst...

Ich danke Ihnen für Ihren Rat.

 
Aleksei Stepanenko:

Der Expert Advisor setzt Stop-Loss und Take-Profit auf schwebende Aufträge, wenn keine vorhanden sind. Und löscht die schwebenden Aufträge, wenn der Abstand zwischen dem schwebenden Auftrag und dem Preis größer ist als der Abstand zwischen dem schwebenden Auftrag und dem Stop.

haben nicht getestet

Ich weiß jedoch nicht, was ich mit dem Code tun soll, um eine fertige ex4-Datei zu erhalten. Ich weiß, dass es ein Programm MetaEditor gibt, aber ich habe es nur einmal geöffnet.

 
legen Sie es in den Ordner \MQL4\Indicators und starten Sie das Terminal neu
Dateien:
 
Aleksei Stepanenko:
legen Sie es in den Ordner \MQL4\Indicators und starten Sie das Terminal neu

und die Datei ist meines Wissens ein Experte

Eine Momentaufnahme des ee

Grund der Beschwerde: