[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 221

 
granit77:
Relisez la réponse, lentement et de manière réfléchie :


Merci.

Dites-moi si le texte du programme est correct dans ce cas.

int ticket ; // numéro du ticket
int digits =MarketInfo(Symbol(),MODE_DIGITS) ; // stocker le nombre de chiffres
double volume =MarketInfo(Symbol(),MODE_MINLOT) ; // stocker le lot minimum

ticket=OrderSend(Symbol(),OP_BUY,volume,Ask,2,
0, // SL
0) ; // TP

OrderSelect(ticket,SELECT_BY_TICKET) ;
OrderModify(ticket,OrderOpenPrice(),,
NormalizeDouble(Bid-150*Point,digits),// SL
NormalizeDouble(Bid+150*Point,digits),// TP
0,Blue)

retour (0) ;

 

Comment puis-je connecter mon EA à un graphique avec une session fermée et commencer à exécuter l'algorithme sur le premier tick d'une nouvelle session ouverte ? Pouvez-vous me dire comment.

J'ai posé la question ici https://www.mql5.com/ru/forum/135822, mais la question est passée inaperçue. =(

 
Stan:

Comment puis-je connecter mon EA à un graphique avec une session fermée et commencer à exécuter l'algorithme sur le premier tick d'une nouvelle session ouverte ? Pouvez-vous me dire comment.

J'ai posé la question ici https://www.mql5.com/ru/forum/135822, mais la question est passée inaperçue. =(

Mais ne déformez pas la vérité. La réponse a été donnée. Il n'y en aura pas d'autre, car il est absolument correct. Relisez-le.
TheXpert:

Rien.

L'

initialisation de l'EA a lieu lorsque vous le placez, et il ne commence que lorsque le tick apparaît.

Cela signifie que

vous n'avez qu'à placer l'EA sur le graphique, attendre le début de la session et décider quoi faire - en attente ou sur le marché

.

Mais il y a une autre chose, quand les tic-tacs se font mais que le commerce est interdit, mais c'est une autre chanson, on peut la résoudre

.

En d'autres termes, vous lancez l'EA sur le graphique lorsqu'il n'y a pas de transactions, l'EA s'initialise et se maintient tranquillement pendant un certain temps. Lorsqu'une transaction commence, le premier tic provoque l'exécution de l'algorithme de l'EA.
 
<br/ translate="no">

Pouvez-vous me dire pourquoi lorsque je lance des tests sur différents TF, les résultats des tests sont différents, les graphiques sont aussi naturellement différents, les tests de prix d'ouverture sont la partie signal du Conseiller Expert.... Peut-être est-ce à cause de la courbe de l'histoire ? (Bien que cela se produise avec différents instruments et différents courtiers).

...
// ----------------------------Считаем параметры технических индикаторов:------------------------------------
   
   double MA_1 = iMA(Symbol(),trend_period,Period_MA,0,MODE_EMA,PRICE_TYPICAL,1);
   
   double ADX1_1 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MAIN,0);           // рассчет ADX - торгуем по тренду
   double ADX1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MAIN,1);
   double ADX_PLUS1_1 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_PLUSDI,0);
   double ADX_PLUS1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_PLUSDI,1);
   double ADX_MINUS1_1 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MINUSDI,0);
   double ADX_MINUS1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MINUSDI,1);
   
   double iVAR_1 = iCustom (Symbol(),trend_period, "iVAR", n, nBars, 0, 1);                    // расчет индикатора iVAR
   
   // определение входа в рынок по пробою фрaктала        
      F1=iFractals(Symbol(), signal_period, MODE_UPPER, 3); 
        if (F1>0) F11 = F1;      
             
      F2=iFractals(Symbol(), signal_period, MODE_LOWER, 3); 
        if (F2>0) F22 = F2; 
...

               if (Ask > F11 &&                                                                    // пробой фракталя вверх на СИГНАЛЬНОМ таймфрейме 
                   ADX1_1 > ADXOpenLevel  && ADX_PLUS1_1 - ADX_MINUS1_1 > 0 && 
                   ADX1_1 < ADX_PLUS1_1 && ADX1_1 > ADX1_2  &&                                   // АДХ основной тенденции для лонга растет и выше уровня
                      Open[1] > MA_1 && Close[1] > MA_1 &&                                       // цена выше МА основной тенденции 
                      iVAR_1 < 0.5 &&                                                            // тренд на основном ТФ   
             //.........................................ФИЛЬТРЫ...................................
             //                                        ПОЛОСОВОЙ
             //              iOpen(Symbol(), trend_period,1) < iClose(Symbol(), trend_period,1) &&  // белая свеча на основной тенденции
             
             //                                        ДИСКРЕТНЫЙ (ПО ЧАСАМ)                          
             //             (Hour()==9 || Hour()==10 || Hour()==11 || Hour()==12 || Hour()==13 || Hour()==23 || Hour()== 0 
             //             || Hour()==16 || Hour()==17 || Hour()==22 || Hour()==19 || Hour()==20 || Hour()==21 ))
                            (TimeHour(TimeCurrent()) >= Start && TimeHour(TimeCurrent()) <  End))
                          
               {
               WmOrderSend(Symbol(), OP_BUY, Lots_New, Ask, 0, 0, "старт после профита", MagicNumber);
               }
        

Et trend_period >= signal_period . Je veux dire, disons, trend_period =PERIOD_H1, signal_period =PERIOD_M30, je teste un seul et même Expert Advisor, contrôlant l'ouverture d'une nouvelle barre selon le modèle du testeur - en ouvrant les prix sur les TFs M1, M15, M30 - et à chaque fois j'obtiens de nouveaux graphiques et des rapports différents... Pourquoi est-ce possible ? Dites-moi, qui sait, ou a été confronté à de semblables ...

P.S. Cette question a déjà été posée - les gens ont recommandé de faire le calcul d'une fractale sur la 3ème barre, parce que sur la 2ème (comme je l'avais plus tôt) son re-rendu sur différents TFs est possible, je l'ai corrigé sur la 3ème, mais la question reste ouverte...


 
Pouvez-vous me le dire s'il vous plaît ! Comment écrire la différence des variables MACD en pips ? Par exemple :
if ( MACDCurrent-MACDSignal)>5*Point   // ??
 
forexnew:
C'est une question délicate. Et comment avez-vous résolu le problème de ne pas sauvegarder les données téléchargées sans changer de période, si ce n'est pas un secret ? Le fait est que l'EA ne voit pas les données téléchargées jusqu'à ce qu'il soit réinitialisé.
La tâche consistait à enregistrer l'historique téléchargé dans les fichiers d'historique. Pendant le chargement, tout l'historique est stocké en mémoire. Après avoir fermé la fenêtre MT4, nous commençons à l'enregistrer dans les fichiers en utilisant les outils MT4. Ce n'est pas un processus rapide.
 

Chers professionnels !

Je vous demande de m'aider !

if (((pBid-OrderOpenPrice()) >= -60)
{
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OOP-23*Point,5,pBid-SL*Point,OOP-3*Point,"Отложка BUY_STOP ",mn,5,0);
}
if (((OrderOpenPrice()-pAsk) >= -60)
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OOP+23*Point,5,pAsk+SL*Point,OOP+3*Point,"Отложка SELL_STOP ",mn,5,0);
}

J'ai un robot de trading qui effectue 20 à 80 transactions par jour. Je ne comprends pas que cela dépende de la société de courtage ?

Au lieu d'un - met 100 pièces.

Aidez-moi !

 

Bonjour Messieurs ... J'ai une question ... un netbook (toshiba) avec un CPU 1.66 single-core ... et 1 gig de RAM ... pourra-t-il faire face à un robot avec un gros code ? Autrement dit, n'y aura-t-il pas de différence dans la vitesse de prise de décision avec le PC ? Et un modem 3G est-il adapté au commerce ?

------------------------------------------------------------------------------------

En détails... J'ai besoin que mon EA fonctionne 24 heures sur 24 et soit "en ligne"... Je ne sais pas comment résoudre ce problème, car dans ma région, les coupures de courant sont fréquentes, en raison du non-fonctionnement des PC et des équipements ISP, qui se trouvent dans l'entrée... Je pense résoudre ce problème en achetant un netbook et un modem 3G...

 

Professionnels, veuillez indiquer quel est le problème.

Simple expert :

int start()
{ 

Print(TimeToStr(iTime(pair, PERIOD_D1, 1)),", ", TimeToStr(TimeCurrent())); 

} 

Le testeur sort :

2011.09.29 01:04:47 2011.09.26 23:58 Test EURUSD,M1 : 1970.01.01 00:00, 2011.09.26 23:58
2011.09.29 01:04:47 2011.09.26 23:58 Test EURUSD,M1 : 1970.01.01 00:00, 2011.09.26 23:58
2011.09.29 01:04:47 2011.09.26 23:58 Test EURUSD,M1 : 1970.01.01 00:00, 2011.09.26 23:58
.........................................
2011.09.29 01:04:47 2011.09.26 23:57 Test EURUSD,M1 : 1970.01.01 00:00, 2011.09.26 23:57
2011.09.29 01:04:47 2011.09.26 23:57 Test EURUSD,M1 : 1970.01.01 00:00, 2011.09.26 23:57
.....................................
2011.09.29 01:04:47 2011.09.26 23:56 Test EURUSD,M1 : 1970.01.01 00:00, 2011.09.26 23:56
2011.09.29 01:04:47 2011.09.26 23:56 Test EURUSD,M1 : 1970.01.01 00:00, 2011.09.26 23:56

Bien qu'en théorie, la première date devrait être le début de la journée précédente.

S'il vous plaît, dites-moi où chercher. Tout l'historique est téléchargé.

 
Zzumer:

Bien qu'en théorie, le premier rendez-vous devrait être le début de la journée de la veille.

Dites-moi où chercher. Tout l'historique est téléchargé.


Donc vous êtes sur le procès-verbal.

1000 premières barres (17 heures) ne suffisent pas pour se référer au jour précédent.

Raison: