AlexeyVik: Maintenant, ils vont commencer à vous expliquer que l'angle dépend de l'échelle du graphique et qu'il est impossible de le faire... Mais si vous ne prenez pas l'angle, mais seulement la tangente de l'angle, vous pouvez le faire.
Je me demande s'il est possible de savoir ce qu'elle est et comment elle doit être déterminée. Je sais qu'en géométrie à l'école on enseignait les tangentes et les catangentes, mais hélas je ne m'en souviens pas) J'ai demandé Fresh sur le forum, mais je n'ai pas reçu de réponse définitive.
Si Yandex est interdit, vous pouvez utiliser Google.
En résumé, la tangente d'un angle dans un triangle rectangle est le rapport entre la branche opposée et la branche adjacente.
En transposant cela à la situation du diagramme MT, nous obtenons : la jambe opposée sera égale aux points (en pct.) et la jambe adjacente aux barres (également en pct.).
Exemple :
EURUSD ouverture 6.03 1.3732 ouverture 7:03 1.3860 total 128 pips. A M1 1440 bars tan = 128/1440=0.08889
Cette équation est essentiellement utilisée dans la fonction ObjectGetValueByShift()
Veuillez expliquer comment adapter les données d'un tableau (*.csv) dans un tableau statique tridimensionnel. La première colonne du tableau contient l'indice de la première dimension du tableau, . La deuxième colonne contient l'indice de la deuxième dimension du tableau, . La troisième et les autres colonnes contiennent les valeurs elles-mêmes de la troisième dimension du tableau. .
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: Veuillez expliquer comment mettre les données d'un tableau (*.csv) dans un tableau statique tridimensionnel. La première colonne du tableau a un index sur la première dimension du tableau, La deuxième colonne est l'index de la deuxième dimension du tableau, Dans la troisième colonne et les suivantes - les valeurs elles-mêmes selon la troisième dimension du tableau.
Si pour l'analyse dans Excel même, le tableau récapitulatif.
Pour montrer certaines des données, il semble que nous devions avoir des tableaux de chaînes auxiliaires qui correspondent à la valeur de l'index.
.... il semble que nous devrons avoir des tableaux de chaînes auxiliaires qui correspondront à la valeur de l'index.
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; // Выход из функции
}
La commande ObjectsDeleteAll(OBJ_ARROW_RIGHT_PRICE) ne supprime pas ! même après avoir changé de timeframe (pour redessiner tout le graphique en force)
J'ai écrit un script simple, il commente ce qu'il dit à l'écran :
ObjectCreate("MyArrow",OBJ_ARROW_RIGHT_PRICE,0,Time[1],Open[1]) ; // créé OBJ_ARROW_RIGHT_PRICE
Alert("objectTipe=", ObjectType("MyArrow"), "ARROW CODE=",ObjectGet("MyArrow",OBJPROP_ARROWCODE) ) ; // cauchemar "objecType=" =22, je n'ai pas compris pourquoi pas 36 comme dans la première ligne ?
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Utilisez ce site https://docs.mql4.com/ru/indicators/imaonarray
Regardez le code, est-ce correct ?
Maintenant, ils vont commencer à vous expliquer que l'angle dépend de l'échelle du graphique et qu'il est impossible de le faire...
Mais si vous ne prenez pas l'angle, mais seulement la tangente de l'angle, vous pouvez le faire.
Je me demande s'il est possible de savoir ce qu'elle est et comment elle doit être déterminée. Je sais qu'en géométrie à l'école on enseignait les tangentes et les catangentes, mais hélas je ne m'en souviens pas) J'ai demandé Fresh sur le forum, mais je n'ai pas reçu de réponse définitive.
Si Yandex est interdit, vous pouvez utiliser Google.
En résumé, la tangente d'un angle dans un triangle rectangle est le rapport entre la branche opposée et la branche adjacente.
En transposant cela à la situation du diagramme MT, nous obtenons : la jambe opposée sera égale aux points (en pct.) et la jambe adjacente aux barres (également en pct.).
Exemple :
EURUSD ouverture 6.03 1.3732 ouverture 7:03 1.3860 total 128 pips. A M1 1440 bars tan = 128/1440=0.08889
Cette équation est essentiellement utilisée dans la fonction ObjectGetValueByShift()
La première colonne du tableau contient l'indice de la première dimension du tableau,
. La deuxième colonne contient l'indice de la deuxième dimension du tableau,
. La troisième et les autres colonnes contiennent les valeurs elles-mêmes de la troisième dimension du tableau.
.
Veuillez expliquer comment mettre les données d'un tableau (*.csv) dans un tableau statique tridimensionnel.
La première colonne du tableau a un index sur la première dimension du tableau,
La deuxième colonne est l'index de la deuxième dimension du tableau,
Dans la troisième colonne et les suivantes - les valeurs elles-mêmes selon la troisième dimension du tableau.
Si pour l'analyse dans Excel même, le tableau récapitulatif.
Pour montrer certaines des données, il semble que nous devions avoir des tableaux de chaînes auxiliaires qui correspondent à la valeur de l'index.
.... il semble que nous devrons avoir des tableaux de chaînes auxiliaires qui correspondront à la valeur de l'index.
Comment supprimer tous les objets comme OBJ_ARROW_RIGHT_PRICE?
La commande ObjectsDeleteAll(OBJ_ARROW_RIGHT_PRICE) ne supprime pas ! même après avoir changé de timeframe (pour redessiner tout le graphique en force)
J'ai écrit un script simple, il commente ce qu'il dit à l'écran :
Alert("obj_arrow_right_price=",OBJ_ARROW_RIGHT_PRICE) ; // =36
ObjectCreate("MyArrow",OBJ_ARROW_RIGHT_PRICE,0,Time[1],Open[1]) ; // créé OBJ_ARROW_RIGHT_PRICE
Alert("objectTipe=", ObjectType("MyArrow"), "ARROW CODE=",ObjectGet("MyArrow",OBJPROP_ARROWCODE) ) ; // cauchemar "objecType=" =22, je n'ai pas compris pourquoi pas 36 comme dans la première ligne ?
ResetLastError() ;
Alert("script delete arrow right price=",ObjectsDeleteAll(OBJ_ARROW_RIGHT_PRICE)," lastError=",GetLastError() ) ; // objets supprimés =0, code d'erreur =0
Je continue l'expérience en écrivant : ObjectsDeleteAll(22) ; // objets supprimés =0 à nouveau
Comment supprimer tous les objets tels que OBJ_ARROW_RIGHT_PRICE ?
Lisez à nouveau l'aide :
ObjectsDeleteAll
Supprime tous les objets d'un type spécifié et dans une sous-fenêtre spécifiée.
Si les objets se trouvent dans la sous-fenêtre principale du graphique :
Relisez l'aide :
ObjectsDeleteAll
Supprime tous les objets du type spécifié et de la sous-fenêtre spécifiée du graphique.
Si les objets se trouvent dans la sous-fenêtre du graphique principal :