Questions des débutants MQL5 MT5 MetaTrader 5 - page 489

 
Boris:
.... Lancez les indicateurs requis sur le graphique et continuez à tester.....

Comment faites-vous ? La réponse est probablement évidente, mais ça ne marche pas pour moi.

En général, vous devez visualiser exactement les tampons qui sont calculés dans l'EA, parce que :

1. il est plus facile de les déboguer

2. le Conseiller Expert, en fonction de son état (si une transaction est ouverte ou non), calcule l'indicateur avec des paramètres différents , mais dans le même tampon. Par conséquent, les valeurs seront différentes de celles du même indicateur simplement jeté sur le graphique.

 
Shepot:

Comment faites-vous ? La réponse est probablement évidente, mais ça ne marche pas pour moi.

En général, vous devez visualiser exactement les tampons qui sont calculés dans l'EA, car.. :

1. il est plus facile de les déboguer

2. le Conseiller Expert, en fonction de son état (si une transaction est ouverte ou non), calcule l'indicateur avec des paramètres différents , mais dans le même tampon. Par conséquent, les valeurs seront différentes du même indicateur, juste jeté sur le graphique.

Affiche les lignes de l'indicateur sur le graphique des objets de visualisation OBJ_TREND de l'Expert Advisor en fonction des données calculées dans l'Expert Advisor de la barre passée et de la barre actuelle.
 
Artyom Trishkin:
Afficher les lignes d'indicateurs sur le graphique par les objets OBJ_TREND de l'EA en fonction des données calculées dans l'EA pour la barre passée et la barre actuelle.
Merci. J'ai déjà pensé à une telle solution, mais elle a un inconvénient : les performances laissent à désirer, d'autant plus que j'ai 3 indicateurs intégrés. Peut-être y a-t-il d'autres moyens ?
 
Shepot:
Merci. J'ai déjà pensé à une telle solution, mais elle a un inconvénient : les performances laissent à désirer, d'autant que j'ai 3 indicateurs intégrés. Peut-être y a-t-il d'autres moyens ?
Sortir les lignes à l'ouverture de la barre minute et au recalcul des valeurs de l'indicateur.
 
Shepot:
Merci. J'ai déjà pensé à une telle solution, mais elle a un inconvénient : les performances laissent à désirer, d'autant plus que j'ai 3 indicateurs intégrés. Peut-être y a-t-il d'autres moyens ?

1. Placez les indicateurs requis avec les paramètres appropriés sur le graphique, enregistrez le modèle avec le nom de l'EA ou sous le nom de "tester" et ensuite, lorsque vous démarrez l'EA en mode visualisation, tous les indicateurs requis seront visibles sur le graphique.

2. Les valeurs de l'indicateur peuvent être dessinées dans la fonction Comment() mais cela ralentit les tests ainsi que les objets graphiques.

 
Merci beaucoup à vous tous !
 
Je ne comprends pas ce que signifie le message du terminal : 2015.12.28 18:30:39.718 '1656096' : l'ordre #0 buy 0.00 at 0 a été modifié -> sl : 0 tp : 0

 
Petr_k:
Je ne comprends pas ce que signifie le message du terminal : 2015.12.28 18:30:39.718 '1656096' : l'ordre #0 buy 0.00 at 0 a été modifié -> sl : 0 tp : 0

l'ordre #0 buy at 0 at 0.00 a été modifié -> set sl : 0 tp : 0
 

Salut.

Il y a une situation confuse avec la tolérance de déviation pendant les tests.

1) Je fixe l'écart =10 points

mytrade.SetDeviationInPoints(dev);
mytrade.SetTypeFilling(ORDER_FILLING_RETURN);

2) Courir

mytrade.PositionOpen(_Symbol,ORDER_TYPE_BUY,Lot,lastprice,lastprice-SL,lastprice+TP,"Test Buy");

ou

mytrade.Buy(Lot,_Symbol,0.0,lastprice-SL,lastprice+TP,"Buy Trade");

Cela n'a pas d'importance si je mets le dernier prix, le prix du signal, ou juste 0.

3) Je fais le test

а)

Print("Разница: ",mytrade.ResultPrice()-цена сигнала);

J'obtiens 20, ce qui est plus que 10

б)

QL      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   ---===Транзакция===---
QH      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип сделки: DEAL_TYPE_BUY
RN      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Состояние ордера: ORDER_STATE_STARTED
QO      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип ордера: ORDER_TYPE_BUY
CS      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Цена: 70885
PS      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип торговой транзакции: TRADE_TRANSACTION_DEAL_ADD

demande.déviation

LM	0	08:57:35.303	Фракталы - неск,ТС,% (Si Splice,M5)	2015.01.29 14:15:32   Отклонение от запрашиваемой цены: 1

Je reçois le prix de MqlTradeTransaction - après le signal (70865), ctrade achète pour 70885.

в)

Print(mytrade.RequestDeviation());

= 10.

Quel pourrait être le problème ? Bien sûr, nous pouvons regarder le dernier échange ou la dernière offre dans la pile, mais sur la base des premiers résultats dans le réel, tout cela n'est pas fiable.

Ou bien mettez un ordre à cours limité +10 et retirez-le après un certain temps.

 
En général, j'ai opté pour un prix limite d'offre+rebate pendant quelques secondes. Sur les Forts, l'équivalent du prix du marché sera obtenu et le prix d'exécution ne pourra pas dépasser 100%.
Raison: