Wie programmiert man? - Seite 221

 

Bitte helfen Sie mir, die Linie zu verschieben.

--------------------------------------------------------------------------------

Der Indikator funktioniert so wie er entworfen wurde. Ton Alarm, wenn der Preis berührt die Linie, aber ich möchte auf, dass zu erweitern. Ich möchte dies:

Kopieren Sie den Indikator unten dann tun diese 2 Änderungen:

Änderung #1:

Erstellen Sie eine Linie stoploss1 (ist bereits vorhanden) und verschieben Sie die Linie dorthin, wo mein Stop-Loss ist, wenn ich keinen Stop-Loss gesetzt habe, verschieben Sie die Linie 500 Pips weg, um zu verhindern, dass der Alarm aktiviert wird.

Änderung #2:

Erstellen Sie eine Linie takeprofit1 (dies ist nicht im Code) und verschieben Sie die Linie dorthin, wo mein Stop-Loss ist, wenn ich keinen Stop-Loss gesetzt habe, verschieben Sie die Linie 502 Pips weg, um zu verhindern, dass der Alarm ausgelöst wird. Verwenden Sie auch verschiedene Sound-Alarm.

Ziemlich viel der Indikator wird überprüfen, was meine Stop-Loss und Take-Profit ist und wird an sie jeweiligen Preise bewegen, wenn Stop-Loss und Take-Profit nicht gesetzt wird die Linien 500, 502 Pips weg bewegen.

Auf diese Weise, wenn der Markt meine Gewinn-oder Stop-Loss der Ton wird mich wissen lassen, wenn im nicht Blick auf metatrader oder haben das Fenster zu minimieren, und ich kann zurück gehen ich sehen, was andere einrichten ich haben kann.

Vielen Dank für Ihre Hilfe Bruder.

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

//| HLine Alert.mq4 |

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

#property copyright ""

#property indicator_chart_window

extern string LineName="Stoploss1";

extern color LineColor=Red;

extern int LineStyle=STYLE_SOLID;

extern int AlertPipRange=1;

extern string AlertWav="Alert2.wav";

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

//| Benutzerdefinierte Indikator-Initialisierungsfunktion |

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

int init()

{

//---- Indikatoren

//----

return(0);

}

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

//| Benutzerdefinierte Funktion zur Deinitialisierung von Indikatoren |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Benutzerdefinierte Indikator-Iterationsfunktion |

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

int start()

{

int counted_bars=IndicatorCounted();

ObjectCreate(Linienname, OBJ_HLINE, 0, 0, Bid);

ObjectSet(LineName, OBJPROP_STYLE, LineStyle);

ObjectSet(Zeilenname, OBJPROP_WIDTH, 2);

ObjectSet(LineName, OBJPROP_COLOR, LineColor);

double val = ObjectGet( Zeilenname, OBJPROP_PRICE1);

if (Bid-AlertPipRange*Point = val) PlaySound(AlertWav);

//----

//----

return(0);

}

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

 
increase:
Hier ist eine MTF-Version, die ich für Sie mit einer Warnung erstellt habe

Hallo Erhöhung...

...Ich lade Ihren Indikator (mit Alarm) Ich habe es zu beheben..Ursache..haben einen kleinen Fehler...

einmal Pop-up-Pfeil nach oben zeigen Label nach unten und umgekehrt...

also würde ich gerne wissen, wie man beides in einem zusammenführt..und wie man den Alarm an

E-Mail in allen TF's.

als u im Voraus

Dateien:
afstar.mq4  6 kb
 

bitte ich brauche Hilfe

Bitte kann mir jemand beim Schreiben von Codes helfen, ich möchte einen Roboter für eine Scalping-Strategie entwickeln, die ich entdeckt habe

 

Leute,

hier ist ein einfacher Code für eine Warnung bei Überschreiten des gleitenden Durchschnitts und beim Schließen des Kurses wie im beigefügten Bild,

Ich denke, dass etwas mit der if-Anweisung nicht stimmt, bitte überprüfen Sie das,

Vielen Dank im Voraus.

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

#property copyright "Non"

#property link "non"

#property indicator_chart_window

extern int Time_Frame = PERIOD_M5;

extern int MA_Period = 20;

extern int MA_Method = MODE_SMA;

extern int MA_applied_to = PRICE_CLOSE;

extern bool Enabled = true;

extern int WhatCorner=2;

int PrevAlertTime=0;

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

//----

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

ObjectDelete("Alart_Condition");

ObjectDelete("Alart_Setup");

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int BarsCount=IndicatorCounted();

if (Enabled == false)

{

string Alart_Condition = "Alart Disabled";

ObjectCreate("Alart_Condition", OBJ_LABEL, 0, 0, 0);

ObjectSetText("Alart_Condition", Alart_Condition , 12, "Comic Sans MS", Red);

ObjectSet("Alart_Condition", OBJPROP_CORNER, WhatCorner);

ObjectSet("Alart_Condition", OBJPROP_XDISTANCE, 1);

ObjectSet("Alart_Condition", OBJPROP_YDISTANCE, 1);

return (0);

}

// if (!Enabled) return (0);

if (Enabled == true)

{

string Alart_Setup = (GetMethodText1(MA_Method)+ (DoubleToStr(MA_Period,0))+")"+ GetMethodText(MA_applied_to)) ;

ObjectCreate("Alart_Setup", OBJ_LABEL, 0, 0, 0);

ObjectSetText("Alart_Setup", Alart_Setup , 12, "Comic Sans MS", Red);

ObjectSet("Alart_Setup", OBJPROP_CORNER, WhatCorner);

ObjectSet("Alart_Setup", OBJPROP_XDISTANCE, 1);

ObjectSet("Alart_Setup", OBJPROP_YDISTANCE, 1);

}

// if close of i < iMA && iMA < close of i-1 && last time alart .. then sell

for (int i=Bars;i>=1;i--)

{

double m = iMA(NULL,Time_Frame,MA_Period,0,MA_Method,MA_applied_to,i);

if ((CurTime() - PrevAlertTime > 20) && Close < m && m < Close)

{

Alert ("Sell " + Symbol());

PlaySound ("alert.wav");

PrevAlertTime=CurTime();

return(-1);

}

// if close of i-1 < iMA && iMA < close of i && last time alart .. then buy

if ( (CurTime() - PrevAlertTime > 20) && Close < m && m < Close )

{

Alert ("Buy "+ Symbol());

PlaySound ("alert.wav");

PrevAlertTime=CurTime();

return(-1);

}

}

//----

//----

return(0);

}

string GetMethodText1(int MA_Method)

{ switch(MA_Method)

{

case 0 : return("SMA("); break;

case 1 : return("EMA("); break;

case 2 : return("SMMA("); break;

case 3 : return("LWMA("); break; }

}

string GetMethodText(int MA_applied_to)

{

switch(MA_applied_to)

{case 0: return("C"); break; // Close

case 1: return("O"); break; // Open

case 2: return("H"); break; // High

case 3: return("L"); break; } // Low

}

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

Dateien:
q.gif  10 kb
 

Hilfe bei Skript

Hi...

Ich bin kompletter Neuling bei der Codierung dieser, so dass ich fragte mich, ob jemand sagen könnte, was mit diesem Skript falsch ist...

Ich bekomme immer ein errer 4109 ERR_TRADE_NOT_ALLOWED.. Nachricht in MT4 ist "Ungültiger Preis 1.48770000 für OrderSend Funktion" Aber ich kann nicht scheinen, um herauszufinden, warum... Also bitte helfen Sie mir hier...

int start()

{

double High1;

double Low1;

double TP = 50;

double SL = 50;

int Lots = (((AccountBalance()/15)/50)/10);

//----

{

High1 = iHigh(NULL, PERIOD_D1, 0);

Low1 = iLow(NULL, PERIOD_D1, 0);

double Buy = High1*Point;

double Sell= Low1*Point;

Print(Buy);

Print(Sell);

}

//----

{

OrderSend(Symbol(),OP_BUYSTOP,Lots,Buy,NULL,Ask-SL*Point,Ask+TP*Point);

OrderSend(Symbol(),OP_SELLSTOP,Lots,Sell,3,Bid+SL*Point,Bid-TP*Point);

Alert (GetLastError());

}

//----

return(0);

}
 

Hilfe

Wenigstens habe ich jetzt das Problem mit dem nicht erlaubten Handel gelöst.

Aber jetzt bekomme ich eine"ungültige Stopps" Fehler... jemand, der mich hier erleuchten kann...? Verstehe nicht wirklich, was hier falsch ist...

Danke im Voraus...

int start()

{

double High1;

double Low1;

int TP = 50;

int SL = 50;

int Lots = (((AccountBalance()/15)/50)/10);

//----

{

High1 = iHigh(NULL, PERIOD_D1, 0);

Low1 = iLow(NULL, PERIOD_D1, 0);

Print(High1);

Print(Low1);

}

//----

{

OrderSend(Symbol(),OP_BUYSTOP,Lots,High1,NULL,Ask-SL*Point,Ask+TP*Point);

OrderSend(Symbol(),OP_SELLSTOP,Lots,Low1,NULL,Bid+SL*Point,Bid-TP*Point);

Alert (GetLastError());

}

//----

return(0);

}
 

Beschränkung der Anzahl der Trades auf....

Ich versuche, einen Code zu einem EA hinzuzufügen, der die Anzahl der Trades pro Tag auf nur zwei (2) beschränkt. Nur EIN Long-Handel und EIN Short-Handel pro Tag. Dies ist der Code, den ich bis jetzt habe, aber bei einem Backtest funktioniert er nicht.

Können Sie mir helfen?

datetime LongTrade=0;

datetime ShortTrade=0;

if(countOrders(OP_BUY,magic)==0 && LongTrade!=iTime(NULL,PERIOD_D1,0))

{

OrderSend(Symbol(),OP_BUY,lots,Ask,0,Bid-stop_loss*Point,lTP,comment + "lTP",magic);

LongTrade=iTime(NULL,PERIOD_D1,0);

return(0);

}

--------------------

if(countOrders(OP_SELL,magic)==0 && ShortTrade!=iTime(NULL,PERIOD_D1,0))

{

OrderSend(Symbol(),OP_SELL,lots,Bid,0,Ask+stop_loss*Point,sTP,comment + "sTP",magic);

ShortTrade=iTime(NULL,PERIOD_D1,0);

return(0);

}

DANKE!

 
ForExTyro:
Ich versuche, einen Code zu einem EA hinzuzufügen, der die Anzahl der Trades pro Tag auf zwei (2) beschränkt. Nur EIN Long-Trade und EIN Short-Trade pro Tag. Das ist der Code, den ich bisher habe, aber bei einem Backtest funktioniert er nicht. Können Sie mir helfen?

Ersetzen

datetime LongTrade=0;

datetime ShortTrade=0;

an

static datetime LongTrade=0;

static datetime ShortTrade=0;

 

Hilfe mit diesem EA & Indikator Bitte

Im a Newbe so Hallo, wie Sie sehen können Im mit kein Glück mit diesem.

Ich habe diesen Indikator (Histogramm / schaut zurück 300 Bars, aber es repaints WEG zu viel. Kann jemand vorschlagen, einen Indikator, der nicht noch wird die gleiche job.This ist es, wenn Sie helfen können, die fantastisch sein würde

Mit freundlichen Grüßen CharlieC

histoind.mq4

#property indicator_chart_window

#Eigenschaft indicator_buffers 2

#property indicator_color1 Rot

#Eigenschaft indicator_color2 RasenGrün

string gs_unbenutzt_124 = "";

bool gi_unused_132 = FALSE;

extern int RISK = 3;

extern int CountBars = 300;

double g_ibuf_144[];

double g_ibuf_148[];

int init() {

IndicatorBuffers(2);

SetIndexStyle(0, DRAW_ARROW);

SetIndexArrow(0, 234);

SetIndexStyle(1, DRAW_ARROW);

SetIndexPfeil(1, 233);

SetIndexBuffer(0, g_ibuf_144);

SetIndexBuffer(1, g_ibuf_148);

Comment();

return (0);

}

int start() {

int li_12;

double ld_52;

double ld_60;

double ld_68;

double ld_76;

double ld_84;

double ld_92;

double ld_100;

double lda_108[50000];

SetIndexDrawBegin(0, Bars - CountBars + 11 + 1);

SetIndexDrawBegin(1, Balken - Anzahl Balken + 11 + 1);

int l_ind_counted_8 = IndicatorCounted();

int li_20 = RISK * 2 + 3;

double ld_36 = RISK + 67;

double ld_44 = 33 - RISK;

int l_period_24 = li_20;

if (Bars <= 12) return (0);

if (l_ind_counted_8 < 12) {

for (int li_0 = 1; li_0 <= 0; li_0++) g_ibuf_144[CountBars - li_0] = 0.0;

for (li_0 = 1; li_0 <= 0; li_0++) g_ibuf_148[CountBars - li_0] = 0.0;

}

for (int li_4 = CountBars - 11 - 1; li_4 >= 0; li_4--) {

li_12 = li_4;

ld_76 = 0.0;

ld_84 = 0,0;

for (li_12 = li_4; li_12 <= li_4 + 9; li_12++) ld_84 += MathAbs(High[li_12] - Low[li_12]);

ld_76 = ld_84 / 10.0;

li_12 = li_4;

ld_68 = 0;

while (li_12 < li_4 + 9 && ld_68 < 1.0) {

if (MathAbs(Open[li_12] - (Close[li_12 + 1])) >= 2,0 * ld_76) ld_68 += 1,0;

li_12++;

}

wenn (ld_68 >= 1.0) ld_92 = li_12;

sonst ld_92 = -1;

li_12 = li_4;

ld_68 = 0;

while (li_12 < li_4 + 6 && ld_68 < 1.0) {

if (MathAbs(Close[li_12 + 3] - Close[li_12]) >= 4,6 * ld_76) ld_68 += 1,0;

li_12++;

}

wenn (ld_68 >= 1.0) ld_100 = li_12;

sonst ld_100 = -1;

wenn (ld_92 > -1,0) l_period_24 = 3;

sonst l_period_24 = li_20;

wenn (ld_100 > -1,0) l_period_24 = 4;

sonst l_period_24 = li_20;

ld_52 = 100 - MathAbs(iWPR(NULL, 0, l_period_24, li_4));

lda_108[li_4] = ld_52;

g_ibuf_144[li_4] = 0;

g_ibuf_148[li_4] = 0;

ld_60 = 0;

if (ld_52 < ld_44) {

for (int li_16 = 1; lda_108[li_4 + li_16] >= ld_44 && lda_108[li_4 + li_16] <= ld_36; li_16++) {

}

if (lda_108[li_4 + li_16] > ld_36) {

ld_60 = High[li_4] + ld_76 / 2.0;

g_ibuf_144[li_4] = ld_60;

}

}

if (ld_52 > ld_36) {

for (li_16 = 1; lda_108[li_4 + li_16] >= ld_44 && lda_108[li_4 + li_16] <= ld_36; li_16++) {

}

if (lda_108[li_4 + li_16] < ld_44) {

ld_60 = Low[li_4] - ld_76 / 2.0;

g_ibuf_148[li_4] = ld_60;

}

}

}

return (0);

}

Dateien:
histoind.mq4  3 kb
 

CharlieC

Wenn ich schon dabei bin, kann jemand auch einen Sound Alert einbauen (Darn Cheeky Ay, for a Newbeeee) this stuff makes ya do funny things

Entschuldigung

CharlieC

Grund der Beschwerde: