Grundlegende Fragen ... - Seite 9

 
Zen_Leow:
matrixebiz, haben Sie die Möglichkeit in Betracht gezogen, dass ein Handel in derselben Kerze eröffnet und geschlossen wurde, bevor die Kerze geschlossen wurde? Sie sollten wahrscheinlich auch die History-Liste überprüfen.

Ich habe diese kleine Funktion, die ich geschrieben habe, immer auf alle meine EAs portiert, vielleicht finden Sie sie auch nützlich.

bool DecideToOpenTrade()

{

int total = OrdersTotal();

if (total > 0)

{

for(int cnt=0;cnt<total;cnt++)

{

if(OrderSelect(cnt,SELECT_BY_POS))

{

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

{

return (false);

}

}

}

}

// in case trades has already opened and closed within the candle

int histotal = OrdersHistoryTotal();

if (histotal > 0)

{

for(cnt=0;cnt<histotal;cnt++)

{

if(OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY))

{

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

{

if (Time[0] <= OrderOpenTime()) // don't open a new position if we're still on the same candle

{

return (false);

}

}

}

}

}

return (true);

}

int start()

{

// some time check codes first.. blah blah

// ...

// ...

// ...

// check signals

if (Should_Buy())

{

if (DecideToOpenTrade())

{

//... trade opening codes here

}

}

if (Should_Sell())

{

if (DecideToOpenTrade())

{

//... trade opening codes here

}

}

}

Hinweis: Diese Funktion setzt voraus, dass Sie einen eindeutigen Wert für EA_MAGIC_NUM festgelegt haben. Auf diese Weise werden keine von anderen EAs eröffneten Trades überprüft.

Should_Buy() und Should_Sell() sind Funktionen, die ich in allen meinen EAs erstelle, um festzustellen, ob ein Kauf- oder Verkaufssignal aufgetreten ist.

Ich hoffe, das hilft Ihnen. Schreiben Sie mir eine PM, wenn Sie weitere Erklärungen benötigen.

Grüße,

Zen

Danke Zen Ich denke, das wird mir gut tun nur wahrscheinlich müssen ein paar Änderungen vornehmen, weil mein EA ist ein Multi-Währungshandel EA, so dass das ist, warum ich nicht in der Lage war, für eine bestimmte Währung zu überprüfen, nicht zu wissen, welche Währungspaar der EA mit gehandelt hatte, daher der Grund, warum der Code, den ich zu ändern, um für eine bestimmte OrderComment() anstelle von dem, was Sie haben OrderSymbol() suchen müssen. Ich habe den folgenden Code verwendet, um zu prüfen, ob bereits Trades vorhanden sind, hatte aber Probleme mit der Prüfung, ob Trades bereits auf demselben Bar geschlossen wurden.

for(int i=totalorders-1;i>=0;i--)

{

OrderSelect(i, SELECT_BY_POS);

if (OrderComment() == EA_Name + MagicNumber) GoOrders = false; }

if (GoOrders){orders();}

 

1 Handel pro Signal

Hallo an alle, die helfen können

ich bin sehr neu in der Programmierung und habe ein Problem mit einem ea, an dem ich arbeite. Ich würde sehr gerne, dass dieses ea einen Handel platziert und dann auf ein weiteres Signal wartet, bevor es einen weiteren Handel eingeht.

im Moment platziert es einen Handel und sobald dieser Handel geschlossen ist, geht es wieder in einen anderen Handel ein, ohne auf das nächste Signal zu warten. Ich würde gerne wissen, ob jemand den Code kennt, den ich verwende, um auf das nächste Signal zu warten, bevor ich wieder einsteige

Danke für jede Hilfe im Voraus

 

Bitte helfen Sie mir, diesen Fehler zu beheben

Im arbeiten auf diesem expert recently.but immer noch nicht löschen können diesen Fehler, so dass ich wirklich hoffe, jemand hier kann mir helfen, diese Experten schließen einen Auftrag, wenn die Bedingung ist in opposite direction.Please...

unten sind die Fehler;

2009.01.07 08:46:58 2008.05.28 04:20 USDJPY,H1: unbekanntes Ticket 197 für OrderClose Funktion

2009.01.07 08:46:58 2008.05.28 04:20 USDJPY,H1: OrderClose Fehler 4108

vielen Dank im Voraus.

int start()

{

if( iMA(NULL,0,5, 0,MODE_EMA, PRICE_CLOSE, 0) <iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0)

)

{

OrderSend(Symbol( ),OP_SELL, Lots,Bid, 0,Bid+StopLoss* Point,Bid- TakeProfit* Point,"", SystemMagicNumbe r,0,Red);

return(0);

}

if( iMA(NULL,0,5, 0,MODE_EMA, PRICE_CLOSE, 0)>iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0)

)

{

OrderSend(Symbol( ),OP_BUY, Lots,Ask, 0,Ask-StopLoss* Point,Ask+ TakeProfit* Point,"", SystemMagicNumbe r,0,Blue) ;

return(0);

}

if (OrderType() ==OP_SELL)

{

if (iMA(NULL,0, 5,0,MODE_ EMA, PRICE_CLOSE, 0)>iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0))

{

OrderClose(SystemMa gicNumber, Lots,OrderCloseP rice(),0) ;

return(0);

}

}

if (OrderType() ==OP_BUY)

{

if (iMA(NULL,0, 5,0,MODE_ EMA, PRICE_CLOSE, 0)<iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0))

{

OrderClose(SystemMa gicNumber, Lots,OrderCloseP rice(),0) ;

return(0);

}

}

 

Wie man ein endliches Linienobjekt erstellt

Es ist möglich, trendline_object zu erstellen, das unendlich ist. Aber wie kann ich eine endliche Linie von einem Punkt zu einem anderen zeichnen? Vielen Dank für jede Antwort.

 
MetaMaster:
Es ist möglich, trendline_object zu erstellen, das unendlich ist. Aber wie kann ich eine endliche Linie von einem Punkt zum anderen zeichnen? Ich danke Ihnen für jede Antwort.

OBJPROP_RAY auf false setzen

 

Der EA sendet jeden Tick nach dem Signal einen Auftrag. HILFE.

Ich lerne gerade, wie man einen EA erstellt.

Wie kann ich EA dazu bringen, dass er versteht, dass ich nur einen Auftrag bei jedem einzelnen Signal senden möchte.

Die Logik ist

bevor es ein Signal gibt, bleibt es ruhig,

sofort nach dem Signal erscheinen, es senden, um, einmal.

und auf ein weiteres Signal warten.

Das Problem ist

Diese Ea sollte in der Lage sein, einen Auftrag zu senden, unabhängig davon, ob der vorherige Auftrag liquidiert wurde oder nicht.

Ich kann sie also nicht so kodieren, dass sie die Order erst nach Abschluss der vorherigen Order sendet.

Ich danke Ihnen.

 

Hilfe für ea base on indicator

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

liebe alle

ich habe einen Indikator (3ma cross mit Signal), den ich in ein ea umwandeln muss. Kann ich ind init() zu expert init() und ind start() zu expert start() kopieren und dann die Funktion sell und buy setzen, wenn der Pfeil mir ein Signal gibt?

Ich habe es getan, aber es hat nicht funktioniert.

Dateien:
 

Hilfe bei Codierungsproblem

Hallo

Ich versuche, einen sehr einfachen EA zu schreiben, der eine Reihe von schwebenden Aufträgen in festen Intervallen öffnet. In der Anwendung öffnet es die Aufträge, aber dann hält auf sie endlos zu öffnen. Wie kann ich ihn so kodieren, dass die Aufträge nur einmal geöffnet werden, und wenn ein Auftrag live wird und TP oder SL erreicht, wird er durch einen neuen schwebenden Auftrag aus der ursprünglichen Liste ersetzt?

Vielen Dank für jede angebotene Hilfe,

Dan

 

Ein Handel pro magischer Zahl?

Ich schreibe ein Skript für einen EA, der auf der Grundlage manueller Handelsentscheidungen automatisch einen Handel eröffnet. Ich schaue mir zum Beispiel das Diagramm an und bestimme, zu welchem Preis ich den Auftrag eröffnen möchte, was der Stop und Take ist, usw... Dann stelle ich den EA ein, und wenn der Preis erreicht ist, wird er den Handel eröffnen.

Ich muss es so einrichten, dass der EA nur einen Handel pro magischer Zahl eröffnet. Ich werde die magische Zahl manuell einstellen und jede Zahl wird einzigartig sein. Auf diese Weise, wenn der Handel geöffnet ist und dann gestoppt, die EA wird nicht versuchen, einen anderen Handel zu öffnen, wenn der Handelspreis wieder erreicht wird.

Haben Sie eine Idee, wie ich das am besten erreichen kann? Einige Code-Beispiele wären ebenfalls hilfreich

 

...

jerzzhere:
Ich schreibe ein Skript für einen EA, der auf der Grundlage manueller Handelsentscheidungen automatisch einen Handel eröffnet. Ich schaue mir zum Beispiel den Chart an und entscheide, zu welchem Preis ich die Order eröffnen möchte, was der Stop und Take ist, etc... Dann stelle ich den EA ein, und wenn der Preis erreicht ist, wird er den Handel eröffnen.

Ich muss es so machen, dass der EA nur einen Handel pro magischer Zahl öffnet. Ich werde die magische Zahl manuell einstellen und jede Zahl wird eindeutig sein. Auf diese Weise, wenn der Handel geöffnet ist und dann gestoppt aus der EA wird nicht versuchen, einen anderen Handel zu öffnen, wenn der Handelspreis wieder erreicht wird.

Irgendwelche Ideen, wie man dies am besten erreichen kann? Einige Code-Beispiele wären ebenfalls hilfreich

Ich hatte einen Tread in diesem Forum, der eine Lösung für die magische Zahl enthielt... leider haben Davidke und Walander meine innovativen Ideen gehasst und im ganzen Forum Stunk gemacht... folglich wurde mein Tread gelöscht...