[Scrivere un consulente gratis - pagina 33

 
доброго времени! помогите! на МТ4 в тестере эксперт на паре GBPCHF на периодах М1,М15,М30 показывает результаты.
а на демо счете вооще ни как себя не проявляет во вложенгии посмотрите. зарание благодарен с уважением Егор! lenok_lenin@inbox.ru
File:
ugvymodb.txt  4 kb
 
alfasolo писал(а) >>
come posso contattarvi

Non scrivo per ordinare
 
Tutti mostrano perdite perché non li ho regolati nel tester! Se c'è un EA normale, mandami una mail.
 
egor78 >>:
народ помогите не могу найти ни одного нормального советника перепробовал очень много! все показывают убыток как я не подгонял их тестере! если есть нормальный скинте эл я написал. зарание благодарен
Perché avete bisogno di un consulente adeguato e di tutto questo mal di testa? Faresti meglio a chiedere una macchina da stampa.
 

Aiuta a far funzionare l'EA. Ridotto al minimo. Cicla in modo errato e dà errore 130.

extern int period_EMA = 233,

periodo_SMA = 233,

stoploss = 200,

Magia = 55;

extern double Lot = 0,01;

extern string TimeEnd = "22:00"; //tempo limite per Hai o Low

extern string TimeSetOrders = "00:30"; // Tempo di immissione degli ordini.

extern string TimeDelOrders = "13:00"; // Ora della cancellazione degli ordini

extern int LevelWLoss = 1; // livello di pareggio

extern inttern LevelProfit = 40; // Livello di profitto

extern bool AllSymbols = True; // Guarda le posizioni di tutti i simboli

extern int Ticket = -1; // identificatore di posizione (corretto!!!)

extern bool TSProfitOnly = True; // Solo profitto di pesca

extern intStop.Buy = 1000; // Dimensione della rete in punti per l'acquisto

extern int TStop.Sell = 1000; // Dimensione dello strascico in punti per la vendita

extern int TrailingStep = 100; // Passo in punti


int HiTime,LoTime;

int time; // sulla prossima barra rotola i valori

int currDay,i=0;

void start() {

if (TimeToStr(CurTime(), TIME_MINUTES)==TimeSetOrders) SetLimOrd(); // Time =00.30, poi piazza gli ordini

if (TimeToStr(CurTime(), TIME_MINUTES)==TimeDelOrders) DelLim(); // Time ==13.00, cancella gli ordini pendenti

ritorno (0);

}

//+------------------------------------------------------------------+

//| cancellazione dei limitatori non attivata |

//+------------------------------------------------------------------+

void DelLim()

{

for (int i=0;i<OrdersTotal();i++)

{

if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()==||3)

OrderDelete(OrderTicket());

}

ritorno (0);

}

//+------------------------------------------------------------------+

//| Impostazione degli ordini pendenti

//+------------------------------------------------------------------+

void SetLimOrd() {

//------- Prezzi giornalieri, Fibs e Hi-Low draw time--------------+

int shift = iBarShift(NULL,1440,Time[0]) + 1;

double HiPrice = iHigh(NULL,1440,shift); //prezzo alto

double LoPrice = iLow(NULL,1440,shift); // prezzo basso

double OpPrice = iOpen (NULL,1440,shift); //open price

double ClPrice = iClose (NULL,1440,shift); // Prezzo di chiusura

datetime StTime = iTime(NULL,1440,shift);

doppio Pivot =(HiPrice+LoPrice+ClPrice)/3;

double Range =HiPrice-LoPrice;

doppio Fibo138 =1,382*Range;

doppio Fibo162 =1.618*Range;

doppio Fibo262 =2,618*Range;

double Fibo_138 =(LoPrice-1.382*Range)-Range;

double Fibo_162 =(LoPrice-1.618*Range)-Range;

double Fibo_262 =(LoPrice-1.218*Range)-Range;

// ??

if(TimeDayOfWeek(StTime)==0/*Sunday*/){ //Aggiungi il massimo e il minimo del venerdì

HiPrice = MathMax(HiPrice,iHigh(NULL,1440,shift+1));

LoPrice = MathMin(LoPrice,iLow(NULL,1440,shift+1));

OpPrice = iOpen(NULL,1440,shift+1);

ClPrice = iClose(NULL,1440,shift+1);

Pivot =(HiPrice+LoPrice+ClPrice)/3;

Gamma =HiPrice-LoPrice;

Fibo138 =1,382*Range;

Fibo162 =1,618*Range;

Fibo262 =2,618*Range;

Fibo_138 =(LoPrice-1.382*Range)-Range;

Fibo_162 =(LoPrice-1.618*Range)-Range;

Fibo_262 =(LoPrice-1.218*Range)-Range;

}

//---------------- tempo hai e basso-----------------------------------------+

if (time!=Time[0]){HiTime=0;LoTime=0;time=Time[0];}

se (High[0]>HiPrice)HiTime=TimeCurrent();

se (Low[0]<LoPrice)LoTime=TimeCurrent();

Comment("Su questa barra: "+"\n Time High Point="+HiTime+"\n Time Low Point="+LoTime);

//-----------------Ценовой диапазон Демарка-------------------------------+

se (currDay!=TimeDay(Time[i])){

se (ClPrice<OpPrice) double x=(HiPrice + LoPrice + ClPrice + LoPrice)/2;

se (ClPrice>OpPrice) x=(HiPrice + LoPrice + ClPrice + HiPrice)/2;

se (ClPrice==OpPrice) x=(HiPrice + LoPrice + ClPrice + ClPrice)/2;

i++;

}

doppio MaxDay = x - LoPrice;

doppio MinDay = x - HiPrice;

//----------Скользящие средние---------------------------------------------+

double EMA = iMA(15,0,period_EMA,0,MODE_EMA, PRICE_CLOSE,0)

double SMA = iMA(15,0,period_SMA,0,MODE_SMA,PRICE_CLOSE,0);

double EMA1 = iMA(60,0,period_EMA,0,MODE_EMA,PRICE_CLOSE,0);

double SMA1 = iMA(60,0,period_SMA,0,MODE_SMA,PRICE_CLOSE,0);

//----------Ордера---------------------------------------------------------+

HiPrice=NormalizeDouble(HiPrice,Digits);

LoPrice=NormalizeDouble(LoPrice,Digits);

Pivot=NormalizeDouble(Pivot,Digits);

Fibo138=NormalizeDouble(Fibo138,Digits);

Fibo162=NormalizeDouble(Fibo162,Digits);

Fibo_138=NormalizeDouble(Fibo_138,Digits);

Fibo_162=NormalizeDouble(Fibo_162,Digits);

double poi=MarketInfo(OrderSymbol(), MODE_POINT);

se (HiTime>LoTime){

int ticket1 =OrderSend(Symbol(),OP_SELLLIMIT,Lot,HiPrice,0,HiPrice+stoploss*poi,Pivot,NULL,Magic,0,Red);

int ticket2 =OrderSend(Symbol(),OP_SELLLIMIT,Lot,Fibo138,0,Fibo138+stoploss*poi,HiPrice,NULL,Magic,0,Red);

int ticket3 =OrderSend(Symbol(),OP_SELLLIMIT,Lot,Fibo162,0,Fibo162+stoploss*poi,HiPrice,NULL,Magic,0,Red);

}

se (HiTime<LoTime){

int ticket4=OrderSend(Symbol(),OP_BUYLIMIT,Lot,LoPrice,0,LoPrice-stoploss*poi,Pivot,NULL,Magic,0,Red);

int ticket5=OrderSend(Symbol(),OP_BUYLIMIT,Lot,Fibo_138,0,Fibo_138-stoploss*poi,LoPrice,NULL,Magic,0,Red);

int ticket6=OrderSend(Symbol(),OP_BUYLIMIT,Lot,Fibo_162,0,Fibo_162-stoploss*poi,LoPrice,NULL,Magic,0,Red);

}

se (HiTime>LoTime && ClPrice>Pivot) {

int ticket7=OrderSend(Symbol(),OP_BUYLIMIT,Lot,Pivot,0,Pivot-stoploss*poi,HiPrice,NULL,Magic,0,Red);

}

se (HiTime<LoTime && ClPrice<Pivot) {

int ticket8=OrderSend(Symbol(),OP_SELLLIMIT,Lot,Pivot,0,Pivot+stoploss*poi,LoPrice,NULL,Magic,0,Red);

}

}

 

Ciao.

Si prega di scrivere un EA per comprare sulla violazione del massimo della candela precedente e vendere sulla violazione del minimo della candela precedente.

TP e SL sono 15 pip.

 

Quando questo EA è in esecuzione su un conto reale, l'errore 146 appare molto spesso.

È possibile fare in modo che l'Expert Advisor faccia diversi tentativi di aprire un ordine, diciamo con una pausa di mezzo minuto?


 

Buonasera cari programmatori, potreste scrivere un EA automatico senza Stop Loss e Take Profit, che usi una MA e linee orizzontali(che possono essere applicate al grafico stesso) l'algoritmo dell'advisor: Per esempio, mettiamo sul grafico 8 linee orizzontali-1.500;1.540;1.580;1.620;1.660, ecc....Quando il MA (5) attraversa la linea1.500 verso l'alto dal basso apre Buy (per la prima o la seconda barra); Poi MA (5) rompe la linea di fondo fino 1.540 chiuso precedente Buy e riapre Buy; Poi MA (5) esita indietro e rompe la linea1.540 verso il basso, chiudendo il precedente Buy e aprire Shell ; ; e così via all'infinito ...Rispettosamente a voi ...

 
pavedoroga:

МА(5) incrocia la linea1.500 dal basso verso l'alto apre Buy (sulla prima o seconda barra); Poi МА(5) rompe la linea1.540 dal basso verso l'alto, il Buy precedente viene chiuso e riapre Buy; Poi МА(5) dopo aver esitato torna indietro e rompe la linea1.540 dall'alto verso il basso, il Buy precedente viene chiuso e Shell apre .....


.... Г-О-О-О-О-О-О-О-О-Л-Л-Л-Л!!!!!!!!!!!
 
...e così via all'infinito. L'eterno alto... :)
Motivazione: