Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 549

 
GSB:

No, se mettete prima int slippage alloca 4 byte, quindi dovete aggiungere fino a 8 (int reserve) o usare long invece di int


C'è un altro momento strano qui. Se è un elemento di una struttura di stringhe, allora se il numero di caratteri variabili di questo tipo di stringa è più di 7, lo metteremo sopra gli altri? Perché le stringhe hanno sempre un carattere nullo \n alla fine della stringa, e se ci sono più di 7 elementi nella stringa, per esempio, 8 elementi, allora la stringa avrà 8 + 1 byte, perché 8 + \n. Giusto?
 
GSB:

129 errore si verifica quando il prezzo ha il tempo di cambiare prima che il DC esegua il tuo ordine, usa uno slippage più grande.


Lo slippage è di 50 vecchi pip, il prezzo dopo il punto decimale ha 5 o 4 cifre, a volte è 12 o 16. L'ho testato su una demo.
 
Example2:


No, non nel tester, solo un conto demo.

Ho già notato il tuo post e ho cancellato il mio - l'ho scritto dall'ultima pagina. Senza il codice è difficile dirvi qualcosa di specifico.
 
artmedia70:
Ho già notato il tuo post e ho cancellato il mio - l'ho scritto dall'ultima pagina. Senza il codice è difficile dirvi qualcosa di specifico.


Te lo mando nel forum o in privato?
 
Example2:

Vuoi che lo pubblichi sul forum o di persona?
Per favore, lasciatelo sul forum se non vi dispiace. Qualcuno lo correggerà. Mi sto già infilando nel letto - sono le 5:30 del mattino, il cavallo è ancora sveglio...
 
Anch'io vado a letto.
File:
 
     USDCADAsk = MarketInfo("USDCAD",MODE_ASK);            
     USDCADBid = MarketInfo("USDCAD",MODE_BID);

     Comment("USDCADAsk = "+DoubleToStr(USDCADAsk,нужный диджитлс),"\n",
             "USDCADBid = "+DoubleToStr(USDCADBid,нужный диджитлс));
 
hoz:

C'è un altro momento strano qui. Se ci sarà un elemento della struttura di tipo stringa, se il numero di caratteri variabili di questo elemento è più di 7, lo metteremo sopra il resto? Dopo tutto, le stringhe hanno sempre un carattere nullo \n alla fine della stringa e se ci sono più di 7 elementi nella stringa, per esempio, 8 elementi, la stringa avrà 8 + 1 byte perché 8 + \n. Giusto?

Se la struttura contiene variabili di tipo stringa e/o oggetto di array dinamico, il compilatore assegna un costruttore implicito a tale struttura, dove tutti i membri della struttura di tipo stringasono azzerati e vieneeseguita una corretta inizializzazione per l'oggetto di array dinamico.

 
Example2:

Anch'io sto dormendo.

File allegati:
Kuklovod_USD_1.1.mq4


Non si possono scrivere codici così distrattamente :)

Prima, Comment("USDCADAsk = ",USDCADAsk); poi USDCADAsk = DoubleToString(MarketInfo("USDCAD",MODE_ASK),usdcaddigits); USDCADAsk è dichiarato come un doppio, ma tu ci metti una stringa,

e poi Digits.... di nuovo ^) e Punto

Dovete cercare voi stessi tali errori, nessuno li aggiusterà per voi come il commercio! Il compilatore genera 28 errori e voi mettete la demo nel trading. Avresti voluto usare soldi veri, ma il mercato ti avrebbe corretto!

 if (USDCHF){while(IsTradeContextBusy()){Sleep(10);}
                    RefreshRates();
                    Result[1] = OrderSend("USDCHF",OP_BUY,Lot,USDCHFAsk,slip,USDCHFAsk-NormalizeDouble(sl*Point,Digits),USDCHFAsk+NormalizeDouble(tp*Point,Digits),"USDCHF",magic[0],0,Red);
                    if (Result[1] < 0){Alert("Функция OpenOrders ","\n","Валютная пара "+"USDCHF","\n",
                    "Команда: открыть ордер Sell","\n", "Ответ сервера: " ,errors(GetLastError()) );}}
        if (USDJPY){while(IsTradeContextBusy()){Sleep(10);}
                    RefreshRates();
                    Result[2] = OrderSend("USDJPY",OP_BUY,Lot,USDJPYAsk,slip,USDJPYAsk-NormalizeDouble(sl*Point,Digits),USDJPYAsk+NormalizeDouble(tp*Point,Digits),"USDJPY",magic[0],0,Red);
                    if (Result[2] < 0){Alert("Функция OpenOrders ","\n","Валютная пара "+"USDJPY","\n", 
                    "Команда: открыть ордер Sell","\n", "Ответ сервера: " ,errors(GetLastError()) );}}

Di chi è il Bid Ask?

//-----------

void CloseOrders(){
      for (int i = OrdersTotal()-1; i>=0; i--){
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
             if (OrderMagicNumber() == magic[0]){
               if (USDBuySl || USDBuyTp){
                 while(IsTradeContextBusy()){Sleep(10);}
                 RefreshRates();
                 OrderClose(OrderTicket(),OrderLots(),Bid,slip,Blue);
               }
             }
   .................
        OrderClose(OrderTicket(),OrderLots(),Ask,slip,Blue);


Corretto

RefreshRates();
double bid=MarketInfo(OrderSymbol(),MODE_BID);
double ask=MarketInfo(OrderSymbol(),MODE_ASK);
OrderClose(OrderTicket(),OrderLots(),bid,slip,Blue);
.............
OrderClose(OrderTicket(),OrderLots(),ask,slip,Blue);
 
Aiutatemi a trovare il valore massimo dell'indicatore N per il giorno precedente, ottengo i dati attraverso iCustom e poi un blocco. Penso che sia fatto attraverso ArrayMaximum, ma come trovare il valore

Non so cosa dovrebbe fare iCustom, non riesco a pensare ad altre opzioni.

Motivazione: