[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 93

 
Roll:
Scopo della domanda? Opinione personale: qualunque siano le norme, le regole e l'opinione pubblica su qualsiasi questione per l'algoritmo del codice (utenti del codice), l'opinione soggettiva dell'autore (o degli autori) di questo codice è di primaria importanza, indipendentemente dalla "correttezza".
Lo scopo della domanda - quali sono i modelli di candele più significativi, diciamo, per un'inversione di tendenza o la continuazione di una tendenza?
 
first_may:
Lo scopo della domanda è quali sono i pattern candlestick più significativi, diciamo per un'inversione di tendenza o per una continuazione di una tendenza?

Hai bisogno di una lista di letteratura?
 
Roll:

Hai bisogno di una lista di letteratura?

La letteratura che indicherà i modelli più importanti? Il libro Morris G. Japanese Candlesticks non è buono per questo?
 

Buon pomeriggio, potreste consigliarmi cosa aggiungere al codice dell'Expert Advisor in modo che l'informazione visualizzata nel quadrato non venga distorta (per esempio dal grafico o da altre linee), cioè che sia in primo piano e non risulti evidente. Grazie in anticipo.

ObjectCreate("Flag-1", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Flag-1", "g", 154, "Webdings");
ObjectSet("Flag-1", OBJPROP_CORNER, 0);
ObjectSet("Flag-1", OBJPROP_XDISTANCE, 6);
ObjectSet("Flag-1", OBJPROP_YDISTANCE, 4);
ObjectSet("Flag-1", OBJPROP_COLOR, DimGray);
ObjectSet("Flag-1", OBJPROP_BACK, false);

 
sergeev:

Strategie di test. MT4. MQL4



1
1billionbaks 16.08.2011 13:26

Salve.

Sono interessato a questa domanda. Come posso scaricare e testare EAs e indicatori su una grande scala temporale?


Vero - solo su demo e su diverse coppie di valute! Il tester di strategie dà risultati completamente impensabili.
 
bercut0077:

Buon pomeriggio, potreste consigliarmi cosa aggiungere al codice dell'Expert Advisor in modo che l'informazione visualizzata nel quadrato non venga distorta (per esempio dal grafico o da altre linee), cioè che sia in primo piano e non risulti evidente. Grazie in anticipo.

ObjectCreate("Flag-1", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Flag-1", "g", 154, "Webdings");
ObjectSet("Flag-1", OBJPROP_CORNER, 0);
ObjectSet("Flag-1", OBJPROP_XDISTANCE, 6);
ObjectSet("Flag-1", OBJPROP_YDISTANCE, 4);
ObjectSet("Flag-1", OBJPROP_COLOR, DimGray);
ObjectSet("Flag-1", OBJPROP_BACK, false);


Se funziona, scrivi come hai fatto
 

Buona giornata. Aiuto PER FAVORE TESTER NON PUO' INIZIARE: Per esempio lavorando advisor 1.6 ilan e 18, ho aperto gli ordini è il commercio ma lentamente va in deficit, voglio testare, ho impostato m5 coppia di valute euro-dollaro impostare i parametri e premere start barra verde lentamente andando avanti. Non vedo alcun risultato, vedo un grafico vuoto, ma ho scritto errore 131 Per favore consigliatemi, ho appena iniziato a imparare. Sto lavorando con forex4, grazie mille Igor. Non so come impostare uno stop loss.

 

Buon pomeriggio!!! Devo diventare di nuovo scemo. Sono tornato a cancellare tutti gli ordini. Non ricordo esattamente cosa stavo facendo lì un mese fa e ho creato un nuovo EA da pezzi.

In breve, l'EA non cancella gli ordini. Infatti, il ciclo forex non cade.

//----  


 // Alert ("ОсталосььOrdersTotal()", OrdersTotal());
    j=-1;
 for ( i=0; i<OrdersHistoryTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderSymbol()!=Symbol())     continue;
         if (OrderType()>1)               continue;
         if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
            if (wremjapomnim<OrderCloseTime()) {
                wremjapomnim=OrderCloseTime();
                j=i;
               }
            }
         }
      }
   if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
      if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point) {
         Alert("Позиция с тикетом #",OrderTicket()," закрыта по TakeProfit, закрываем остальные прозиции и удаляем отложенные ордера");
         // Здесь код для закрытия всех открытых позиций (тоже в цикле)
         for ( i=0; i<OrdersTotal(); i++) {Alert ("Здесь код для закрытия всех открытых позиций (тоже в цикле)",i);
           OrderSelect(i, SELECT_BY_POS );
              if (  OrderType( )==OP_BUY && OrderType( )==OP_SELL ){
                          OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);
   Alert ("OrderClose-vse-2",  GetLastError( ) ); C=0;A=1; }} 
         // Здесь код для удаления всех отложенных ордеров (также в цикле)
         for ( i=0; i<OrdersTotal(); i++) {Alert("Здесь код для удаления всех отложенных ордеров (также в цикле)",i);    
         OrderSelect(i, SELECT_BY_POS );
           if (  OrderType( )==OP_BUYSTOP && OrderType( )==OP_SELLSTOP ){ 
            OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vse-2",  GetLastError( ) ); }}    CloseAll();
         }
      }
//----


   return(0);
  }
//+------------------------------------------------------------------+


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

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



//+------------------------------------------------------------------+
// Закрываем все ордера                                              |
//+------------------------------------------------------------------+
void CloseAll()
{
 int ticket, i;
 while(OrdersTotal()>0) {
  for(i=OrdersTotal()-1;i>=0;i--){
   OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(OrderType()<2){
     if(OrderType()==OP_BUY) {
        RefreshRates();
        ticket=OrderClose(OrderTicket(),OrderLots(),Bid,3,0);
        if(!ticket) Print(" Ошибка! ",GetLastError()); 
        Sleep(1000); }
     if(OrderType()==OP_SELL) {
        RefreshRates();
        ticket=OrderClose(OrderTicket(),OrderLots(),Ask,3,0);
        if(!ticket) Print(" Ошибка! ",GetLastError()); 
        Sleep(1000); }
    }    
  }
 }   
}
//+ -----------------------------------------------------------------+
Tutto viene registrato bene fino al ciclo fore, il registro non riceve mai una voce...
Alert ("Здесь код для закрытия всех открытых позиций (тоже в цикле)",i);
E il ciclo in cui...
for ( i=0; i<OrdersTotal(); i++) {Alert("Здесь код для удаления всех отложенных ордеров (также в цикле)",i);

Anche la funzione non cancella nulla... Aiuto!!!!Per favore! Ho fissato il modulo per 40 minuti...

Dove diavolo sono?

 
è possibile scaricare un indicatore per le onde di zolliot
 

2Dimka-novitsek

da void CloseAll()

ticket=OrderClose

Ticket è di tipo intero, OrderClose è booleano. È meglio non farlo.

mentre il ciclo è infinito, e il tentativo è fatto per cancellare solo gli ordini di mercato, se ce n'è uno in sospeso, allora questa musica sarà eterna.

Per il resto

Ho capito che il primo modulo cerca l'ultimo ordine chiuso per ticket e simbolo.

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

è meglio cercare una chiusura nell'ordine inverso; non credo sia necessario spiegarne il motivo.

if ( OrderType( )==OP_BUY && OrderType( )==OP_SELL )

L'ordine può essere sia BUY che SELL, ma preferirei averlo ||

(OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))

Metterei j prima di questa linea; semplificherebbe le cose e penserebbe anche alla condizione

se (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point)

Consiglio di chiarire chi è il punto e perché è moltiplicato per 0,5?