Sto facendo fatica a imparare mql5, ma ho capito che non capisco la parte finanziaria, quindi non so nemmeno cosa scrivere. Ho delle conoscenze di base, ma non so come usarle. Per favore, consigliate le brave persone che sono state nella stessa situazione, come hanno trovato una via d'uscita?
dzhabrailov: Sto facendo fatica a imparare mql5, ma ho capito che non capisco la parte finanziaria, quindi non so nemmeno cosa scrivere. Ho delle conoscenze di base, ma non so come usarle. Potete consigliare le brave persone che si sono trovate nella stessa situazione?
Cosa significa "parte finanziaria"? Funzioni di trading? OrderSend() non è chiaro come organizzare?
È esattamente quello che capisco, ma non sempre si riesce a comprare più a buon mercato e a vendere più caro. Quando entrare in un affare, quando uscirne e così via, ecco cosa intendo.
dzhabrailov: Questo è esattamente ciò che è chiaro, ma non si può sempre comprare più a buon mercato e vendere più caro. Quando entrare in un affare, quando uscirne e così via, ecco cosa intendo.
Beh, questo non fa parte della nozione di programmazione. Questa è l'arte del trading. Lo insegnano, ma non credo nel successo di tali formazioni.
Al vostro"ArraySortBubbleTwoDims"
Al vostro"ArraySortBubbleTwoDims".
Comunque, ho ampliato il ciclo e il problema è risolto. Ma vorrei ancora vedere una soluzione normale sotto forma di una funzione standard
Al vostro"ArraySortBubbleTwoDims".
Comunque, ho ampliato il ciclo e il problema è risolto. Ma vorrei ancora vedere una soluzione normale sotto forma di una funzione standard
//| sTestSort.mq5 |
//| Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//| https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Artem A. Trishkin, Skype artmedia70"
#property link "https://login.mql5.com/ru/users/artmedia70"
#property version "1.00"
//---
#define TWO_DIM (2)
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//---
double array[][TWO_DIM];
ArrayResize(array,10);
for(uchar i=0; i<10; i++) {
array[i][0]=i*10;
array[i][1]=rand();
}
Print("Перед сортировкой");
for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]);
Print("Сортировка по первому измерению по возрастанию");
ArraySortBubbleTwoDims(array);
for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]);
Print("Сортировка по первому измерению по убыванию");
ArraySortBubbleTwoDims(array,0,1);
for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]);
//---
Print("Сортировка по второму измерению по возрастанию");
ArraySortBubbleTwoDims(array,1);
for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]);
Print("Сортировка по второму измерению по убыванию");
ArraySortBubbleTwoDims(array,1,1);
for(uchar i=0; i<10; i++) Print("array[",i,"][0]=",array[i][0],", array[",i,"][1]=",array[i][1]);
}
//+------------------------------------------------------------------+
//| Пузырьковая сортировка двумерного массива |
//+------------------------------------------------------------------+
template<typename T>
void ArraySortBubbleTwoDims(T& array[][TWO_DIM], int sort_dimension=0, int sort_direction=0) {
T t=0;
int k=ArrayRange(array,1); // Количество колонок
int n=ArrayRange(array,0); // Количество строк
//---
if(sort_dimension<0) sort_dimension=0;
if(sort_dimension>k) sort_dimension=k;
//---
for(int i=n-1; i>0; i--) {
for(int j=0; j<i; j++) {
//--- по возрастанию
if(sort_direction==0) {
if(array[j][sort_dimension]>array[j+1][sort_dimension]) {
for(int e=0; e<k; e++) {
t=array[j][e];
array[j][e]=array[j+1][e];
array[j+1][e]=t;
}
}
}
//--- по убыванию
else {
if(array[j][sort_dimension]<array[j+1][sort_dimension]) {
for(int e=0; e<k; e++) {
t=array[j][e];
array[j][e]=array[j+1][e];
array[j+1][e]=t;
}
}
}
}
}
}
//+------------------------------------------------------------------+
Controllo dello script:
Grazie, ma il mio codice è magico(
Errore: 'mas' - conversione dei parametri non consentita e.mq5 2129 25
Grazie, ma il mio codice è magico(
Errore: 'mas' - conversione dei parametri non consentita e.mq5 2129 25
Il vostro mas ha una seconda dimensione di 3. Te ne servono 2.
Linea di fondo:
void PosBySort(double &mas[][3])
Sto facendo fatica a imparare mql5, ma ho capito che non capisco la parte finanziaria, quindi non so nemmeno cosa scrivere. Ho delle conoscenze di base, ma non so come usarle. Potete consigliare le brave persone che si sono trovate nella stessa situazione?
Questo è esattamente ciò che è chiaro, ma non si può sempre comprare più a buon mercato e vendere più caro. Quando entrare in un affare, quando uscirne e così via, ecco cosa intendo.