Fragen Sie! - Seite 74

 
WNW:
Ich möchte meine EAs von einem VPS aus betreiben.

Aus Sicherheitsgründen möchte ich meine Maklerkontonummer verschlüsseln und die kompilierte Version hochladen.

Kann mir jemand beschreiben, welchen Code ich hinzufügen muss?

Danke!

Der Code ist hier (auf der ersten Seite dieses Threads https://www.mql5.com/en/forum/174194 ).

Außerdem gibt es in der Elite-Sektion einen EA mit verschlüsseltem Kontoschutz.

1. MA_ExpertProfit.mq4: es ist der gleiche EA, aber es wird die Aufträge in s/l oder t/p nur schließen.

2. MA_ExpertProfit_all.mq4: Es wird die Bestellung auf s/l oder t/p, oder auf dem anderen Crossing-Signal schließen. Dieser EA sollte nur auf einem bestimmten Konto funktionieren. Ändern Sie einfach die Zeile "int Account = 111111;" in Ihre Kontonummer innerhalb des Codes. Zum Beispiel ist Ihr Konto 1235463. Diese Zeile sollte also wie folgt lauten:

int Konto = 1235463;

3. MA_ExpertProfit_noacc.mq4: es ist das gleiche wie Punkt # 2. Aber ohne Konto und es kann in jedem Konto funktionieren (ich meine Konto in Metatrader).

Wenn Sie nicht Elite-Mitglied sind, kann ich die Codes hier posten, aber es ist ein sehr bekanntes Thema, das hier öffentlich beschrieben ist: https://www.mql5.com/en/forum/174194

Schwieriger ist es, die Lizenznummer zu erstellen, den Broker zu setzen,

UserVerification(Confirmed)

und so weiter.

Da ich weiß, dass einige Programmierer sehr professionell mit diesen Problemen umgehen, können Sie sie in diesem Thread sehen: https: //www.mql5.com/en/forum/174194

 

Magische Zahl

int j,totalbuy;

totalbuy=OrdersTotal();

for(j=0;j<totalbuy;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);

return(0);

}

Wie referenzieren Sie die magische Zahl in dem obigen Abschluss. Ebenso in einem Kaufauftrag? Vielen Dank im Voraus für Ihre Antwort!

Dave

<<<

 
int j,totalbuy;

totalbuy=OrdersTotal();

for(j=0;j<totalbuy;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);

return(0);

}
 

Danke für die Antwort!!

Dave

 

Frage zum logischen Ablauf

Wie springe ich zwischen logischen Anweisungen hin und her, wenn sich herausstellt, dass ich in einer Schleife zu einer bestimmten früheren logischen Anweisung zurückkehren muss, bis eine Bedingung erfüllt ist, und wenn diese erfüllt ist, muss ich zu einer anderen, noch früheren logischen Anweisung springen?

Ich weiß, dass ich in Simple Basic eine goto-Anweisung verwenden würde.

Dave <<<
 

Farbwechsel in der ObjectCreate-Anweisung

Ich versuche, die Farbe der Gewinnanzeige auf der Grundlage des Gewinns der Tickets von Lime auf Red zu ändern. Ich bin auf die reservierten Wörter Lime und Red gestoßen und kann nicht herausfinden, wie ich diese Farben in der ObjectSetText-Anweisung ändern kann.

string Lime;

string Red;

string PlusMinusColor = "";[/PHP]

if (BuyProfit+SellProfit>=0) PlusMinusColor=Lime;

if (BuyProfit+SellProfit<0) PlusMinusColor=Red;[/PHP]

[PHP]

Profit1=BuyProfit+SellProfit;
[PHP] ObjectSetText("Profit1", DoubleToStr(Profit1,2), 16, "Arial",PlusMinusColor );

Kann mir jemand bei diesem Problem helfen?

Dave <<<

Vielen Dank für die Hilfe - ich meine es wirklich ernst!

 

Gewinn oder Verlust in großen Lettern im Diagramm anzeigen

Ich habe es herausgefunden!

 
double BP(j)=0,BP=0,SP=0;[/PHP]

[PHP]int j,TotalOrders;

TotalOrders=OrdersTotal();

for(j=0;j<TotalOrders;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

BP(j) = OrderProfit() + OrderSwap() + OrderCommission();//BuyProfit - GETTING ERRORS ABOUT BP(j)

}

else

if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

SP(j)= OrderProfit() + OrderSwap() + OrderCommission();//SellProfit - GETTING ERRORS ABOUT SP(j).

}

BuyProfit=BuyProfit+BP(j); // GETTING ERRORS!

SellProfit=SellProfit+SP(j); // GETTING ERRORS!

return(0);

Ich habe versucht, dies zu kodieren, aber wie man sehen kann, habe ich es nicht ganz richtig.

Kann mir einer von euch feinen Programmierern helfen, das zu reparieren????

Dave <<<
 
1Dave7:
double BP(j)=0,BP=0,SP=0;[/php][php]int j,TotalOrders;

TotalOrders=OrdersTotal();

for(j=0;j<TotalOrders;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

BP(j) = OrderProfit() + OrderSwap() + OrderCommission();//BuyProfit - GETTING ERRORS ABOUT BP(j)

}

else

if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

SP(j)= OrderProfit() + OrderSwap() + OrderCommission();//SellProfit - GETTING ERRORS ABOUT SP(j).

}

BuyProfit=BuyProfit+BP(j); // GETTING ERRORS!

SellProfit=SellProfit+SP(j); // GETTING ERRORS!

return(0);

Ich habe versucht, dies zu kodieren, aber wie man sehen kann, habe ich es nicht ganz richtig.

Kann mir einer von euch feinen Programmierern helfen, das zu reparieren????

Dave <<<

Wenn du willst, dass "BP" ein Array ist, dann musst du die Klammern "[ ]" verwenden und nicht die Paranthese "( )" wie in:

BP[j]

... nicht ...

BP(j)

... was wie ein Funktionsaufruf aussieht.

 

Profit-Problem.

Etwas Einfaches, bei dem ich Hilfe brauche.

double EntryPoint = 1.000;

int MiniLots = 1;

Währung geschlossen bei .880

Ich habe das Folgende versucht, um einen Gewinnwert zu erhalten, ohne Erfolg:

Profit=EntryPoint*MiniLots - ( Ich habe versucht, Ask, Bid, Close[0] zu reduzieren) *100;

Alles, was ich bekomme, ist Profit=0.00, obwohl ich Profit=12.00 bekommen sollte. Ich bin verwirrt?

Es würde mich nicht wundern, wenn die Antwort lautet, dass der Markt geschlossen ist?

Was sagen Sie, was mein Problem mit diesem ist?

Dave <<<