ICustom-Funktion - Seite 22

 
SantaClaus:
Englisch ist nicht meine Muttersprache, aber ich dachte wirklich nicht, dass meine Frage so falsch war. Anstatt "Worte zu markieren", lassen Sie uns eine Lösung für mein Problem finden. Ich versuche die Frage noch einmal.

Wie kann mein EA am besten einfache Puts und Calls von meinem Indikator erkennen?

Offensichtlich hat mein Code nicht funktioniert, und ich habe versucht, die "1" in eine "0" zu ändern, wie Sie mir gesagt haben.

Poste (hänge an) deinen Code, der hier nicht funktioniert - die mql-Dateien, die du testest und die du bisher geschrieben hast.

 

Es ist mein privater Code, also möchte ich ihn nicht weitergeben. Aber was müssen Sie mehr sehen als den Code, den ich zur Verfügung gestellt habe?

Gibt es etwas, das ich vergessen habe?

 
SantaClaus:
Es ist mein privater Code, also möchte ich ihn nicht teilen. Aber was müssen Sie noch mehr sehen als den Code, den ich zur Verfügung gestellt habe? Habe ich etwas vergessen?

Sie meinen, Sie wollen, dass Ihnen jemand bei der Codierung hilft, aber Sie wollen den Code nicht zeigen, damit er auf Fehler überprüft werden kann, sondern Sie behaupten, dass alle Ratschläge, die Sie erhalten haben und die in Tausenden und Abertausenden von anderen Codes funktionieren, bei Ihnen nicht funktionieren?

NUN GUT. Jetzt verstehe ich Ihren Standpunkt. Viel Glück mit Ihrer Codierung

Fröhliches Handeln

 

Privater Code, der nicht funktioniert? Interessant

 

Zwei meiner Beiträge wurden aus irgendeinem Grund, den ich nicht kenne, gelöscht.

Das Problem, das auftrat, war jedoch, dass ich einige andere Puffer hatte, die den, den ich zu lesen versuchte, störten. Ich habe jetzt eine funktionierende Lösung.

 

Ich brauche bitte etwas Hilfe. Wie sendet man Symbolparameter, die ein Suffix (micro) haben, an eine Funktion, die icustom enthält. Wenn ich keine Funktion verwende, setze ich den Symbolnamen in Anführungszeichen und es funktioniert z.B. icustom("EURUSDmicro",0,channel-signal",2,1), aber wenn ich eine Funktion verwende, werden die Anführungszeichen nicht übergeben.bitte sehen Sie den folgenden Code, was ich meine

void OnTick()

{

CalcDisplay("EURUSDmicro"); //--------FUNCTION CALL-------

}

void CalcDisplay(string TxtCurrency) //--------FUNCTION-------

{

double Value=icustom(TxtCurrency,0,channel-signal",2,1);

...

...

..

}

 
Richard Sidric:
Ich benötige bitte etwas Hilfe. Wenn ich keine Funktion verwende, setze ich den Symbolnamen in Anführungszeichen und es funktioniert, z.B. icustom("EURUSDmicro",0,channel-signal",2,1), aber wenn ich eine Funktion verwende, werden die Anführungszeichen nicht übergeben.

void OnTick()

{

CalcDisplay("EURUSDmicro"); //--------FUNCTION CALL-------

}

void CalcDisplay(string TxtCurrency) //--------FUNCTION-------

{

double Value=icustom(TxtCurrency,0,channel-signal",2,1);

...

...

..

}

Sie müssen keine Anführungszeichen übergeben. Es muss sich lediglich um eine Zeichenkette handeln.

___________________

PS: In Ihrem iCiustom-Aufruf fehlt ein Anführungszeichen. Es sieht jetzt wie folgt aus:

double Value=icustom(TxtCurrency,0,channel-signal",2,1);

und so muss es lauten:

double Wert=icustom(TxtWährung,0, "Kanal-Signal",2,1);

 

hallo alle von euch habe ich ein t4 Indikator unten beigefügt nur ich möchte wissen, wie kann ich diese für robo trading und robo trading oder ea sind gleich oder nicht

(ich benutze ihn bereits für den manuellen Handel und sitze vor dem Computer)

wenn ich dies für den automatisierten Handel verwenden, dann wie bitte helfen Sie mir, jemand Dank im Voraus

//------------------------------------------------------------------

// original ised und erste implementierung von mony

// tris version von mladen

//------------------------------------------------------------------

#eigentum copyright "mony & mladen"

#property link "made at www.forex.tsd.com"

#property indicator_chart_window

#Eigenschaft indicator_buffers 5

#property indicator_color1 Mittelblau

#property indicator_color2 Rot

#property indicator_color3 Mittelblau

#Eigenschaft indicator_color4 Rot

#Eigenschaft indicator_color5 Rot

#Eigenschaft indicator_width3 3

#Eigenschaft indicator_width4 3

#eigenschaft indicator_width5 3

#property strict

//

//

//

//

//

//

enum enDisplay

{

dis_line, // Farbige Linie anzeigen

dis_bars, // Anzeige von farbigen Balken

dis_both // Anzeige von farbigen Linien und Balken

};

extern int CCI-Zeitraum = 3; // CCI-Zeitraum

extern int ATRperiod = 300; // ATR-Zeitraum

extern ENUM_APPLIED_PRICE applied_price = PRICE_TYPICAL; // Zu verwendender Preis

extern enDisplay DisplayType = dis_line; // Anzeigeart

extern bool alertsOn = true; // Alarme einschalten

extern bool alertsOnCurrent = false; // Warnungen zum aktuellen (noch geöffneten) Takt

extern bool alertsMessage = true; // Alarme sollen eine Popup-Meldung anzeigen

extern bool alertsSound = true; // Alarme sollen Ton abspielen

extern bool alertsNotify = true; // Alerts sollen eine Benachrichtigung senden

extern bool alertsEmail = false; // Alerts sollen eine E-Mail senden

extern string soundFile = "o.wma"; // Sounddatei für akustische Warnungen verwenden

double TrLine[];

double TrendDowna[];

double TrendDownb[];

double HistUp[];

double HistDn[];

double Trend[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

int init()

{

IndicatorBuffers(6);

int styleLine = DRAW_LINE; if (DisplayType==dis_bars) styleLine=DRAW_NONE;

int styleBars = DRAW_HISTOGRAM; if (DisplayType==dis_line) styleBars=DRAW_NONE;

SetIndexBuffer(0, HistUp); SetIndexStyle(0,styleBars);

SetIndexBuffer(1, HistDn); SetIndexStyle(1,styleBars);

SetIndexBuffer(2, TrLine); SetIndexStyle(2,styleLine);

SetIndexBuffer(3, TrendDowna); SetIndexStyle(3,styleLine);

SetIndexBuffer(4, TrendDownb); SetIndexStyle(4,styleLine);

SetIndexBuffer(5, Trend);

return(0);

}

int deinit(){ return(0); }

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

int start()

{

int gezählte_Balken=IndicatorCounted();

if(gezählte_Balken<0) return(-1);

if(gezählte_Balken>0) gezählte_Balken--;

int limit = MathMin(Balken-gezählte_Balken,Balken-1);

//

//

//

//

//

if (trend[limit]==-1) CleanPoint(limit,TrendDowna,TrendDownb);

for(int i=limit; i >= 0; i--)

{

double cciTrendNow = iCCI(NULL, 0, CCIperiod, applied_price, i);

if (cciTrendNow >= 0)

{

TrLine = NormalizeDouble(Low - iATR(NULL, 0, ATRperiod, i),Digits);

if (i<(Bars-1) && TrLine < TrLine) TrLine = TrLine;

}

if (cciTrendNow <= 0)

{

TrLine = NormalizeDouble(High + iATR(NULL, 0, ATRperiod, i),Digits);

wenn (i TrLine) TrLine = TrLine;

}

//

//

//

//

//

TrendDowna = EMPTY_VALUE;

TrendDownb = EMPTY_VALUE;

if (i<(Bars-1))

{

Trend = Trend;

if (TrLine> TrLine) trend = 1;

wenn (TrLine< TrLine) trend =-1;

if (Trend == -1) PlotPoint(i,TrendDowna,TrendDownb,TrLine);

if (Trend == 1) { HistUp = High; HistDn = Low; }

if (Trend == -1) { HistDn = High; HistUp = Low; }

}

}

manageAlerts();

return(0);

}

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

//|

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

//

//

//

//

//

void manageAlerts()

{

if (alertsOn)

{

int whichBar = 1; if (alertsOnCurrent) whichBar = 0;

if (trend[whichBar] != trend[whichBar+1])

{

if (trend[whichBar] == 1) doAlert(whichBar, "up");

if (trend[welcherBalken] ==-1) doAlert(welcherBalken, "abwärts");

}

}

}

//

//

//

//

//

void doAlert(int forBar, string doWhat)

{

static string previousAlert="nichts";

static datetime previousTime;

string Nachricht;

if (previousAlert != doWhat || previousTime != Time[forBar]) {

previousAlert = doWhat;

previousTime = Time[forBar];

//

//

//

//

//

message = Symbol()+" at "+TimeToStr(TimeLocal(),TIME_SECONDS)+" SP MY trend changed to "+doWhat;

if (alertsMessage) Alert(message);

if (alertsNotify) SendNotification(Nachricht);

if (alertsEmail) SendMail(Symbol()+" S P MY",message);

if (alertsSound) PlaySound(soundFile);

}

}

//-------------------------------------------------------------------

//

//-------------------------------------------------------------------

//

//

//

//

//

void CleanPoint(int i,double& first[],double& second[])

{

if (i>=Bars-3) return;

if ((second != EMPTY_VALUE) && (second != EMPTY_VALUE))

second = EMPTY_VALUE;

sonst

if ((erste != EMPTY_VALUE) && (erste != EMPTY_VALUE) && (erste == EMPTY_VALUE))

first = EMPTY_VALUE;

}

void PlotPoint(int i,double& first[],double& second[],double& from[])

{

if (i>=Bars-2) return;

if (first == EMPTY_VALUE)

if (first == EMPTY_VALUE)

{ first = from; first = from; second = EMPTY_VALUE; }

else { second = from; second = from; first = EMPTY_VALUE; }

sonst { first = from; second = EMPTY_VALUE; }

}

s_p_mony__alerts_1.01.mq4

Dateien:
 
mony:
Hallo an alle, ich habe einen t4-Indikator unten beigefügt nur ich möchte wissen, wie kann ich diese für Robo-Trading und Robo-Trading oder ea sind gleich oder nicht verwenden

(Ich benutze es bereits manuellen Handel sitzen vor dem Computer, aber)

wenn ich dies für den automatisierten Handel verwenden, dann wie bitte helfen Sie mir jemand Dank im Voraus

//------------------------------------------------------------------

// original ised und erste implementierung von mony

// tris version von mladen

//------------------------------------------------------------------

#eigentum copyright "mony & mladen"

#property link "made at www.forex.tsd.com"

#property indicator_chart_window

#Eigenschaft indicator_buffers 5

#property indicator_color1 Mittelblau

#property indicator_color2 Rot

#property indicator_color3 Mittelblau

#Eigenschaft indicator_color4 Rot

#Eigenschaft indicator_color5 Rot

#Eigenschaft indicator_width3 3

#Eigenschaft indicator_width4 3

#eigenschaft indicator_width5 3

#property strict

//

//

//

//

//

//

enum enDisplay

{

dis_line, // Farbige Linie anzeigen

dis_bars, // Anzeige von farbigen Balken

dis_both // Anzeige von farbigen Linien und Balken

};

extern int CCI-Zeitraum = 3; // CCI-Zeitraum

extern int ATRperiod = 300; // ATR-Zeitraum

extern ENUM_APPLIED_PRICE applied_price = PRICE_TYPICAL; // Zu verwendender Preis

extern enDisplay DisplayType = dis_line; // Anzeigeart

extern bool alertsOn = true; // Alarme einschalten

extern bool alertsOnCurrent = false; // Warnungen zum aktuellen (noch geöffneten) Takt

extern bool alertsMessage = true; // Alarme sollen eine Popup-Meldung anzeigen

extern bool alertsSound = true; // Alarme sollen Ton abspielen

extern bool alertsNotify = true; // Alerts sollen eine Benachrichtigung senden

extern bool alertsEmail = false; // Alerts sollen eine E-Mail senden

extern string soundFile = "o.wma"; // Sounddatei für akustische Warnungen verwenden

double TrLine[];

double TrendDowna[];

double TrendDownb[];

double HistUp[];

double HistDn[];

double Trend[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

int init()

{

IndicatorBuffers(6);

int styleLine = DRAW_LINE; if (DisplayType==dis_bars) styleLine=DRAW_NONE;

int styleBars = DRAW_HISTOGRAM; if (DisplayType==dis_line) styleBars=DRAW_NONE;

SetIndexBuffer(0, HistUp); SetIndexStyle(0,styleBars);

SetIndexBuffer(1, HistDn); SetIndexStyle(1,styleBars);

SetIndexBuffer(2, TrLine); SetIndexStyle(2,styleLine);

SetIndexBuffer(3, TrendDowna); SetIndexStyle(3,styleLine);

SetIndexBuffer(4, TrendDownb); SetIndexStyle(4,styleLine);

SetIndexBuffer(5, Trend);

return(0);

}

int deinit(){ return(0); }

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

int start()

{

int gezählte_Balken=IndicatorCounted();

if(gezählte_Balken<0) return(-1);

if(gezählte_Balken>0) gezählte_Balken--;

int limit = MathMin(Balken-gezählte_Balken,Balken-1);

//

//

//

//

//

if (trend[limit]==-1) CleanPoint(limit,TrendDowna,TrendDownb);

for(int i=limit; i >= 0; i--)

{

double cciTrendNow = iCCI(NULL, 0, CCIperiod, applied_price, i);

if (cciTrendNow >= 0)

{

TrLine = NormalizeDouble(Low - iATR(NULL, 0, ATRperiod, i),Digits);

if (i<(Bars-1) && TrLine < TrLine) TrLine = TrLine;

}

if (cciTrendNow <= 0)

{

TrLine = NormalizeDouble(High + iATR(NULL, 0, ATRperiod, i),Digits);

wenn (i TrLine) TrLine = TrLine;

}

//

//

//

//

//

TrendDowna = EMPTY_VALUE;

TrendDownb = EMPTY_VALUE;

if (i<(Bars-1))

{

Trend = Trend;

if (TrLine> TrLine) trend = 1;

wenn (TrLine< TrLine) trend =-1;

if (Trend == -1) PlotPoint(i,TrendDowna,TrendDownb,TrLine);

if (Trend == 1) { HistUp = High; HistDn = Low; }

if (Trend == -1) { HistDn = High; HistUp = Low; }

}

}

manageAlerts();

return(0);

}

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

//|

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

//

//

//

//

//

void manageAlerts()

{

if (alertsOn)

{

int whichBar = 1; if (alertsOnCurrent) whichBar = 0;

if (trend[whichBar] != trend[whichBar+1])

{

if (trend[whichBar] == 1) doAlert(whichBar, "up");

if (trend[welcherBalken] ==-1) doAlert(welcherBalken, "abwärts");

}

}

}

//

//

//

//

//

void doAlert(int forBar, string doWhat)

{

static string previousAlert="nichts";

static datetime previousTime;

string Nachricht;

if (previousAlert != doWhat || previousTime != Time[forBar]) {

previousAlert = doWhat;

previousTime = Time[forBar];

//

//

//

//

//

message = Symbol()+" at "+TimeToStr(TimeLocal(),TIME_SECONDS)+" SP MY trend changed to "+doWhat;

if (alertsMessage) Alert(message);

if (alertsNotify) SendNotification(Nachricht);

if (alertsEmail) SendMail(Symbol()+" S P MY",message);

if (alertsSound) PlaySound(soundFile);

}

}

//-------------------------------------------------------------------

//

//-------------------------------------------------------------------

//

//

//

//

//

void CleanPoint(int i,double& first[],double& second[])

{

if (i>=Bars-3) return;

if ((second != EMPTY_VALUE) && (second != EMPTY_VALUE))

second = EMPTY_VALUE;

sonst

if ((erste != EMPTY_VALUE) && (erste != EMPTY_VALUE) && (erste == EMPTY_VALUE))

first = EMPTY_VALUE;

}

void PlotPoint(int i,double& first[],double& second[],double& from[])

{

if (i>=Bars-2) return;

if (first == EMPTY_VALUE)

if (first == EMPTY_VALUE)

{ first = from; first = from; second = EMPTY_VALUE; }

else { second = from; second = from; first = EMPTY_VALUE; }

sonst { first = from; second = EMPTY_VALUE; }

}

s_p_mony__alerts_1.01.mq4

Haben Sie schon versucht, den iCustom()-Aufruf aus dem EA zu verwenden?

Alles, was Sie tun müssen, ist, den Indikator mit der Funktion iCustom() aufzurufen, den Trendpuffer (Puffer 5 in der Metatrader-Nominierung) zu lesen und wenn sich der Wert von -1 auf +1 oder von +1 auf -1 ändert, haben Sie ein Signal

 

Sir Sir bitte tut mir leid, Sir ......... Ich weiß nicht, was ist iCustom() Aufruf.. und wo es kann ich versuchen? ...... wo finde ich es in mt4 oder wenn modifizieren Indikator nur sagen Sie mir, wie kann ich diese S P mony Indikator in den automatischen Handel / Robo-Trading das ist es, Sir ..................

wenn dies alle langwierigen Prozess dann bitte entschuldigen Sie mich und bitte vergessen oben Beiträge thankyou Sir