[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 149
Leute, wo ist der Fehler suchen....a dann öffnet mehrere Positionen auf das Signal, und manchmal verpasst die Signale....a dann nach dem Auslösen eines Stopps oder Gewinn auf das Paar, öffnet eine neue....
Look.... Bedingungen: Gleichzeitiges Kreuzen des RSI mit den Perioden 14 und 17 des Niveaus 30 von unten nach oben und des Aufwärtstrends 70 von oben nach unten...
Leute, wo ist der Fehler suchen....a dann öffnet mehrere Positionen auf das Signal, und manchmal verpasst die Signale....a dann nach dem Auslösen eines Stopps oder Gewinn auf das Paar, öffnet eine neue....
Look.... Bedingungen: Gleichzeitiges Kreuzen des RSI mit den Perioden 14 und 17 des Niveaus 30 von unten nach oben und des Aufwärtstrends 70 von oben nach unten...
if (( diRSI1<30 && diRSI2<30)){
OpenBuy();
return(0);
}
if (diRSI1>70 && diRSI2>70){
OpenSell();
return(0);
}
Ich würde es so machen und auch einen Kaufstopp und keinen Verkaufsstopp setzen.
todem: Ich würde es so machen und einen Kauf-Stopp setzen und nicht einen Verkauf
Ha... Ihre Art und Weise, mit jedem Wert unter 30 öffnet einen Handel!!!!!!! dies ist inakzeptabel.... ich brauche eine 30 Level Cross von unten nach oben!!!!!
und die Werte
A1=diRSI1;
A2=diRSI2;
dies sind nur die Werte des RSI der vorherigen Kerze Eröffnung.... sie müssen nur weniger als 30 sein!!! alles ist richtig hier ... Ich verstehe nur nicht, warum Trades in ein paar Stücke auf ein Signal geöffnet werden!
Ha... your way any value less than 30 opens a trade!!!!!!! this is inacceptable.... i need a 30 level cross from bottom up!!!!!
und die Werte
dies sind nur die RSI-Werte der vorherigen Eröffnung Kerze.... sie müssen nur weniger als 30 sein !!! alles ist richtig hier ... Ich verstehe nur nicht, warum Trades mehrmals auf ein Signal geöffnet werden !
Wenn Sie einen Handel eröffnen wollen, können Sie nicht 386 eröffnen, es ist viel schneller als das, was eine Million Geschäfte in einer Sekunde ausführt. Die Kontrolle der Eröffnung eines Handels erfolgt durch die Kontrolle der offenen Handelsgeschäfte. Wenn Sie insgesamt 0 Geschäfte haben, öffnen Sie sie, wenn nicht, sind Sie fertig.
todem: Wenn Sie wollen, dass es einen Handel eröffnet, wird es nicht funktionieren - es ist ein 386er Computer, und er ist viel schneller, der eine Million Geschäfte in 1 Sekunde macht. Die Kontrolle der Öffnung eines Geschäfts erfolgt durch die Kontrolle der geöffneten Geschäfte. Wenn Sie insgesamt 0 Geschäfte haben, öffnen Sie sie, wenn nicht, sind Sie fertig.
Hmmm... das ist der Punkt, wenn es eine Million Geschäfte gibt, dann sollte das Geschäft einmal eröffnet werden....
OK, ich werde es irgendwie herausfinden))) wenn es einen Code für die Kontrolle des Handels gibt, lass es mich wissen...bitte))
Hmmm... Das ist die Sache - wenn es eine Million Transaktionen gibt, dann sollte die Transaktion durch eine Transaktion eröffnet werden...
OK, ich werde es irgendwie herausfinden))) wenn es einen Code für die Transaktionskontrolle gibt, geben Sie ihn mir bitte))
int OrdCon(int nap, int MGV)
{
int result=0;
for (int i=0;i<OrdersTotal();i++) {
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if ((nap==0) && (OrderSymbol() == Symbol())&& (OrderMagicNumber() == MGV)) {
result=result+1; // открыт ордер бай
}
if ((nap==1) && (OrderSymbol() == Symbol()) && (OrderMagicNumber() == MGV)) {
result=result+1; // открытый ордер селл
}
}
return(result); // 0 means we have no trades
}
if ((nap==0) && (OrderSymbol() == Symbol())&& (OrderMagicNumber() == MGV)) {
result=result+1; // открыт ордер бай
}
if ((nap==1) && (OrderSymbol() == Symbol()) && (OrderMagicNumber() == MGV)) {
result=result+1; // открытый ордер селл
}
und auf welcher Grundlage wird dann geschlossen, dass der offene Auftrag entweder ein Verkauf oder ein Kauf ist?
Hier ist der gesamte obige Code:
int OrdCon(int nap, int MGV)
{
int result=0;
for (int i=0;i<OrdersTotal();i++) {
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if ((nap==0) && (OrderSymbol() == Symbol())&& (OrderMagicNumber() == MGV)) {
result=result+1; // открыт ордер бай
}
if ((nap==1) && (OrderSymbol() == Symbol()) && (OrderMagicNumber() == MGV)) {
result=result+1; // открытый ордер селл
}
}
return(result); // 0 means we have no trades
}
//+------------------------------------------------------------------+//| 20/200 expert.mq4 |//| 1H EUR/USD |//| Smirnov Pavel |//| www.autoforex.ru |//+------------------------------------------------------------------+#property copyright "Smirnov Pavel"#property link "www.autoforex.ru"externint TakeProfit = 20; // Уровень тейкпрофит в пунктахexternint StopLoss = 200; // уровень стоплосс в пунктахexternint TradeTime=18;
externint t1=7;
externint t2=2;
externint delta=7;
externint dayout=1;
externdouble lot = 0.1;
int ticket;
bool cantrade=true;
int OpenLong(double volume=0.1)
{
int slippage=10;
string comment="20/200 expert (Long)";
color arrow_color=Red;
int magic=0;
ticket=OrderSend(Symbol(),OP_BUY,volume,Ask,slippage,Ask-StopLoss*Point,
Ask+TakeProfit*Point,comment,magic,0,arrow_color);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
{
Print("Buy order opened : ",OrderOpenPrice());
return(0);
}
}
else
{
Print("Error opening Buy order : ",GetLastError());
return(-1);
}
}
int OpenShort(double volume=0.1)
{
int slippage=10;
string comment="20/200 expert (Short)";
color arrow_color=Red;
int magic=0;
ticket=OrderSend(Symbol(),OP_SELL,volume,Bid,slippage,Bid+StopLoss*Point,
Bid-TakeProfit*Point,comment,magic,0,arrow_color);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
{
Print("Sell order opened : ",OrderOpenPrice());
return(0);
}
}
else
{
Print("Error opening Sell order : ",GetLastError());
return(-1);
}
}
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
if((TimeHour(TimeCurrent())>TradeTime)) cantrade=true;
// проверяем есть ли открытые ордера ...if(OrdersTotal()<1)
{
// ... если нет ни одного открытого ордера, то идем дальше// проверяем настало ли время для торговлиif((TimeHour(TimeCurrent())==TradeTime)&&(cantrade)&&(TimeDayOfWeek(TimeCurrent())!=dayout))
{
// ... если настало время, тоif ((Open[t1]-Open[t2])>delta*Point) //Если цена изменилась на величину delta
{
//условие выполнено значит входим в короткую позицию:// проверяем есть ли свободные деньги для открытия короткой позицииif(AccountFreeMarginCheck(Symbol(),OP_SELL,lot)<=0 || GetLastError()==134)
{
Print("Not enough money");
return(0);
}
OpenShort(lot);
cantrade=false; //запрещаем торговать повторно до следующего бараreturn(0);
}
if ((Open[t2]-Open[t1])>delta*Point) //Если цена изменилась на величину delta
{
// условие выполнено значит входим в длинную позицию// проверяем есть ли свободные деньги на счетуif(AccountFreeMarginCheck(Symbol(),OP_BUY,lot)<=0 || GetLastError()==134)
{
Print("Not enough money");
return(0);
}
OpenLong(lot);
cantrade=false;
return(0);
}
}
}
return(0);
}
Leute, wo ist der Fehler suchen....a dann öffnet mehrere Positionen auf das Signal, und manchmal verpasst die Signale....a dann nach dem Auslösen eines Stopps oder Gewinn auf das Paar, öffnet eine neue....
Look.... Bedingungen: Gleichzeitiges Kreuzen des RSI mit den Perioden 14 und 17 des Niveaus 30 von unten nach oben und des Aufwärtstrends 70 von oben nach unten...
Leute, wo ist der Fehler suchen....a dann öffnet mehrere Positionen auf das Signal, und manchmal verpasst die Signale....a dann nach dem Auslösen eines Stopps oder Gewinn auf das Paar, öffnet eine neue....
Look.... Bedingungen: Gleichzeitiges Kreuzen des RSI mit den Perioden 14 und 17 des Niveaus 30 von unten nach oben und des Aufwärtstrends 70 von oben nach unten...
Ich würde es so machen und einen Kauf-Stopp setzen und nicht einen Verkauf
Ha... Ihre Art und Weise, mit jedem Wert unter 30 öffnet einen Handel!!!!!!! dies ist inakzeptabel.... ich brauche eine 30 Level Cross von unten nach oben!!!!!
und die Werte
dies sind nur die Werte des RSI der vorherigen Kerze Eröffnung.... sie müssen nur weniger als 30 sein!!! alles ist richtig hier ... Ich verstehe nur nicht, warum Trades in ein paar Stücke auf ein Signal geöffnet werden!
Ich würde es so machen, und es würde nicht sofort auf kaufen, sondern auf bystop und nicht auf verkaufen, sondern auf sellstop gestellt werden.
Ha... your way any value less than 30 opens a trade!!!!!!! this is inacceptable.... i need a 30 level cross from bottom up!!!!!
und die Werte
dies sind nur die RSI-Werte der vorherigen Eröffnung Kerze.... sie müssen nur weniger als 30 sein !!! alles ist richtig hier ... Ich verstehe nur nicht, warum Trades mehrmals auf ein Signal geöffnet werden !
Wenn Sie wollen, dass es einen Handel eröffnet, wird es nicht funktionieren - es ist ein 386er Computer, und er ist viel schneller, der eine Million Geschäfte in 1 Sekunde macht. Die Kontrolle der Öffnung eines Geschäfts erfolgt durch die Kontrolle der geöffneten Geschäfte. Wenn Sie insgesamt 0 Geschäfte haben, öffnen Sie sie, wenn nicht, sind Sie fertig.
Hmmm... das ist der Punkt, wenn es eine Million Geschäfte gibt, dann sollte das Geschäft einmal eröffnet werden....
OK, ich werde es irgendwie herausfinden))) wenn es einen Code für die Kontrolle des Handels gibt, lass es mich wissen...bitte))
Hmmm... Das ist die Sache - wenn es eine Million Transaktionen gibt, dann sollte die Transaktion durch eine Transaktion eröffnet werden...
OK, ich werde es irgendwie herausfinden))) wenn es einen Code für die Transaktionskontrolle gibt, geben Sie ihn mir bitte))
Hier ist die Funktion
und auf welcher Grundlage wird dann geschlossen, dass der offene Auftrag entweder ein Verkauf oder ein Kauf ist?
Hier ist der gesamte obige Code:
Hier habe ich Ihr PSI mit meinem Ratgeber optimiert