Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
//| Cempionat2010.mq5 |
//| Victor Pavlyuk |
//| |
//+------------------------------------------------------------------+
#property copyright "Victor Pavljuk"
#property version "1.00"
input int StartHour = 10;
input int EndHour = 20;
input double Lots = 5;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnInit()
{
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick()
{
MqlTradeRequest request;
MqlTradeResult result;
MqlDateTime dt;
bool bord=false, sord=false;
bool bords=false, sords=false;
int i;
ulong ticket;
datetime t[];
double h[], l[], ma[], atr_h[], atr_l[],
lev_h, lev_l,
Spread =NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_ASK) - SymbolInfoDouble(Symbol(),SYMBOL_BID),_Digits);
request.symbol =Symbol();
request.volume =Lots;
request.tp =0;
request.deviation =0;
request.type_filling=ORDER_FILLING_RETURN;
TimeCurrent(dt);
i=(dt.hour+1)*60;
if(CopyTime(Symbol(),0,0,i,t)<i || CopyHigh(Symbol(),0,0,i,h)<i || CopyLow(Symbol(),0,0,i,l)<i)
{
Print("Не удалось скопировать таймсерию!");
return;
}
ArraySetAsSeries(t,true);
ArraySetAsSeries(h,true);
ArraySetAsSeries(l,true);
lev_h=h[0];
lev_l=l[0];
for(i=1;i<ArraySize(t) && MathFloor(t[i]/86400)==MathFloor(t[0]/86400);i++)
{
if(h[i]>lev_h) lev_h=h[i];
if(l[i]<lev_l) lev_l=l[i];
}
lev_h+=Spread+_Point;
lev_l-=_Point;
for(i=0;i<OrdersTotal();i++)
{
ticket=OrderGetTicket(i);
if(OrderGetString(ORDER_SYMBOL)==Symbol())
{
if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY_STOP)
{
if(dt.hour>=StartHour && dt.hour<EndHour )
{
Print("Есть ордер byu2!");
return;
}
else
{
request.action=TRADE_ACTION_REMOVE;
request.order=ticket;
OrderSend(request,result);
return;
}
bords=true;
}
if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_SELL_STOP)
{
if(dt.hour>=StartHour && dt.hour<EndHour )
{
Print("Есть ордер Sel2");
return;
}
else
{
request.action=TRADE_ACTION_REMOVE;
request.order=ticket;
OrderSend(request,result);
return;
}
sords=true;
}
}
}
request.action=TRADE_ACTION_PENDING;
if(dt.hour>=StartHour && dt.hour<EndHour)
{
if(bords==false )
{
request.price=NormalizeDouble(lev_h,_Digits);
request.sl=NormalizeDouble(lev_h-1000*_Point,_Digits);
request.tp=NormalizeDouble(lev_h+138*_Point,_Digits);
request.type=ORDER_TYPE_BUY_STOP;
OrderSend(request,result);
}
if(sords==false )
{
request.price=NormalizeDouble(lev_l,_Digits);
request.sl=NormalizeDouble(lev_l+1000*_Point,_Digits);
request.tp=NormalizeDouble(lev_l-138*_Point,_Digits);
request.type=ORDER_TYPE_SELL_STOP;
OrderSend(request,result);
}
}
}
//+------------------------------------------------------------------+
не проходит тест даже советник 2010 года
тогда работал
Ici, vous avez la raison écrite :
Alors, qu'est-ce que ça dit ? Et puis avec ça à la référence.
10013
TRADE_RETCODE_INVALID
Demande incorrecte
ERR_TRADE_SEND_FAILED (ÉCHEC)
4756
Échec de l'envoi de la demande d'échange
Shorting aux offres, pas aux ascas + stops au-dessus du prix d'entrée et reprises en dessous.
C'était :
Devenu :
Les avantages et les inconvénients ont également changé (bien qu'ils soient mis en évidence en gras, mais cela ne se remarque pas à l'écran).
Bonne chance
en plus de cela
mql 5 a été écrit pour vous. Orienté objet. Héritez de Ctrade et vous serez heureux. Ne réinventez pas la roue.
mql 5 a été écrit pour vous. Orienté objet. Héritez de Ctrade et vous serez heureux. Ne réinventez pas la roue.
Conseil stupide deux heures avant la fin - il est plus difficile de comprendre la bibliothèque standard que de comprendre OrderSend.
Le bug a déjà été corrigé. Tout ce qu'il reste à envoyer (s'il n'y a pas d'autres erreurs) est
mql 5 a été écrit pour vous. Orienté objet. Héritez de Ctrade et vous serez heureux. Ne réinventez pas la roue.
C'est ennuyeux d'écrire sans erreurs :)
Il faut marcher dessus plusieurs fois, puis le ramasser.
Merci à tous.
Comment puis-je me débarrasser de
2012.09.21 22:42:08 Core 1 2012.05.08 13:00:00 pas assez d'argent [achat instantané 5.00 EURUSD à 1.30227 sl : 1.29227 tp : 1.30765]
ne pas sortir le test de l'année
Merci à tous pour votre aide.
Aussi, comment enlever
2012.09.21 22:42:08 Core 1 2012.05.08 13:00:00 pas assez d'argent [achat instantané 5.00 EURUSD à 1.30227 sl : 1.29227 tp : 1.30765]
il ne remplace pas le test de l'année
C'est ennuyeux d'écrire sans faire de fautes tout de suite :)
Il faut marcher sur un ou deux râteaux, puis les ramasser.
C'est comme ça qu'on apprend de ses erreurs