KARAUL!!! HILFE. Noch 4 Stunden und 45 Minuten!!!

 

Kann mir bitte jemand helfen? Ich weiß nicht, wo der Fehler liegt.

Code:

//+------------------------------------------------------------------+
//| Cempionat2012.mq5 |
//| Victor Pavlyuk |
//| |
//+------------------------------------------------------------------+
#property copyright "Viktor Pawljuk"
#Eigenschaft Version "1.03"

Eingabe int TakeProfit=538;
Eingabe int StopLoss=1000;
Eingabe int TradeTime=13;
Eingabe int t1=7;
Eingabe int t2=1;
Eingabe int delta=70;
Eingabe double lot=5;

bool cantrade=true;
doppelt fragen;
doppeltes Gebot;
int OpenLong(double volume=5,
int Schlupf=10000,
string comment="",
int magic=888)
{
MqlTradeRequest my_trade;
MqlTradeResult my_trade_result;

my_trade.action=TRADE_ACTION_DEAL;
my_trade.symbol=Symbol();
my_trade.volume=NormalizeDouble(volume,1);
my_trade.price=NormalizeDouble(Ask,_Digits);
my_trade.sl=NormalizeDouble(Ask-StopLoss*_Point,_Digits);
my_trade.tp=NormalizeDouble(Ask+TakeProfit*_Point,_Digits);
my_trade.deviation=slippage;
my_trade.type=ORDER_TYPE_BUY;
my_trade.type_filling=ORDER_FILLING_RETURN;
my_trade.comment=Kommentar;
my_trade.magic=magic;

ResetLastError();

if(OrderSend(my_trade,my_trade_result))
{
Print("Code des Transaktionsergebnisses - ",my_trade_result.retcode)
}
sonst
{
Print("Operation result code - ",my_trade_result.retcode);
Print("Fehler beim Öffnen der Bestellung = ",GetLastError());
}
zurück(0);
}
int OpenShort(double volume=5,
int Schlupf=10000,
string comment="",
int magic=888)
{
MqlTradeRequest my_trade;
MqlTradeResult my_trade_result;

my_trade.action=TRADE_ACTION_DEAL;
my_trade.symbol=Symbol();
my_trade.volume=NormalizeDouble(volume,1);
my_trade.price=NormalizeDouble(Ask,_Digits);
my_trade.sl=NormalizeDouble(Ask-StopLoss*_Point,_Digits);
my_trade.tp=NormalizeDouble(Ask+TakeProfit*_Point,_Digits);
my_trade.deviation=slippage;
my_trade.type=ORDER_TYPE_SELL;
my_trade.type_filling=ORDER_FILLING_RETURN;
my_trade.comment=Kommentar;
my_trade.magic=magic;

ResetLastError();

if(OrderSend(my_trade,my_trade_result))
{
Print("Code des Transaktionsergebnisses - ",my_trade_result.retcode)
}
sonst
{
Print("Operation result code - ",my_trade_result.retcode);
Print("Fehler beim Öffnen der Bestellung = ",GetLastError());
}
zurück(0);
}
int OnInit()
{
zurück(0);
}
void OnDeinit(const int reason){}
void OnTick()
{
double Open[];
MqlDateTime mqldt;
TimeCurrent(mqldt);
int len;
MqlTick last_tick;
SymbolInfoTick(_Symbol,last_tick);
Ask=last_tick.ask;
Bid=last_tick.bid;

ArraySetAsSeries(Open,true);

if(t1>=t2)len=t1+1;
sonst len=t2+1;

CopyOpen(_Symbol,PERIOD_M30,0,len,Open);

if(((mqldt.hour)>TradeTime))

if(!PositionSelect(_Symbol))// wenn noch keine Position geöffnet ist
{
if((mqldt.hour==TradeTime) && (cantrade))
{
if(Open[t1]>(Open[t2]+delta*_Point))
{
OpenShort(lot,10,",888);
cantrade=false;
Rückkehr;

}

if((Open[t1]+delta*_Point)<Open[t2])
{
OpenLong(lot,10,"",888);
{ return; }((Open[t1]+delta*_Point)=false;
Rückkehr;
}

}
}
Rückkehr;
}
//+------------------------------------------------------------------+

Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
Dateien:
 

Die MqlTradeRequest-Struktur sollte gelöscht werden, bevor die

Mehr lesen

 
GGG, ich frage mich, wie viele Leute einen Satz im Kopf haben, der mit dem Thema dieses Threads übereinstimmt. :)
 
//+------------------------------------------------------------------+
//| Cempionat2012.mq5 |
//| Victor Pavlyuk |
//| |
//+------------------------------------------------------------------+
#property copyright "Victor Pavljuk"
#property version "1.03"

input int TakeProfit=538;
input int StopLoss=1000;
input int TradeTime=13;
input int t1=7;
input int t2=1;
input int delta=70;
input double lot=5;

bool cantrade=true; 
double Ask; 
double Bid; 
int OpenLong(double volume=5,
int slippage=10000,
string comment="",
int magic=888)
{
MqlTradeRequest my_trade;
MqlTradeResult my_trade_result;

my_trade.action=TRADE_ACTION_DEAL;
my_trade.symbol=Symbol();
my_trade.volume=NormalizeDouble(volume,1);
my_trade.price=NormalizeDouble(Ask,_Digits);
my_trade.sl=NormalizeDouble(Ask-StopLoss*_Point,_Digits);
my_trade.tp=NormalizeDouble(Ask+TakeProfit*_Point,_Digits);
my_trade.deviation=slippage;
my_trade.type=ORDER_TYPE_BUY;
my_trade.type_filling=ORDER_FILLING_RETURN;
my_trade.comment=comment;
my_trade.magic=magic;

ResetLastError();

if(OrderSend(my_trade,my_trade_result))
{
Print("Код результата операции - ",my_trade_result.retcode);
}
else
{
Print("Код результата операции - ",my_trade_result.retcode);
Print("Ошибка открытия ордера = ",GetLastError());
}
return(0);
}
int OpenShort(double volume=5,
int slippage=10000,
string comment="",
int magic=888)
{
MqlTradeRequest my_trade;
MqlTradeResult my_trade_result;

my_trade.action=TRADE_ACTION_DEAL;
my_trade.symbol=Symbol();
my_trade.volume=NormalizeDouble(volume,1);
my_trade.price=NormalizeDouble(Ask,_Digits);
my_trade.sl=NormalizeDouble(Ask-StopLoss*_Point,_Digits);
my_trade.tp=NormalizeDouble(Ask+TakeProfit*_Point,_Digits);
my_trade.deviation=slippage;
my_trade.type=ORDER_TYPE_SELL;
my_trade.type_filling=ORDER_FILLING_RETURN;
my_trade.comment=comment;
my_trade.magic=magic;

ResetLastError();

if(OrderSend(my_trade,my_trade_result))
{
Print("Код результата операции - ",my_trade_result.retcode);
}
else
{
Print("Код результата операции - ",my_trade_result.retcode);
Print("Ошибка открытия ордера = ",GetLastError());
}
return(0);
}
int OnInit()
{
return(0);
}
void OnDeinit(const int reason){}
void OnTick()
{
double Open[];
MqlDateTime mqldt;
TimeCurrent(mqldt);
int len;
MqlTick last_tick;
SymbolInfoTick(_Symbol,last_tick);
Ask=last_tick.ask;
Bid=last_tick.bid;

ArraySetAsSeries(Open,true);

if(t1>=t2)len=t1+1;
else len=t2+1;

CopyOpen(_Symbol,PERIOD_M30,0,len,Open);

if(((mqldt.hour)>TradeTime)) cantrade=true;

if(!PositionSelect(_Symbol))// Если еще нет открытой позиции
{
if((mqldt.hour==TradeTime) && (cantrade))
{
if(Open[t1]>(Open[t2]+delta*_Point))
{
OpenShort(lot,10,"",888);
cantrade=false;
return;

}

if((Open[t1]+delta*_Point)<Open[t2])
{
OpenLong(lot,10,"",888);
cantrade=false;
return;
}

}
}
return;
}
//+------------------------------------------------------------------+
Für den Anfang, nur um das klarzustellen
 

Ich glaube, das ist ein Code für die Frage, warum TP und SL gleich Asku sind.

Nur dass es einen anderen Autor gibt.

IMHO.

 

kann die Struktur aus der Funktion herausnehmen:

oder der Schlupf ist zu groß, warum sollte man das so sagen?

und warum gibt es ein zusätzliches Paar Klammern?

if(((mqldt.hour)>TradeTime))

 

Es ist möglich, die Öffnungsfunktion nach Typ umzuschreiben:

void PosOpen(int trade, string symbol)
  {if (trade==0)
   return;
   
   double Price;
   ENUM_ORDER_TYPE Type;
   
   if (trade==1)
    {Type= ORDER_TYPE_BUY;
     Price=SymbolInfoDouble(symbol,SYMBOL_ASK);}
   else 
    {Type = ORDER_TYPE_SELL;
     Price=SymbolInfoDouble(symbol,SYMBOL_BID);}
     
   mytrade.PositionOpen(symbol,Type,Lot,Price,0,0,"Open");    
 return;
 }    
 
Heroix:

Es ist möglich, die Öffnungsfunktion nach Typ umzuschreiben:

dann geben Sie zumindest an, aus welchen Bibliotheken die Funktionen stammen.

 

Während des Tests sehe ich Meldungen im Protokoll.

2012.09.21 20:07:11 Core 1 2012.09.18 13:00:00 fehlgeschlagen Sofortverkauf 5,00 EURUSD bei 1,30657 sl: 1,29657 tp: 1,31195 [Ungültige Anfrage]

 
pavivas:

Während des Tests sehe ich Meldungen im Protokoll.

2012.09.21 20:07:11 Core 1 2012.09.18 13:00:00 fehlgeschlagen Sofortverkauf 5,00 EURUSD bei 1,30657 sl: 1,29657 tp: 1,31195 [Ungültige Anfrage]

Hier hätten Sie anfangen müssen.
 
Vladon:

dann geben Sie zumindest an, aus welchen Bibliotheken die Funktionen stammen.

#include <Handel.mqh>

Übrigens befindet es sich standardmäßig im Terminal-Ordner, nicht wahr? Es sollte nicht mit dem EA auf dem Klotz verbunden sein?

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5