[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 232

 
Vit1986:

Ho creato un conto demo, scaricato le quotazioni (SP500, RTSI, SBER ecc.). Creato un banale Expert Advisor. Ho deciso di testarlo. Ma funziona perfettamente su SP500 ma non funziona con SBER o RTSI (apre un ordine e poi finisce il suo lavoro) e non mostra alcun messaggio di errore.


1) Sembra più uno script che un EA.

2. Controlla la quantità di denaro sul demo dopo aver spostato venti lotti.

3. Prova OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point,Bid+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point);

4. Aggiungere un gestore di errori, almeno un Alert di base (GetLastError());

5. Fare riferimento almanuale.

 

Potete anche andare sul sicuro e specificare esplicitamente i tipi di dati:

int cmd = OP_SELL;//торговая операция
double volume = 0.1;//лот
int slippage = 2;//отклонение ордера в пипсах
double stoploss = 0;//лось
double takeprofit = 0;//профит

int start(){
   OrderSend(Symbol(),cmd,volume,Bid,slippage,stoploss,takeprofit); 
  return(0);
}
 
GaNDarM:

Perché le variabili sono assegnate a zero in INIT()? Qual è l'errore o come assegnare i prezzi di acquisto e di vendita alle variabili al di fuori della funzione start()? Ho provato a mettere RefreshRates(); davanti a loro, ma nessun cambiamento :(

Ecco il codice nell'indicatore init():

init()
{
    Print ("Ask = ", Ask, " | Bid = ", Bid);
}

ed ecco il registro:

2013.03.19 17:49:27     i-PSI@Dash Board EURUSD,M15: Ask = 1.2932 | Bid = 1.293

Per cosa stai "piangendo"?

 
gyfto:

GaNDarM

Il ramo

grazie
 
TarasBY:

Ecco il codice nella init() dell'indicatore:

ed ecco il registro:

Per cosa stai "piangendo"?


Sto "piangendo" per questo:

//---Ф-ЦИЯ init()----------------------------------------------------
int init()
  {
   RefreshRates();// обновляем данные по ценам
   UpL  =  Ask;     // Пик вверх изначально равен цене покупки
   DownL  =  Bid;     // Пик вниз изначально равен цене продажи
   Print ("СРАБОТАЛА Ф_ЦИЯ ИНИТ: DownL = ", DownL, " UpL = ", UpL);
   
   SetIndexStyle(0,DRAW_SECTION);     // стиль линии: отрезки между непустыми значениями
   SetIndexBuffer(0,ExtMapBuffer1);     // привязываем массив к номеру буфера
   SetIndexEmptyValue(0,0.0);     // указываем при каком значении не надо ничего рисовать
   //---
   
   return(0);
  }

ed ecco il registro:

18:25:09 IndikatorZZ GBPJPY,Daily: INIT F_CY: DownL = 0 UpL = 0

 
Può dirmi.
Se c'è il trading intraday, significa che il trade non viene riportato al giorno successivo ed è costretto a chiudere alla fine della giornata?
 

Quante volte ho usato il punto automatico, ma la prima volta non funziona.

Ecco Init()

int init()
{
   if (Digits == 2 || Digits == 4)
     pt = Point;
   if (Digits == 1 || Digits == 3 || Digits == 5)
     pt = Point * 10;
 
  return (0);
}

Lo metto in qualsiasi posto del mio programma (in questo caso, anche nell'inizio dell'esperimento):

Print("ptStart = ", pt);
Print("PointStart = ", Point);

La funzione ritorna al registro:

2013.03.19 19:55:35     2013.01.11 00:00  TradingByLine EURUSD.GI,M5: Point = 0
2013.03.19 19:55:35     2013.01.11 00:00  TradingByLine EURUSD.GI,M5: pt = 0

Dov'è la logica?

 

Salve. Potete dirmi per favore se il valore " >= " al posto di " = ". Rimuovo il " <" o " >" e lasciando solo " =" dà errori durante la compilazione.

Per esempio: il mio EA ha (prezzo >= MA) e io voglio (prezzo = MA).SOLO EQUAMENTE

 
artemka_1981:

Salve. Potete dirmi per favore se il valore " >= " al posto di " = ". Rimuovo il " <" o " >" e lasciando solo " =" dà errori durante la compilazione.

Per esempio: il mio EA ha (prezzo >= MA) e io voglio (prezzo = MA).SOLO EQUAMENTE

==
 
TarasBY:
==

GRAZIE MILLE
Motivazione: