AlexeyVik: Ora cominceranno a spiegarti che l'angolo dipende dalla scala del grafico e non si può fare... Ma se si prende non l'angolo, ma solo la tangente dell'angolo, si può fare.
So che in geometria a scuola si insegnavano le tangenti e le catangenti, ma ahimè non ricordo) ho chiesto a Fresh sul forum, ma non ho ottenuto una risposta specifica.
In breve, la tangente di un angolo in un triangolo rettangolo è il rapporto tra la gamba opposta e quella adiacente.
Traducendo questo alla situazione nel diagramma MT, otteniamo - la gamba opposta sarà uguale ai punti (in pct.) e quella adiacente in barre (anche in pct.).
Esempio:
EURUSD apertura 6.03 1.3732 apertura 7:03 1.3860 totale 128 pips. A M1 1440 bar tan = 128/1440=0.08889
Questa equazione è fondamentalmente usata nella funzione ObjectGetValueByShift()
Per favore, spiega come inserire i dati di una tabella (*.csv) in una matrice statica tridimensionale. La prima colonna della tabella contiene l'indice per la prima dimensione dell'array, La seconda colonna contiene l'indice per la seconda dimensione dell'array, La terza e l'ulteriore colonna contengono i valori stessi per la terza dimensione dell'array.
void AAA()
{
int Handle; // Файловый описательstring File_Name = "AAA.csv"; // Имя открываемого файлаstring str_1 = ""; // 1 Номер индекса по первому измерениюstring str_2 = ""; // 2 Номер индекса по второму измерениюstring str_3 = ""; // 3 Значениеstring str_4 = ""; // 4 Значениеstring str_5 = ""; // 5 Значение
Handle=FileOpen(File_Name, FILE_READ, ";"); // Открытие файлаwhile(FileIsEnding(Handle)==false) // До тех пор, пока файловый...
{ // ...указатель не в конце файла// Чтение данных из строки до файлового разделителя
str_1 = FileReadString(Handle); // 1 Номер индекса по первому измерению
str_2 = FileReadString(Handle); // 2 Номер индекса по второму измерению
str_3 = FileReadString(Handle); // 3 Значение
str_4 = FileReadString(Handle); // 4 Значение
str_5 = FileReadString(Handle); // 5 Значениеif(FileIsEnding(Handle)==true) // Файловый указатель в конце файлаbreak; // Выход из цикла чтения
????????????????????????????????????????????????????
}
FileClose(Handle); // Закрываем файлreturn; // Выход из функции
}
Leo59: Per favore, spiega come mettere i dati di una tabella (*.csv) in un array statico tridimensionale. La prima colonna della tabella ha un indice sulla prima dimensione dell'array, La seconda colonna è l'indice della seconda dimensione dell'array, Nella terza e ulteriore colonna - i valori stessi secondo la terza dimensione dell'array.
Se per l'analisi in Excel stesso, la tabella riassuntiva.
O mostrare alcuni dati, sembra che dovremo avere degli array di stringhe ausiliari che corrisponderanno all'indice-valore.
.... sembra che dovremo avere degli array di stringhe ausiliari che corrisponderanno al valore dell'indice.
void AAA()
{
int Handle; // Файловый описательstring File_Name = "AAA.csv"; // Имя открываемого файлаstring str_1 = ""; // 1 Номер индекса по первому измерениюstring str_2 = ""; // 2 Номер индекса по второму измерениюstring str_3 = ""; // 3 Значениеstring str_4 = ""; // 4 Значениеstring str_5 = ""; // 5 Значение
Handle=FileOpen(File_Name, FILE_READ, ";"); // Открытие файлаwhile(FileIsEnding(Handle)==false) // До тех пор, пока файловый...
{ // ...указатель не в конце файла// Чтение данных из строки до файлового разделителя
str_1 = FileReadString(Handle); // 1 Номер индекса по первому измерению
str_2 = FileReadString(Handle); // 2 Номер индекса по второму измерению
str_3 = FileReadString(Handle); // 3 Значение
str_4 = FileReadString(Handle); // 4 Значение
str_5 = FileReadString(Handle); // 5 Значениеif(FileIsEnding(Handle)==true) // Файловый указатель в конце файлаbreak; // Выход из цикла чтения// Завели строковый массив// Преобразование типов данных и запись в масссивArrayResize(Mas1, SizeMas1+1); // Увеличили размер массива Mas1
Mas1[SizeMas1][0] = StrToInteger(str_1); // 0 Номер индекса по первому измерению
Mas1[SizeMas1][1] = StrToInteger(str_2); // 1 Номер индекса по второму измерению
Mas1[SizeMas1][2] = StrToDouble(str_3); // 2 Значение
Mas1[SizeMas1][3] = StrToDouble(str_4); // 3 Значение
Mas1[SizeMas1][4] = StrToDouble(str_5); // 4 Значение
SizeMas1++; // Новый размер массива Mas1// Что дальше ????????????????????????????????????????????????????
}
FileClose(Handle); // Закрываем файлreturn; // Выход из функции
}
Alert("objectTipe=", ObjectType("MyArrow"), "ARROW CODE=",ObjectGet("MyArrow",OBJPROP_ARROWCODE) ) ; // incubo "objecType=" =22, non ho capito perché non 36 come nella prima linea ?
Usa questo https://docs.mql4.com/ru/indicators/imaonarray
Guardate il codice, è corretto?
Ora cominceranno a spiegarti che l'angolo dipende dalla scala del grafico e non si può fare...
Ma se si prende non l'angolo, ma solo la tangente dell'angolo, si può fare.
So che in geometria a scuola si insegnavano le tangenti e le catangenti, ma ahimè non ricordo) ho chiesto a Fresh sul forum, ma non ho ottenuto una risposta specifica.
Se Yandex è vietato, puoi usare Google.
In breve, la tangente di un angolo in un triangolo rettangolo è il rapporto tra la gamba opposta e quella adiacente.
Traducendo questo alla situazione nel diagramma MT, otteniamo - la gamba opposta sarà uguale ai punti (in pct.) e quella adiacente in barre (anche in pct.).
Esempio:
EURUSD apertura 6.03 1.3732 apertura 7:03 1.3860 totale 128 pips. A M1 1440 bar tan = 128/1440=0.08889
Questa equazione è fondamentalmente usata nella funzione ObjectGetValueByShift()
La prima colonna della tabella contiene l'indice per la prima dimensione dell'array,
La seconda colonna contiene l'indice per la seconda dimensione dell'array,
La terza e l'ulteriore colonna contengono i valori stessi per la terza dimensione dell'array.
Per favore, spiega come mettere i dati di una tabella (*.csv) in un array statico tridimensionale.
La prima colonna della tabella ha un indice sulla prima dimensione dell'array,
La seconda colonna è l'indice della seconda dimensione dell'array,
Nella terza e ulteriore colonna - i valori stessi secondo la terza dimensione dell'array.
Se per l'analisi in Excel stesso, la tabella riassuntiva.
O mostrare alcuni dati, sembra che dovremo avere degli array di stringhe ausiliari che corrisponderanno all'indice-valore.
.... sembra che dovremo avere degli array di stringhe ausiliari che corrisponderanno al valore dell'indice.
Come cancellare tutti gli oggetti come OBJ_ARROW_RIGHT_PRICE?
Il comando ObjectsDeleteAll(OBJ_ARROW_RIGHT_PRICE) non cancella anche dopo aver cambiato timeframe (per ridisegnare forzatamente l'intero grafico)
Ho scritto un semplice script, commenta quello che dice sullo schermo:
Alert("obj_arrow_right_price=",OBJ_ARROW_RIGHT_PRICE) ; // =36
ObjectCreate("MyArrow",OBJ_ARROW_RIGHT_PRICE,0,Time[1],Open[1]) ; // creato OBJ_ARROW_RIGHT_PRICE
Alert("objectTipe=", ObjectType("MyArrow"), "ARROW CODE=",ObjectGet("MyArrow",OBJPROP_ARROWCODE) ) ; // incubo "objecType=" =22, non ho capito perché non 36 come nella prima linea ?
ResetLastError() ;
Alert("script delete arrow right price=",ObjectsDeleteAll(OBJ_ARROW_RIGHT_PRICE)," lastError=",GetLastError() ) ; // oggetti cancellati =0, codice errore =0
Continuo l'esperimento scrivendo: ObjectsDeleteAll(22) ; // oggetti cancellati =0 di nuovo
Come cancellare tutti gli oggetti come OBJ_ARROW_RIGHT_PRICE?
Leggete ancora una volta l'aiuto:
ObjectsDeleteAll
Cancella tutti gli oggetti di un tipo specificato e in una sottofinestra specificata.
Se gli oggetti sono nella sottofinestra del grafico principale:
Leggete di nuovo l'aiuto:
ObjectsDeleteAll
Cancella tutti gli oggetti del tipo specificato e nella sottofinestra specificata del grafico.
Se gli oggetti sono nella sottofinestra del grafico principale: