Aiuto per la codifica - pagina 15

 

per favore, aiuto sul trailing

Ho creato un EA con Forex EA Generator, tutto sembra funzionare, il trailing funziona su BUY come richiesto, ma non funziona su SELL,

per favore aiutatemi a capire dove è l'errore,

grazie

..................................

IfOrderDoesNotExist8();

}

}

void IfOrderDoesNotExist8()

{

bool exists = false;

for (int i=OrdersTotal()-1; i >= 0; i--)

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == 1)

{

esiste = true;

}

}

else

{

Print("OrderSelect() error - ", ErrorDescription(GetLastError());

}

if (exists == false)

{

BuyOrder24();

}

}

void BuyOrder24()

{

double SL = Ask - BuyStoploss24*PipValue*Point;

if (BuyStoploss24 == 0) SL = 0;

doppio TP = Ask + BuyTakeprofit24*PipValue*Point;

se (BuyTakeprofit24 == 0) TP = 0;

int ticket = -1;

se (vero)

ticket = OrderSend(Symbol(), OP_BUY, BuyLots24, Ask, 3, 0, 0, 0, "36912direct5M@", 1, 0, Blue);

altrimenti

ticket = OrderSend(Symbol(), OP_BUY, BuyLots24, Ask, 3, SL, TP, "36912direct5M@", 1, 0, Blu);

se (ticket > -1)

{

se (vero)

{

OrderSelect(ticket, SELECT_BY_TICKET);

bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Blue);

se (ret == false)

Print("OrderModify() error - ", ErrorDescription(GetLastError());

}

}

else

{

Print("Errore di OrderSend() - ", ErrorDescription(GetLastError());

}

}

void CloseOrder21()

{

int orderstotal = OrdersTotal();

int orders = 0;

int ordticket[30][2];

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

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType() != OP_SELL || OrderSymbol() != Symbol() || OrderMagicNumber() != 1)

{

continua;

}

ordticket[orders][0] = OrderOpenTime();

ordticket[orders][1] = OrderTicket();

orders++;

}

se (ordini > 1)

{

ArrayResize(ordticket,ordini);

ArraySort(ordticket);

}

for (i = 0; i < ordini; i++)

{

if (OrderSelect(ordticket[1], SELECT_BY_TICKET) == true)

{

bool ret = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3, Red);

se (ret == false)

Print("OrderClose() error - ", ErrorDescription(GetLastError());

}

}

}

void TrailingStop10()

{

for (int i=OrdersTotal()-1; i >= 0; i--)

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == 1)

{

double takeprofit = OrderTakeProfit();

if (OrderType() == OP_BUY && Ask - OrderOpenPrice() > TrailingStop10*PipValue*Point)

{

se (OrderStopLoss() < Ask-(TrailingStop10+TrailingGap10)*PipValue*Point)

{

se (NewTakeProfit10 != 0) takeprofit = Ask+(NewTakeProfit10 + TrailingStop10)*PipValue*Point;

bool ret1 = OrderModify(OrderTicket(), OrderOpenPrice(), Ask-TrailingStop10*PipValue*Point, takeprofit, OrderExpiration(), White);

se (ret1 == false)

Print("OrderModify() error - ", ErrorDescription(GetLastError());

}

}

if (OrderType() == OP_SELL && OrderOpenPrice() - Bid > TrailingStop10*PipValue*Point)

{

if (OrderStopLoss() > Bid+(TrailingStop10+TrailingGap10)*PipValue*Point)

{

se (NewTakeProfit10 != 0) takeprofit = Bid-(NewTakeProfit10 + TrailingStop10)*PipValue*Point;

bool ret2 = OrderModify(OrderTicket(), OrderOpenPrice(), Bid+TrailingStop10*PipValue*Point, takeprofit, OrderExpiration(), White);

se (ret2 == false)

Print("OrderModify() error - ", ErrorDescription(GetLastError());

}

}

}

}

else

Print("OrderSelect() error - ", ErrorDescription(GetLastError());

}

 

Indicatore di variazione bisogno di aiuto per tracciare in chart_window

Questo è l'indicatore:

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

//| variazione.mq4 |

//| Copyright © 2010, LeMan. |

//| b-market@mail.ru |

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

#property copyright "Copyright © 2010, LeMan."

#property link "b-market@mail.ru"

#proprietà indicator_chart_window

#proprietà indicatore_buffer 1

#proprietà indicator_color1 Red

//---- parametri di input

extern int N=20;

//---- buffer

double ExtMapBuffer1[]

double ExtMapBuffer2[]

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

//|funzione di inizializzazione dell'indicatore personalizzata |

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

int init()

{

stringa short_name;

IndicatorDigits(Digits+2);

IndicatorBuffers(2);

//---- indicatori

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexBuffer(1,ExtMapBuffer2);

//----

se (N <= 0) N = 20;

//----

SetIndexDrawBegin(0, N*2);

//----

short_name = "Variazione (" + N + ")";

IndicatoreNome_breve(nome_breve);

SetIndexLabel(0, short_name);

//----

return(0);

}

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

//| Funzione personalizzata di deinizializzazione dell'indicatore |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Funzione di iterazione dell'indicatore personalizzato |

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

int start()

{

//----

int limite = Bars-N-1;

for (int i = limite; i >= 0; i--) {

double ma = iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i);

ExtMapBuffer2 = Close-ma;

}

//----

i = Bars-N*2-1;

while (i >= 0) {

double vr = iMAOnArray(ExtMapBuffer2,Bars,N,0,MODE_SMA,i);

double mov = iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i);

ExtMapBuffer1 = Close - (mov + vr);

i--;

}

//----

return(0);

}

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

 

Codificatore EA richiesto

Forex trader con 10 anni di esperienza richiede un codificatore EA

con esperienza di trading.

Il sistema TradeWynds:

Filtro timeframe superiore

H1 o D1

Tutte le entrate prese all'interno di una finestra di entrata di 3 pip usando uno SL di 10 pip.

Le entrate possono essere prese in entrambe le direzioni.

2 - 3 indicatori utilizzati.

Uscite su H1 o D1.

Si prega di PM se interessati . . .

 

Se hai un EA redditizio, lo codificherò per te o ti farò sapere se è davvero oltre le mie capacità.

 

Costruire script

Guru del codificatore

Ho provato a cercare nei vari forum della rete un esperto o uno script per emettere ordini in sospeso con un tempo specificato per operare in "News". Ne ho trovati alcuni ma non sono stati soddisfacenti. Ho provato a fare un EA che non ha funzionato e non può identificare il fallimento. Ho provato a fare uno script per aggiungere il grafico ma non ci sono riuscito. Ho provato a modificare uno script standard MT4 anche senza successo. Mi chiedo se si può aiutarmi a costruire uno script per questo scopo ... Emettere ordini in attesa di acquistare e vendere a tempo pre determinato.

Grazie,

Paulo.peba

 

iATR non funziona su XAGUSD e XAUUSD

Buon Natale e felice anno nuovo!

Voglio fare un indicatore che analizza più simboli in diversi time frame. I simboli XAGUSD e XAUUSD mostrano ATR solo 0.000.

Cosa c'è di sbagliato?

double atr=iATR(symbol,timeframe[j],8,1)

12:28:48 Scansione EURUSD,M1: EURJPY 5 ATR = 0.0325

12:28:48 Scansione EURUSD,M1: EURJPY 15 ATR = 0.055

12:28:48 Scansione EURUSD,M1: EURJPY 30 ATR = 0.0988

12:28:48 Scansione EURUSD,M1: EURJPY 60 ATR = 0.1513

12:28:48 Scansione EURUSD,M1: EURJPY 240 ATR = 0.2475

12:28:48 Scansione EURUSD,M1: EURJPY 1440 ATR = 0.81

12:28:48 Scansione EURUSD,M1: XAGUSD 5 ATR = 0

12:28:48 Scansione EURUSD,M1: XAGUSD 15 ATR = 0

12:28:48 Scansione EURUSD,M1: XAGUSD 30 ATR = 0

12:28:48 Scansione EURUSD,M1: XAGUSD 60 ATR = 0.1662

12:28:48 Scansione EURUSD,M1: XAGUSD 240 ATR = 0

12:28:48 Scansione EURUSD,M1: XAGUSD 1440 ATR = 1.2625

12:28:48 Scansione EURUSD,M1: XAUUSD 5 ATR = 0

12:28:48 Scansione EURUSD,M1: XAUUSD 15 ATR = 0

12:28:48 Scansione EURUSD,M1: XAUUSD 30 ATR = 0

12:28:48 Scansione EURUSD,M1: XAUUSD 60 ATR = 0

12:28:48 Scansione EURUSD,M1: XAUUSD 240 ATR = 0

12:28:48 Scansione EURUSD,M1: XAUUSD 1440 ATR = 38.8625

Saluti

derumuro

 

Aiuto necessario per codificare un indicatore di trendline-pullback/ripristino più un allarme

Ciao trader, c'è qualcuno qui che può aiutarmi a codificare un indicatore che sia in grado di segnare una linea di tendenza/canale corretto, seguito da un avviso di breakout (se c'è) e avvisarci quando c'è un pullback su di esso. Il pullback può anche essere un ritracciamento al livello 38.2%, 50% o 61.8% Fib. Ho bisogno di qualcosa che possa segnare una corretta linea di tendenza/canale perché sento che la maggior parte degli indicatori auto-trendline o auto-canale non stanno segnando la linea corretta. Ho cercato in lungo e in largo nella maggior parte dei forum, ma non sono riuscito a trovare nessuno di questi cosiddetti indicatori trendline pullback. Ho provato DeMark ma non mi sento molto a mio agio nell'usarlo. Non sono sicuro che questo indicatore sia possibile da codificare. Ma credo che nulla sia possibile in questo mondo. Grazie...

 

Ciao Blackwood

BlackWood:
Se hai un EA redditizio, lo codificherò per te o ti farò sapere se è davvero oltre le mie capacità.

Con riferimento al post #148, è possibile codificare un EA? Se si può fare, credo che l'EA possa essere utilizzato per lo scalping... Prova a risolverlo, sì... Grazie in anticipo...

 

Bisogno di aiuto per rimodellare EA

Ciao ....

Qualcuno vuole aiutarmi ad aggiungere l'HH e LL in H1 per mostrare le tendenze nell'EA qui sotto e cambiare la linea rossa e blu in Supplay e domanda in H1? Ho trovato questo sul forum EA e lo modifico ma non perfetto. Voglio che questo EA funzioni in base a Supplay e Demand per vedere la tendenza utilizzando l'HH e LL. Spero EA può essere una voce dal M5 con un giallo Supplay domanda e domanda Supplay si riferisce al rosso e blu in H1 (rosso e blu sono ora false, non Supplay e domanda, Si prega di essere modificato in Supplay e domanda). Tendenza e inversione di forma prendiamo la forma di serie HH e LL in H1.

Grazie.

File:
 

Per favore ditemi come fare un'entrata dopo il Take Profit:)

Ciao, codificatore geniale e persone gentili:D

Ora sto sviluppando un semplice EA ma non riesco a capire le seguenti condizioni.

Se la posizione precedente è chiusa da Take Profit, fare una nuova entrata che fissi 20 pips da s/l e t/p al prossimo prezzo aperto (su grafico 5M).

Ho provato a scriverne una.

if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY)) //L'ultima posizione era un ordine istantaneo OP_BUY o OP_SELL

{

if(OrderClosePrice() == OrderTakeProfit()) // Se il prezzo di chiusura è uguale al prezzo di take profit

{

if(OrderType() == OP_BUY) /Il tipo di ordine dell'ordine è comprare

{

OrderSend(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);// Lots e altre variabili sono definite da me

}

else if(OrderType() == OP_SELL)

{

OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);

}

}

Ho provato molte volte con Strategy tester, ma non riesco ad agire come spero.

Qualcuno mi dà un aiuto da questa domanda!

Saluti.

Motivazione: