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

 
artmedia70:
Questo è l'invio di una richiesta di scambio al server.


Ahi.

Intendevo OrderSelect.


khorosh:
Leggete le funzioni di KimIV e vedrete che la maggior parte di esse sono progettate per recuperare alcune informazioni sugli ordini aperti o chiusi.

Ancora una volta, mentre spulciavo le pagine del tutorial, mi sono imbattuto in un malinteso sull'uso della funzione "Order Accounting". Ha deciso di chiedere.
Le funzioni KimIV sono difficili da capire, ma considererò ogni dettaglio (anche se è irrazionale).
Oh, riguardo all'esempio del PC, della TV, del telefono - ottimo esempio. Ora ho pensato alla struttura del mio televisore e sono giunto alla conclusione che so molto bene come è impostato il mio televisore (è stato tre anni fa, quando i miei genitori mi hanno sorpreso a smontarlo, che ho avuto accesso a Internet).
 
Link_x:

Ops.

Intendevo OrderSelect.


Ancora una volta, mentre vagavo tra le pagine del tutorial, mi sono imbattuto in un malinteso su come usare la funzione OrderSelect(). Ha deciso di chiedere.
Le funzioni KimIV sono difficili da capire, ma considerate ogni dettaglio (anche se è irrazionale).
Oh, riguardo all'esempio del PC, della TV, del telefono - ottimo esempio. Ora ho pensato alla struttura del mio televisore e sono giunto alla conclusione che so molto bene come è impostato il mio televisore (è stato tre anni fa, quando i miei genitori mi hanno sorpreso a smontare il televisore, che ho avuto accesso a Internet per la prima volta).

Il codice e la logica di Igor sono molto facili da capire. Un sacco di roba inutile per l'universalità, ma comunque. Mostratemi ciò che non capite e ve lo dirò.

OrderSelect() - seleziona l'ordine. Questa è la prima cosa da fare quando si lavora con gli ordini.

 
artmedia70:

Il codice e la logica di Igor sono molto facili da capire. Un sacco di roba inutile per l'universalità, ma comunque. Mostrami quello che non capisci e te lo dirò.

OrderSelect() - seleziona l'ordine. Questa è la prima cosa da fare quando si lavora con gli ordini.



È fantastico! "Ci siamo!" :)

"Mattone numero uno".
La mia idea dei significati dei componenti:
int GetTypeLastClosePos(string sy="", int mn=-1) {                            // Обозначение пользовательской функции, строковой переменной, а так же числовой переменной.
  datetime t;                                                                 // Установление переменной, связанной со временем. 
  int      i, k=OrdersHistoryTotal(), r=-1;                                   // Обозначение числовой переменной, переменной, использующей исторические все данные, утверждение значения r.
  if (sy=="0") sy=Symbol();                                                   //  Если строковая переменная равняется "0", то она имеет случайное значение.
  for (i=0; i<k; i++) {                                                       // Начало  выяснения типа позиции, при обстоятельствах: i < K, а так будет всегда.
   if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {                         // Поиск ордера из истории закрытых ордеров с "билетом" i, точным номером позиции. Если ордер найден, то
      if ((OrderSymbol()==sy || sy=="") && (mn<0 || OrderMagicNumber()==mn)){ // задается инструмент, по которому был открыт ордер как sy и его уникальный номер как mn. Это еще не все.
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {                    // Тип ордера определяется как покупка или продажа заданного значения sy инструмента.
          if (t<OrderCloseTime()) {                                           // Если время закрытия ордера определено, тогда определяются две переменные:
            t=OrderCloseTime();                                               // переменная t в качестве  времени закрытия идентифицированного ордера,
            r=OrderType();                                                    //  переменная r в качестве типа определенного ордера.
          }                                                                   //  Хватит.
        }                                                                     // Достаточно.
      }                                                                       // Полно, я доволен!
    }                                                                         // Остановись!
  }                                                                           // Стой, ****!
  return(r);                                                                  // Остановка дейст вия функции с выводом значения переменной r.
}                                                                             // Конец. 
.
In questo codice, non ho trovato una variabile che dia il valore del tipo dell'ultimo ordine chiuso.

Mi è chiaro come fare il parsing delle funzioni di Igor, che è venerato nei circoli locali.
Posso mettere la mia comprensione di questi componenti, e voi, come programmatori intelligenti, correggerete la mia comprensione di queste funzioni? ><
 
artmedia70:

Igor 1 ha un codice e una logica molto accessibili. Un sacco di 2 - non necessari per l'universalità, ma comunque. Mostrami quello che tu 3 - non capisci lì, e te lo dirò.

4 - OrderSelect() - seleziona un ordine. Questa è la prima cosa da fare quando si lavora con gli ordini.


Risposta punto per punto, scusate.
1 - genio della programmazione?
2 - per essere giusti, nulla è superfluo tranne le feci e altri prodotti di decomposizione (opinione franca, pronto a iniziare a discutere, ma in un altro thread :) ).
3 - ora tutto ha un senso. :)
4 - così vero. Lo so, mi sono un po' "sbagliato" e ho digitato con la funzione "OrderSend".

Grazie per aver contribuito al template "Function-Brick parsing". :)
 
Sepulca:


Sì al broker, naturalmente)))

Il terminale non si preoccupa.... Vi darà gli ultimi dati conosciuti...


Ci sono solo quattro funzioni nel server. Aprire, modificare e chiudere (cancellare) un ordine
 
Link_x:
Risposta punto per punto, scusate.
1 - genio della programmazione?
2 - per essere giusti, nulla è superfluo tranne le feci e altri prodotti di decomposizione (opinione franca, pronto a iniziare a discutere, ma in un altro thread :) ).
3 - ora tutto ha un senso. :)
4 - così vero. Lo so, mi sono un po' "sbagliato" e ho digitato con la funzione "OrderSend".

Grazie per aver contribuito al template "Function-Brick parsing". :)

Prima di tutto dobbiamo familiarizzare con il concetto di funzione. E poi si può passare alla questione di cosa fanno e come usarli.
 
Per ricapitolare!
Prima di pensare alla tua incapacità di capire il codice, dovresti "provare a smontare il televisore".
О-у, насчет примера с ПК, телевизором, телефоном - очень хороший пример. 
Сейчас порассуждал о строении своего телевизора и пришел к выводу, 
что хорошо знаю, как устроен мой телевизор (года три назад "горел желанием" его разобрать, 
именно в тот момент, когда мои родители застали меня за разбиранием телевизора, 
я впервые получил доступ в интернет). 
 
Link_x:

Perfetto! "Ci siamo! :)

"Mattone numero uno".
La mia rappresentazione dei valori costitutivi:
.
In questo codice, non ho trovato la variabile che dà il valore del tipo dell'ultimo ordine chiuso.

Mi è chiaro come fare l'analisi delle funzioni di Igor, che è venerato in questi ambienti.
Posso postare la mia comprensione di questi componenti, e voi, come programmatori intelligenti, correggere la mia comprensione di queste funzioni? ><

Il tipo di ordine nella variabile r. Nell'ultimo operatore, il valore di questa variabile è assegnato alla funzione stessa, il che significa che non avete bisogno di questa variabile in linea di principio. Il tipo dell'ultimo ordine chiuso è il valore della funzione, per esempio, potete vedere questo valore, se lo visualizzate sullo schermo usando l'operatore Comment()

Comment("Typ=",GetTypeLastClosePos("", -1);

o nel diario usando l'operatore Print()

Print("Typ=",GetTypeLastClosePos("", -1);
 
evillive:

Sostituire le variabili MA con variabili indicatore nel codice EA (tutti e tre i set):

poi sostituire le linee di chiamata MA con la chiamata J2JMA:


evillive, ho provato a sostituire come hai detto tu, ma apparentemente anche questo richiede più conoscenza, la compilazione dà "53 errore(i), 18 avviso(i)", risultato allegato. evillive, posso chiederti di fare queste sostituzioni se hai tempo.
 
khorosh:

Il tipo di ordine nella variabile r. Nell'ultimo operatore, il valore di questa variabile è assegnato alla funzione stessa, il che significa che non avete bisogno di questa variabile in linea di principio. Il tipo dell'ultimo ordine chiuso è il valore della funzione, per esempio, potete vedere questo valore se lo stampate sullo schermo usando l'operatore Comment()

o nel diario usando l'operatore Print()


Ecco un esempio di uso pratico di una funzione personalizzata:
GetTypeLastClosePos

.
Grazie.
Quindi bisogna applicare il nome della funzione per usarla, e la variabile "r" stessa è impostata per determinare il valore di quella funzione!
Ecco una piccola scoperta per me! ^^
Grazie ancora, Yuri. :)


Per il chiarimento finale, questo è possibile:

if(GetTypeLastClosePos == OP_BUY)
?


Motivazione: