Wie programmiert man? - Seite 47

 

Danke MrPip

Ich verstehe größtenteils, worauf Sie hinauswollen, ich werde es ausprobieren und wieder fragen, wenn ich nicht weiterkomme.

Prost

 
MrPip:
Korrekturen in Rot unten: Robert

Danke Robert, das hat geholfen.

 

Bar count down mit MTF-Indikatoren

MTF = Multi Time Frame Indikatoren

double BarCountDownInSec()

{

double g;

g=Zeit[0]+Periode()*60-ZeitAktuell();

return(g);

}

Die obige Funktion liefert den zweiten Countdown für die Balken im aktuellen Chart. Wenn sie also auf einem 5-Minuten-Chart platziert wird, zeigt sie den Sekunden-Countdown für jeden 5-Minuten-Balken an.

F: Wie erhalte ich den Sekunden-Countdown für einen 15-Minuten-Balken (d.h. 3x 5-Minuten-Balken), wenn ich mich in einem 5-Minuten-Chart befinde, also einen Countdown von 15 Minuten von 6.00 bis 6.15. dann 6.15 bis 6.30, während ich mich in einem 5-Minuten-Chart befinde?

 

Problem mit meiner Programmierung (BUG)

Hallo!

Kann mir jemand helfen, den Fehler zu beheben. Ich hatte es fast geschafft, nur dass das Histogramm nicht erscheint, wenn ich den Code neu kompiliere.

Bitte helfen!!! Bitte Bitte Bitte

Mit freundlichen Grüßen

Dateien:
 

icustom-Problem

Wie lautet der String-Name dieses Indi, den ich für einen iCustom-Teil eines EA verwenden sollte?

Ich habe versucht

MT4-LevelStop-Umkehr-vBO-4

MT4-LevelStop-Rückwärts-

MT4-LevelStop-Umlenkung

vBO-4

vB0.4

vtsbh2483-

MT4-LevelStop-Umkehr-" + INDICATOR_VERSION + "(

Ich habe also keine Ahnung, was ich als nächstes tun soll.

oder muss ich den ATRMode, Manual Mode etc String Names eingeben

Jede Hilfe wäre großartig

 

Kann jemand den Fehler sehen? Ich kann nicht erkennen, wo der Fehler in diesem Code liegt. Ich bekomme immer wieder. Jede Hilfe bei der Suche nach dem Fehler wäre großartig. Danke

LongSig Variable nicht definiert

//+------------------------------------------------------------------+

Offene Positionen berechnen //|

//+------------------------------------------------------------------+

int CalculateCurrentOrders() {

buys=0; sells=0;

string symbol=Symbol();

//----

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) weiter;

if(OrderSymbol()==Symbol() && OrderMagicNumber()==expertId)

{

if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP) kauft++;

if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP) sells++;

}

}

//---- Auftragsvolumen zurückgeben

if(Käufe>0) return(Käufe);

sonst return(-sells);

}

//+------------------------------------------------------------------+

//| Prüfung auf offene Auftragsbedingungen |

//+------------------------------------------------------------------+

void CheckForSignals() {

buysig=false;

sellsig=false;

closebuy=false;

closesell=false;

double MOM = iCustom (NULL,0, "Momentum-ZL",MOMPeriod,0,shift);

double SRL = iCustom (NULL,0, "MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPeriod, ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,233);

double SRS = iCustom (NULL,0, "MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPeriod, ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,234);

double QQE_RsiMa = iCustom(NULL,0, "QQE",0,shift);

double QQE_TrLevelSlow = iCustom(NULL,0, "QQE", 1, shift);

double QQE_RsiMaPrev = iCustom(NULL,0, "QQE",0,shift + 1);

double QQE_TrLevelSlowPrev = iCustom(NULL,0, "QQE", 1, shift + 1);

double Pivot = iCustom (NULL,0, "Pivot Points Multitimeframe",midpivots,Fhr,daily,weekly,monthly,1,shift)

bool LongSig = QQE_RsiMaPrev QQE_TrLevelSlow >50.0;

bool ShortSig = QQE_RsiMaPrev > QQE_TrLevelSlowPrev && QQE_RsiMa < QQE_TrLevelSlow<50.0;

bool LongSig2 = MOM>0,0;

bool ShortSig2 = MOM<0,0;

bool LongSig3 = SRL>Pivot;

bool ShortSig3 = SRS<Pivot;

buysig = LongSig && LongSig2 && LongSig3;

sellsig = ShortSig && ShortSig2 && ShortSig3;

closebuy=sellsig;

closesell=buysig;

}

void CheckForOpen() {

if (last==Time[0]) return;

int res,ord;

double entry,stop,profit;

ord=CalculateCurrentOrders();

if (ord!=0) CheckForClose();

ord=CalculateCurrentOrders();

//---- Kaufbedingungen

if (buys<ConsecutiveTrades && buysig) {

res=OpenAtMarket(OP_BUY,Lots);

if (res<0) Print("Fehler beim Öffnen der BUY-Order : ",ErrorDescription(GetLastError()));

sonst last=Time[0];

}

//---- Verkaufsbedingungen

if (-sells<ConsecutiveTrades && sellsig) {

res=OpenAtMarket(OP_SELL,Lots);

if (res<=0) Print("Fehler beim Öffnen der SELL-Order: ",ErrorDescription(GetLastError()));

sonst last=Time[0];

}

}

int OpenAtMarket(int mode,double lot) {

int res,tr,col;

double openprice,sl,tp;

tries=0;

while (res<=0 && tries<OrderTriesNumber) {

tr=0; while (tr<5 && !IsTradeAllowed()) { tr++; Sleep(2000); }

RefreshRates();

if (mode==OP_SELL) {

openprice=Bid;

col=Rot;

} sonst {

//openprice=nd(Ask);

openprice=Ask;

col=Blau;

}

res=OrderSend(Symbol(),mode,lot,openprice,slippage,sl,tp,EAName+expertId,expertId,0,col);

tries++;

}

return(res);

}

IT behoben

 

Versuchen Sie das erste auf Ihrer Liste mit einer Null 0 anstelle des Buchstabens O für vB0-4.

Robert

Beno:
Wie lautet der String-Name dieses Indi, den ich für einen iCustom-Teil eines EAs verwenden sollte?

Ich habe versucht

MT4-LevelStop-Umkehr-vBO-4

MT4-LevelStop-Rückwärts-

MT4-LevelStop-Rückwärts

vBO-4

vB0.4

vtsbh2483-

MT4-LevelStop-Reverse-" + INDICATOR_VERSION + "(

Ich habe also keine Ahnung, was ich als nächstes tun soll.

oder muss ich die String-Namen ATRMode, Manual Mode usw. eingeben

Jede Hilfe wäre großartig
 

Danke Herr Pips

Sortiert

 
MrPip:
Korrekturen in Rot unten. Robert

Ich habe dies versucht, aber es scheint nicht zu funktionieren. Ich möchte nur einen Handel pro Tag.

for(int a=0;a<OrdersTotal();a++)

{

if (OrderSelect(a,SELECT_BY_POS,MODE_TRADES) == true)

{

if (OrderSymbol()== Symbol() && OrderMagicNumber()== Magic_Number)

{

if (TimeDay(OrderOpenTime()) >= TimeDay(TimeCurrent())) Handel = false;

if (TimeDay(OrderOpenTime()) < TimeDay(TimeCurrent())) Trade = true;

}

}

}
 
antone:
ich habe dies versucht, aber es scheint nicht zu funktionieren. ich möchte nur einen Handel pro Tag.

Ich habe dies in anderen EAs verwendet und es funktioniert korrekt.

Ich prüfe, ob der Handel heute geschlossen ist, anstatt heute offen.

Die Verwendung im Start ist

if (LastTradeClosedToday()) return(0);

// Code hier, um neue Trades zu öffnen

//+------------------------------------------------------------------+

//| LastTradeClosedToday |

//| Prüfe Historie um zu sehen, ob letzter Handel heute geschlossen wurde |

//+------------------------------------------------------------------+

bool LastTradeClosedToday()

{

int cnt, total;

bool Geschlossen;

total = HistoryTotal();

for (cnt = gesamt - 1; cnt >= 0; cnt--)

{

OrderSelect (cnt, SELECT_BY_POS, MODE_HISTORY);

if(BestellSymbol()!=Symbol()) weiter;

if (OrderMagicNumber() != MagicNumber) continue;

Geschlossen = false;

if (OrderType() == OP_BUY)

{

if (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent()))

{

Geschlossen = true;

}

cnt = 0;

}

if (OrderType() == OP_SELL)

{

if (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent()))

{

Geschlossen = true;

}

cnt = 0;

}

}

return (Geschlossen);

}