Anexei um martingale. A meio do dia, anexei o consultor especializado nesta forma (já tinha feito alguns negócios da mesma EA, mas num estado inacabado antes), - a EA funcionou bem, o martingale funcionou, tirou perdas durante meio dia no plus. No dia seguinte, liguei a plataforma de manhã, fui trabalhar, à noite - um negócio. O martingale aumenta o lote para um negócio perdido, caso contrário - o lote padrão.
voidOnTick()
{
datetime EaStartTime = StringToTime(StartTime); // время начала работы советникаdatetime EaEndTime = StringToTime(EndTime); // время окончания работы советникаdatetime CurrTime = TimeCurrent(); // это если нужно взять время терминалаif(CurrTime<EaStartTime || CurrTime>=EaEndTime)
return; // если еще не время торговать - выход
{
MacdCurrent=iMACD(NULL,0,InpFastEMA,InpSlowEMA,InpSignalSMA,Macd_Applied_Price,MODE_MAIN,0);
SignalCurrent=iMACD(NULL,0,InpFastEMA,InpSlowEMA,InpSignalSMA,Macd_Applied_Price,MODE_SIGNAL,0);
SignalMAPrevious=iMA(NULL,0,InpMAPeriod,InpMAShift,InpMAMethod,MA_Applied_Price,1);
SignalMAThis=iMA(NULL,0,InpMAPeriod,InpMAShift,InpMAMethod,MA_Applied_Price,0);
SignalParabolic=iSAR(NULL,0,InpSARStep,InpSARMaximum,0);
SignalStochastic_5=iStochastic(NULL,5,InpKPeriod,InpDPeriod,InpSlowing,MODE_SMA,0,1,0);
MainStochastic_5=iStochastic(NULL,5,InpKPeriod,InpDPeriod,InpSlowing,MODE_SMA,0,0,0);
SignalStochastic=iStochastic(NULL,0,InpKPeriod,InpDPeriod,InpSlowing,MODE_SMA,0,1,0);
MainStochastic=iStochastic(NULL,0,InpKPeriod,InpDPeriod,InpSlowing,MODE_SMA,0,0,0);
SignalCCIPrevious=iCCI(NULL,0,InpCCIPeriod,0,1);
SignalCCIThis=iCCI(NULL,0,InpCCIPeriod,0,0);
if(CountTrades()==0) CheckForOpen();
}
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+void CheckForOpen()
{if(ModLots())
{
//-----Ставим ордер на покупку.if(SignalCurrent<MacdCurrent && SignalMAPrevious<SignalMAThis &&
Ask>SignalParabolic && SignalStochastic_5<MainStochastic_5&&SignalStochastic<MainStochastic&&
SignalCCIPrevious<SignalCCIThis)
{
ticket=OrderSend(NULL,OP_BUY,lot,Ask,slippage,0,0,exptime,magic,0,Blue);
if(ticket>0)
return;
}
//-----Ставим ордер на продажу.if(SignalCurrent>MacdCurrent && SignalMAPrevious>SignalMAThis &&
Bid<SignalParabolic && SignalStochastic_5>MainStochastic_5&&SignalStochastic>MainStochastic&&
SignalCCIPrevious>SignalCCIThis)
{
ticket=OrderSend(NULL,OP_SELL,lot,Bid,slippage,0,0,exptime,magic,0,Red);
if(ticket>0)
return;
}
}
}
//+------------------------------------------------------------------+int CountTrades()
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
count++;
}
}
return(count);
}
//+------------------------------------------------------------------+bool ModLots()
{
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
if((OrderMagicNumber()==magic) && (OrderSymbol()==Symbol()))
{
if(OrderProfit()<0)
{lot=OrderLots()*LotMarti; break;}
else { lot=Lots; break;}
}
}
return(true);
}
//+------------------------------------------------------------------+
Olá. O manual mql4 diz que o tratamento de eventos de Temporizador e ChartEvent não é apoiado no testador de estratégias. Consequentemente, os botões (OBJ_BUTTON) não funcionam (mais precisamente, nada acontece quando se clica). Contudo, a versão experimental desta EA, por alguma razão, não apoia esta regra. Por favor, diga-me porque é que isto está a acontecer e como fazer funcionar os botões no testador?
Maks_Knyazev: Olá. O manual mql4 diz que o processamento de eventos do Temporizador e do ChartEvent não é apoiado no testador de estratégias. Consequentemente, os botões (OBJ_BUTTON) não funcionam (mais precisamente, nada acontece quando se clica). Contudo, a versão experimental desta EA, por alguma razão, não apoia esta regra. Por favor, diga-me porque é que isto está a acontecer e como fazer funcionar os botões no testador?
Sim, eles não funcionam. Tem de verificar os botões manualmente no testador, como este
Olá. Não fechou o lucro na vela de 09-47 minutos no EURUSD o lucro foi de 1,08428 a vela foi para 1,08420. O que fazer? Obrigado de antemão.
Deve prestar atenção à propagação, porque as posições curtas são fechadas em Asc, enquanto o candelabro é desenhado em Bid. Espalhamento acima de 8 pips para cinco dígitos é normal para a maioria dos pares de moedas.
Olá. O manual mql4 diz que o processamento de eventos do Temporizador e do ChartEvent não é apoiado no testador de estratégias. Consequentemente, os botões (OBJ_BUTTON) não funcionam (mais precisamente, nada acontece quando se clica). Contudo, a versão experimental desta EA, por alguma razão, não apoia esta regra. Por favor, diga-me porque é que isto está a acontecer e como fazer funcionar os botões no testador?
Sim, eles não funcionam. Tem de verificar os botões manualmente no testador, como este
Sim, eles não funcionam. No verificador, é necessário verificar os botões manualmente, como este
flint17480, 2016.02.01 08:58
Olá. Não fechou o lucro na vela de 09-47 minutos no EURUSD o lucro foi de 1,08428 a vela foi para 1,08420. O que fazer? Obrigado de antemão.flint17480, 2016.02.01 08:58
Olá. O meu lucro no EURUSD foi de 1,08428 e subiu para 1,08420. Pode dizer-me o que devo fazer? Obrigado de antemão.Precisa de mais informações:
flint17480, 2016.02.01 08:58
Olá. Não fechou o lucro na vela de 09-47 minutos no EURUSD o lucro foi de 1,08428 a vela foi para 1,08420. O que fazer? Obrigado de antemão.Deve prestar atenção à propagação, porque as posições curtas são fechadas em Asc, enquanto o candelabro é desenhado em Bid. Espalhamento acima de 8 pips para cinco dígitos é normal para a maioria dos pares de moedas.
flint17480, 2016.02.01 08:58
Olá. Não fechou o lucro na vela de 09-47 minutos no EURUSD o lucro foi de 1,08428 a vela foi para 1,08420. O que fazer? Obrigado de antemão.Boa tarde a todos) Partilhar o código para um stop loss móvel - para conduzir o preço )))) Obrigado de antemão.