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

 
Zolotai:
Leute, könntet ihr mir bitte den Code sagen, den Code, der den Kontostand vom Monatsanfang anzeigt...

ja, es gibt einen Zettel mit einem Stift =))
 
Oh, und ich habe den Kalender vergessen.
 
FEAR:
Oh, und ich habe den Kalender vergessen.

Ich verstehe das nicht ganz... Worauf wollen Sie hinaus?
 

Hallo! Tut mir leid, wenn dies der falsche Ort ist, aber ich glaube, das ist er. Ich habe vor kurzem begonnen, mich mit der Programmierung von Expert Advisors zu beschäftigen und habe die Puria-Methode als Experiment gewählt.

Hier ist der Expert Advisor selbst:

#define MAGICMA 1111
//Eingabeparameter
extern int TP=150;
extern int SL=150;
extern int MP1=5;
extern int MP2=75;
extern int MP3=85;
double macd,macdS,ma1,ma1S,ma2,ma3;
bool buy =false;
bool sell =false;
//bool buy_ma=false;
/*****************************************************************************/
int init()
{
return(0);
}
/*****************************************************************************/
int deinit()
{
return(0);
}
/*****************************************************************************/
void start()
{
//double sl,tp;
ma1=iMA(NULL,0,MP1,0,MODE_EMA,PRICE_CLOSE,1)
ma1S=iMA(NULL,0,MP1,0,MODE_EMA,PRICE_CLOSE,2);
ma2=iMA(NULL,0,MP2,0,MODE_LWMA,PRICE_LOW,1);
ma3=iMA(NULL,0,MP3,0,MODE_LWMA,PRICE_LOW,1);
macd=iMACD(NULL,0,19,27,1,PRICE_CLOSE,MODE_MAIN,1);//1526.1
//macdS=iMACD(NULL,0,19,27,1,PRICE_CLOSE,MODE_MAIN,2);

if( ma1 > ma2 && ma1>ma3){
if( ma1S<ma2 && ma1S<ma3){
buy=true;
}
}
if ( ma1 < ma2 && ma1 < ma3){
if (ma1S > ma2 && ma1S > ma3)
sell=true;
}
for(int i=0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
if(OrderType()==OP_BUY){
buy=false;
}
if(OrderType()==OP_SELL){
sell=false;
}
//else sell=false;
}
if (macd > 0 && buy){
OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-SL*Point,Ask+TP*Point,"",MAGICMA,0,Blue);
buy=false;
}
if (macd < 0 && sell){
OrderSend(Symbol(),OP_SELL,0.01,Bid,3,Bid+SL*Point,Bid-100*Point,"",MAGICMA,0,Red);
sell=false;
}

}

Es haben sich eine Reihe von Fragen ergeben:

1) Wie kann man einen Experten dazu bringen, mit verschiedenen Methoden der Preisangabe zu arbeiten (4 oder 5 Zeichen)

2) Ich möchte einen Trailing-Stop anstelle eines Take-Profits schreiben (wie man ihn implementiert oder einen nützlichen Link).

 

Bitte sagen Sie mir, bitte, ich möchte zwei Skripte bestellen, um alle Aufträge im Kaufterminal zu verkaufen und alle Aufträge im Verkaufsterminal zu verkaufen, ohne dass eine Benutzeroberfläche benötigt wird, nur um Hotkeys zu belegen. Wie viel wird es kosten und wo kann man es bestellen?

Ich möchte sie in die Codebasis aufnehmen, und die Werkzeuge des Autors werden bei Bedarf beibehalten.

Ich verstehe, was ich im Terminal tun muss, um Aufträge auszuwählen und dann nach Typ auszuwählen und dann ein CloSed auszuführen, aber ich kann es nicht für eine lange Zeit wegen der beiden einfachen Skripte tun.

Danke.

 
bambastik:

Bitte sagen Sie mir, bitte, ich möchte zwei Skripte bestellen, um alle Aufträge im Kaufterminal zu verkaufen und alle Aufträge im Verkaufsterminal zu verkaufen, ohne dass eine Benutzeroberfläche benötigt wird, nur um Hotkeys zu belegen. Wie viel wird es kosten und wo kann man es bestellen?

Ich danke Ihnen.

Haben Sie in der Catbase nachgesehen?
 
artmedia70:
Haben Sie in der Catbase nachgesehen?

Ja, ich habe, in der kotobase, es nur diese passen im Wesentlichen https://www.mql5.com/ru/code/8602 aber sie sind schwer für mich zu verstehen, ich habe sehr wenig Gehirn. dort müssen Sie Typ statt Gewinn setzen, aber wie es zu tun, kann ich nicht verstehen.
 
bambastik:
Ich habe es nachgeschlagen, in der cotbase gibt es nur diese passenden Skripte https://www.mql5.com/ru/code/8602 aber sie sind für mich schwer zu verstehen, ich habe sehr wenig Hirn.
Welche Art von Skript benötigen Sie? Was sollte sie tun?
 

In der Tat. Wählen Sie alle Käufe im Diagramm aus, schließen Sie sie und das war's. Und dasselbe nur mit verkaufen.

Ich habe das jetzt noch einmal gemacht, aber der Compiler sagt, dass etwas mit dem Ende nicht stimmt.

//+------------------------------------------------------------------+
//| CloseAllProfit.mq4 |
//| Copyright © 2008, PRMQuotes Software Corp. |
//| Jedimedic77@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, PRMQuotes Software Corp."
#property link ""

//+------------------------------------------------------------------+
//| global variables to program: |
//+------------------------------------------------------------------+
double Price[2];
bool closesell = true;


void start() {
int iOrders=OrdersTotal()-1, i;

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && (OrderType() >= 0)) {
if((OrderType()==OP_SELL) {
OrderClose(OrderType());
}

}

Ich habe mir das Profil nie angesehen, aber ich habe es im Forum gesehen. Ich habe es noch nie gesehen und es ist eine lange Geschichte, also hat es sich wohl so ergeben.
 
bambastik:

In der Tat. Wählen Sie alle Käufe im Diagramm aus, schließen Sie sie und das war's. Und das Gleiche nur mit verkaufen.

All Buy und All Sell sind zwei verschiedene Skripte. Das war von Anfang an klar. Die Frage ist, ob es absolut alle Positionen schließen sollte. Oder sollten nur die Positionen geschlossen werden, die sich in dem Diagramm befinden, in dem das Skript ausgeführt wird? Sollen manuell eröffnete Positionen oder von einem Expert Advisor eröffnete Positionen oder beide geschlossen werden?