[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 216

 
stalkertula:

Grazie per la risposta, ma ho l'algoritmo scritto in russo, ma non sono bravo con mql, almeno un consiglio sulle funzioni che hanno fissato il numero (lo scriverò nelle impostazioni) di ordini sell/buy aperti, e poi il segnale per vietare di piazzare ordini sellstop/buystop pendenti.

Perché questo algoritmo, che avete già scritto, non si riflette nel vostro codice?
Pensate che solo guardando il vostro codice che non avete scritto in una sola volta si possa indicare il vostro errore?

Dobbiamo ancora "leggerlo"...

Ecco un estratto di codice dove tutto quello che abbiamo scritto su un pezzo di carta è mostrato anche nel codice:

//================================================================================================================   
//------------------------------- Определение тоннеля и его верхней и нижней границ ------------------------------ 
//================================================================================================================   
   if (NormalizeDouble(MathAbs(MA169-MA144),dg)/pt<=sp)           // Если разница МАшек меньше спреда, ... 
      Tonnel=false;                                               // Тоннель меньше спреда - считаем, что он узкий
   if (NormalizeDouble(MathAbs(MA169-MA144),dg)/pt>sp)            // Если разница МАшек больше спреда, ... 
      Tonnel=true;                                                // Тоннель больше спреда - считаем, что он норм.
//-------------------------------------------------------------      
   if (CmpD(MA169,MA144)) {                                       // Если 169-я МАшка выше 144-й, ...
      UP_Limit=MA169+sp*pt;                                       // ... то 169 - верх тоннеля, ...
      DN_Limit=MA144-sp*pt;                                       // ... а 144 - низ тоннеля
      }
   if (CmpD(MA144,MA169)) {                                       // Если 144-я МАшка выше 169-й, ...
      UP_Limit=MA144+sp*pt;                                       // ... 144 - верх тоннеля, ...
      DN_Limit=MA169-sp*pt;                                       // ... 169 - низ тоннеля
      }
   if (NormalizeDouble(MA169-MA144,dg)==0) {                      // Если 169-я МАшка равна 144-й, ...
      UP_Limit=MA169+sp*pt;                                       // ... то 169 - верх тоннеля, ...
      DN_Limit=MA144-sp*pt;                                       // ... а 144 - низ тоннеля
      }
//-------------------------------------------------------------      
      string NameArUP=Prefix+"UP"+TimeToStr(Time[0]);             // Нарисуем тоннель
      string NameArDN=Prefix+"DN"+TimeToStr(Time[0]);
      SetArrow(4, DeepSkyBlue, NameArUP, Time[0], UP_Limit, 0);   // Его верх
      SetArrow(4, Gold,        NameArDN, Time[0], DN_Limit, 0);   // Его низ
//================================================================================================================   
//------------------------------------- Проверка на вхождение цены в тоннель ------------------------------------- 
//================================================================================================================ 
   if (CmpD(UP_Limit, pa) && CmpD(pb, DN_Limit)) {
      if (Above) {                                                // Если цена была выше тоннеля
         LastAbove=true;                                          // Ставим  флаг "прошлого" положения цены "выше"
         LastBottom=false;                                        // Снимаем флаг "прошлого" положения цены "ниже"
         }
      if (Bottom) {                                               // Если цена была ниже тоннеля
         LastBottom=true;                                         // Ставим  флаг "прошлого" положения цены "ниже"
         LastAbove=false;                                         // Снимаем флаг "прошлого" положения цены "выше"
         }
      Inside=true;                                                // Ставим флаг расположения цены внутри тоннеля
      Above=false;                                                // Сброс флага "над"
      Bottom=false;                                               // Сброс флага "под"
      ReadyTradeB=true;                                           // Флаг готовности к торговле Бай
      ReadyTradeS=true;                                           // Флаг готовности к торговле Селл
      }
//================================================================================================================   
//------------------------------- Проверка на расположение цены относительно тоннеля ----------------------------- 
//================================================================================================================ 
   if (CmpD(pa,UP_Limit)) {                                       // Если цена выше тоннеля
      if (Inside) {
         Inside=false;                                            // Сброс флага нахождения цены внутри тоннеля
         LastInside=true;
         }
      Above=true;                                                 // Цена находится над тоннелем
      Bottom=false;
      }
   if (CmpD(DN_Limit,pb)) {                                       // Если цена ниже тоннеля
      if (Inside) {
         Inside=false;                                            // Сброс флага нахождения цены внутри тоннеля
         LastInside=true;
         }
      Bottom=true;                                                // Цена находится под тоннелем
      Above=false;
      }
//================================================================================================================   
//------------------------------------ Проверка на пересечение границ тоннеля ------------------------------------ 
//================================================================================================================ 
// .... пока не отлажу предыдущее, за это не стоит и браться...
//----------------------------------------------------------------

Quindi, finché la cosa più semplice non è sistemata, non si dovrebbe andare oltre...

E cosa avete? Hai messo tutto insieme, non hai commentato una sola riga. Ora prenditi una settimana di pausa e torna al tuo codice. Sono sicuro che ti ci vorranno due ore per ricordare. 100%

 
coronel:
Lotto permanente 0,1.


In questo caso, secondo me, è un buon risultato per la settimana. Non ricordo esattamente, penso che sia circa 800 punti. Solo la stabilità mi sembra non essere a posto: il grafico non è molto fluido... Comunque, grazie per la risposta. Almeno qualche figura sta emergendo. Sono abbastanza lontano da questo: 3000-4000 punti all'anno sono il limite. Ma il mio grafico dell'equilibrio è più piatto...

Ho pensato: 0,1 lotto fisso - ma con quale leva? Non è molto chiaro dal grafico del saldo quanti punti sono stati guadagnati?

 

Come posso ottenere il valore del livello di Fiba selezionato da tale indicatore?

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

//| Parabolic_ZZ.mq4 |

//| Copyright © 2009, Vic2008 |

//| |

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

#proprietà copyright "Copyright © 2009, Vic2008"

#proprietà link ""

#include <stdlib.mqh>

#proprietà indicator_chart_window

#proprietà indicator_buffers 2

#property indicator_color1 Red

#property indicator_color2 Magenta

//---- parametri di ingresso

extern double SAR_step=0.02; //parametri parabolici.

extern double SAR_maximum=0.2;

extern int BarsCount = 500; //Distanza in barre per disegnare l'indicatore.

extern bool Fibo1_off = False; //Disabilitazione dei livelli Fibo.

extern bool Fibo2_off = False;

extern bool Fibo_Absolut_Value = False; //Includere i valori assoluti dei prezzi ai livelli Fibo.

extern color Label_Color = Gray;

extern color Fibo_Color = Blue;

//---- buffer

doppio ExtMapBuffer1[];

doppio ExtMapBuffer2[];

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

//| funzione di inizializzazione dell'indicatore personalizzato

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

int init()

{

//---- indicatori

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(0,DRAW_SECTION);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(1,DRAW_SECTION,0,2,Magenta);

//----

ritorno(0);

}

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

//| funzione di deinizializzazione dell'indicatore personalizzata

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

int deinit()

{

//----

ObjectsDeleteAll(0,OBJ_ARROW);

ObjectDelete("FiboZZLast");

ObjectDelete("FiboZZPrev");

//----

ritorno(0);

}

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

//| funzione di iterazione dell'indicatore personalizzata

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

int start()

{

//int counted_bars=IndicatorCounted();

stringa txt;

int w,PosLow,PosHigh;

double LPic=1000000,HPic=0,price;

datetime TimeTmp;

//----

ExtMapBuffer1[0]=Close[0];

ExtMapBuffer2[0]=EMPTY_VALUE;

for( w=0;w<BarsCount;w++){

if( w!=0 ){ ExtMapBuffer1[w]=EMPTY_VALUE; ExtMapBuffer2[w]=EMPTY_VALUE; }

if( iSAR(NULL,0,SAR_step,SAR_maximum,w) > Close[w] && LPic>=Low[w] ){ LPic=Low[w]; PosLow=w; }

if( iSAR(NULL,0,SAR_step,SAR_maximum,w) < Close[w] && HPic<=High[w] ){ HPic=High[w]; PosHigh=w; }

// H -> L

se( iSAR(NULL,0,SAR_step,SAR_maximum,(w+1)) > Close[w+1] && iSAR(NULL,0,SAR_step,SAR_maximum,w) < Close[w] && HPic!=0)

{

ExtMapBuffer1[PosHigh]=HPic;

ExtMapBuffer2[PosHigh]=HPic;

HPic=0;

}

// L -> H

if( iSAR(NULL,0,SAR_step,SAR_maximum,w) < Close[w] && iSAR(NULL,0,SAR_step,SAR_maximum,w+1) > Close[w+1] && LPic!=1000000 )

{

ExtMapBuffer1[PosLow]=LPic;

ExtMapBuffer2[PosLow]=LPic;

LPic=1000000;

}

}

if( Fibo1_off ) ObjectDelete("FiboZZLast");

if( Fibo2_off ) ObjectDelete("FiboZZPrev");

//Disegnare i segni dei prezzi e i livelli FIBO

int wave_cnt=0;

for( w=0;w<BarsCount;w++){

se( ExtMapBuffer2[w]!=EMPTY_VALUE ){

se( wave_cnt<=3 ){

ObjectDelete("PZZ_"+DoubleToStr( wave_cnt, 0));

ObjectCreate("PZZ_"+DoubleToStr( wave_cnt, 0), OBJ_ARROW, 0, Time[w], ExtMapBuffer2[w], Time[w], 0);

ObjectSet("PZZ_"+DoubleToStr( wave_cnt, 0), OBJPROP_ARROWCODE, SYMBOL_LEFTPRICE );

ObjectSet("PZZ_"+DoubleToStr( wave_cnt, 0), SYMBOL_LEFTPRICE, ExtMapBuffer2[w]);

ObjectSet("PZZ_"+DoubleToStr( wave_cnt, 0), OBJPROP_COLOR, Label_Color );

if(wave_cnt==1 && Fibo1_off==False ){

ObjectDelete("FiboZZLast");

ObjectCreate("FiboZZLast", OBJ_FIBO, 0, TimeTmp, ExtMapBuffer2[w], TimeTmp, price);

ObjectSet("FiboZZLast", OBJPROP_LEVELCOLOR, Fibo_Color);

ObjectSet("FiboZZLast", OBJPROP_COLOR, Fibo_Color);

ObjectSet("FiboZZLast", OBJPROP_RAY, False );// Per abilitare i raggi sostituire False con True

ObjectSet("FiboZZLast", OBJPROP_FIBOLEVELS, 14);

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+0,0.236); ObjectSetFiboDescription("FiboZZLast",0, "23.6");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+1,0.382); ObjectSetFiboDescription("FiboZZLast",1, "38.2");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+2,0.50); ObjectSetFiboDescription("FiboZZLast",2, "50.0");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+3,0.618); ObjectSetFiboDescription("FiboZZLast",3, "61.8");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+4,1.0); ObjectSetFiboDescription("FiboZZLast",4, "100.0");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+5,1.618); ObjectSetFiboDescription("FiboZZLast",5, "161.8");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+6,2.618); ObjectSetFiboDescription("FiboZZLast",6, "261.8");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+7,4.236); ObjectSetFiboDescription("FiboZZLast",7, "423.6");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+8,0.088); ObjectSetFiboDescription("FiboZZLast",8, "8.8");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+9,0.145); ObjectSetFiboDescription("FiboZZLast",9, "14.5");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+10,0.764); ObjectSetFiboDescription("FiboZZLast",10, "76.4");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+11,0.855); ObjectSetFiboDescription("FiboZZLast",11, "85.5");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+12,0.921); ObjectSetFiboDescription("FiboZZLast",12, "92.1");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+13,0.0); ObjectSetFiboDescription("FiboZZLast",13, "0.0");

if( Fibo_Absolut_Value ){

ObjectSet("FiboZZLast", OBJPROP_FIBOLEVELS, 14);

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+0,0.236); ObjectSetFiboDescription("FiboZZLast",0, "23.6 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+1,0.382); ObjectSetFiboDescription("FiboZZLast",1, "38.2 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+2,0.50); ObjectSetFiboDescription("FiboZZLast",2, "50.0 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+3,0.618); ObjectSetFiboDescription("FiboZZLast",3, "61.8 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+4,1.0); ObjectSetFiboDescription("FiboZZLast",4, "100.0 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+5,1.618); ObjectSetFiboDescription("FiboZZLast",5, "161.8 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+6,2.618); ObjectSetFiboDescription("FiboZZLast",6, "261.8 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+7,4.236); ObjectSetFiboDescription("FiboZZLast",7, "423.6 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+8,0.088); ObjectSetFiboDescription("FiboZZLast",8, "8.8 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+9,0.145); ObjectSetFiboDescription("FiboZZLast",9, "14.5 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+10,0.764); ObjectSetFiboDescription("FiboZZLast",10, "76.4 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+11,0.855); ObjectSetFiboDescription("FiboZZLast",11, "85.5 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+12,0.921); ObjectSetFiboDescription("FiboZZLast",12, "92.1 %$");

ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+13,0.0); ObjectSetFiboDescription("FiboZZLast",13, "0.0");

}

}

if( wave_cnt==2 && Fibo2_off==False ){

ObjectDelete("FiboZZPrev");

ObjectCreate("FiboZZPrev", OBJ_FIBO, 0, TimeTmp, ExtMapBuffer2[w], TimeTmp, price);

ObjectSet("FiboZZPrev", OBJPROP_LEVELCOLOR, Fibo_Color);

ObjectSet("FiboZZPrev", OBJPROP_COLOR, Fibo_Color);

ObjectSet("FiboZZPrev", OBJPROP_RAY, False );// Per abilitare i raggi sostituire False con True

ObjectSet("FiboZZPrev", OBJPROP_FIBOLEVELS, 14);

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+0,0.236); ObjectSetFiboDescription("FiboZZPrev",0, "23.6");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+1,0.382); ObjectSetFiboDescription("FiboZZPrev",1, "38.2");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+2,0.50); ObjectSetFiboDescription("FiboZZPrev",2, "50.0");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+3,0.618); ObjectSetFiboDescription("FiboZZPrev",3, "61.8");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+4,1.0); ObjectSetFiboDescription("FiboZZPrev",4, "100.0");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+5,1.618); ObjectSetFiboDescription("FiboZZPrev",5, "161.8");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+6,2.618); ObjectSetFiboDescription("FiboZZPrev",6, "261.8");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+7,4.236); ObjectSetFiboDescription("FiboZZPrev",7, "423.6");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+8,0.088); ObjectSetFiboDescription("FiboZZPrev",8, "8.8");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+9,0.145); ObjectSetFiboDescription("FiboZZPrev",9, "14.5");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+10,0.764); ObjectSetFiboDescription("FiboZZPrev",10, "76.4");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+11,0.855); ObjectSetFiboDescription("FiboZZPrev",11, "85.5");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+12,0.921); ObjectSetFiboDescription("FiboZZPrev",12, "92.1");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+13,0.0); ObjectSetFiboDescription("FiboZZPrev",13, "0.0");

if( Fibo_Absolut_Value ){

ObjectSet("FiboZZPrev", OBJPROP_FIBOLEVELS, 14);

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+0,0.236); ObjectSetFiboDescription("FiboZZPrev",0, "23.6 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+1,0.382); ObjectSetFiboDescription("FiboZZPrev",1, "38.2 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+2,0.50); ObjectSetFiboDescription("FiboZZPrev",2, "50.0 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+3,0.618); ObjectSetFiboDescription("FiboZZPrev",3, "61.8 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+4,1.0); ObjectSetFiboDescription("FiboZZPrev",4, "100.0 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+5,1.618); ObjectSetFiboDescription("FiboZZPrev",5, "161.8 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+6,2.618); ObjectSetFiboDescription("FiboZZPrev",6, "261.8 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+7,4.236); ObjectSetFiboDescription("FiboZZPrev",7, "423.6 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+8,0.088); ObjectSetFiboDescription("FiboZZPrev",8, "8.8 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+9,0.145); ObjectSetFiboDescription("FiboZZPrev",9, "14.5 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+10,0.764); ObjectSetFiboDescription("FiboZZPrev",10, "76.4 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+11,0.855); ObjectSetFiboDescription("FiboZZPrev",11, "85.5 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+12,0.921); ObjectSetFiboDescription("FiboZZPrev",12, "92.1 %$");

ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+13,0.0); ObjectSetFiboDescription("FiboZZPrev",13, "0.0");

}

}

}

wave_cnt++;

prezzo=ExtMapBuffer2[w];

TimeTmp=Time[w];

}

}



//----

ritorno(0);

}

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

 
lagriv:

Come ottenere il valore del livello di fibra selezionato da un tale indicatore?

che cazzo?

Forse dovresti metterci anche "guerra e pace".

 

aiuto per favore... il mio Expert Advisor controlla gli ordini aperti ...un ordine può essere aperto alla volta ...ma quando inserisco uno stop su una linea retta al momento dell'apertura di un ordine dà errore 130...per esempio era così

se(giù>0)

{

ticket=OrderSend(Symbol(),OP_SELL,dLot,Bid,3,0,Bid-TakeProfit*Point,0,16384,0,Red);

Digito uno stop di dimensione 100

ticket=OrderSend(Symbol(),OP_SELL,dLot,Bid,3,100,Bid-TakeProfit*Point,0,16384,0,Red); ...dà errore 130 nel tester

DTz Alpari...forse dovrei modificare p dopo aprire un ordine e mettere uno stop?...dimmi come approssimativamente questo può essere fatto o indicami un EA che fa questo...per favore

 
ilmur:

aiuto per favore...

100*Punto
 
ilmur:

aiuto per favore... l'advisor ha una funzione di controllo degli ordini aperti...un ordine può essere aperto alla volta...ma quando si inserisce una misura di stop direttamente al momento dell'apertura

un nuovo ordine può essere modificato dopo che è stato aperto e uno stop può essere impostato ... potresti per favore consigliarmi come fare questo o indicarmi un EA dove questo viene fatto ... per favore


Uno stop dovrebbe essere di tipo doppio. Si deve specificare il prezzo al quale lo stop deve essere impostato.

extern double   Lot=1;// Лот ордера при ручном управлении.
extern int      StopLoss=100;//СтопЛосс ордера при ручном управлении
extern int      TakeProfit=100;//ТейкПрофит ордера при ручном управлении
extern int      MAGIC=467003; // У ордеров открытых вручную MAGIC=0
extern int      Proskalz=10; //Проскальзывание
..........
double PR,SL,TP;
..............
PR=PR=NormalizeDouble(Ask,Digits);
if(StopLoss==0){
  SL=0;
}
if(StopLoss>0){
  SL=PR-StopLoss*Point;
}
if(TakeProfit==0){
 TP=0;
}
if(TakeProfit>0){
  TP=PR+TakeProfit*Point;
}
SL=NormalizeDouble(SL,Digits);
TP=NormalizeDouble(TP,Digits);
int TicketBuy=OrderSend(Symbol(),OP_BUYSTOP,Lot,PR,Proskalz,SL,TP,NULL,MAGIC,0,CLR_NONE);
if(TicketBuy==(-1)){
  Print("Ошибка № "GetLastError()," при установке Бай-ордера");
}
 
alsu:
100*Punto
Grazie mille a tutti quelli che hanno risposto
 
artmedia70:

Perché questo algoritmo che avete già scritto non si riflette nel vostro codice?
Pensate che solo guardando il vostro codice non formattato si possa indicare immediatamente il vostro errore?

Hai ancora bisogno di "leggerlo"...

Ecco un estratto del codice in cui tutto ciò che avete abbozzato su un pezzo di carta è mostrato anche nel codice:

Quindi, fino a quando non avrete capito bene la cosa più semplice, non dovreste andare oltre...

E tu? Hai messo tutto insieme, non hai commentato una sola riga. Ora prenditi una settimana di pausa e torna al tuo codice. Sono sicuro che ti ci vorranno due ore per ricordare. 100%


Mi dispiace, il codice non è mio, lo sto imparando da solo, era un pezzo riguardante gli ordini pendenti, il resto è bla bla, come al solito impostazioni, lotti, frattali, trawl. Questo EA non sta funzionando, cioè sta perdendo a causa degli ordini accumulati, quindi ho deciso di mettere alcune restrizioni e vedere cosa succede. Userò il linguaggio mql ma non ho idea di cosa farci. Non so come usarlo.
 
stalkertula:
Scusa, il codice non è mio, lo sto studiando io stesso. Questa era una parte riguardante gli ordini pendenti, il resto era bla bla, come facciamo di solito con le impostazioni, i lotti, i frattali e il trawl. Questo EA non sta funzionando, cioè sta perdendo a causa degli ordini accumulati, quindi ho deciso di mettere alcune restrizioni e vedere cosa succede. Userò il linguaggio mql ma non ho idea di cosa farci. Grazie, ci darò un'occhiata.

Questo è strano. Cosa c'è da scusare? Bene... Vi ho mostrato come dovreste progettare i vostri codici, così non dovrete capirlo dopo.

E poiché il tuo codice è di qualcun altro... Ma... Puoi anche commentare quelle stringhe il cui significato ti è diventato chiaro durante l'analisi. Dopo sarà più facile da capire, e sarà meglio che tu scriva il tuo sulla base di quello analizzato. Quindi, per comprenderlo pienamente, capirlo e convertirlo alle proprie esigenze.

Questo èesattamente ciò che vi porterà ad una comprensione logica. Sarà anche un bene per voi. :)
Buona fortuna!