Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 265

 
STARIJ:

Le graphique se trouve-t-il dans le navigateur ou à quel endroit ?

Non, le graphique dans le terminal

 
Vitaly Muzichenko: Non, le graphique dans le terminal
//+------------------------------------------------------------------+
//| Скрипт для вызова калькулятора и проч           -Калькулятор.mq4 |
//+------------------------------------------------------------------+
#property strict

#import "shell32.dll"                   // Все строки кончаются 0
   int ShellExecuteW(int hwnd,          // Хендл родительского окна
                     string Operation,  // Указатель на строку операции. Open, Print, Explore
                     string File,       // Указатель на строку с именем исполняемого файла
                     string Parameters, // Указатель на строку с параметрами
                     string Directory,  // Указатель на строку с именем папки
                     int ShowCmd);      // 0 = показать
#import

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
  // Запустить калькулятор
  ShellExecuteW(0, "Open", "Calc.exe", "", "", 0);

  // Открыть папку
  string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
  ShellExecuteW(0,"explore", terminal_data_path+"\\MQL4", "", "", 1);

  // Открыть HTML-файл
  ShellExecuteW(0,"Open", terminal_data_path+"\\DetailedStatement.htm", "", "", 1);

  // Открыть Яндекс
  ShellExecuteW(0,"Open", "Yandex.ru", "", "", 1);
}
 
STARIJ:

Au fait, je me suis souvenu de l'appel de commandes externes, pouvez-vous me dire comment le dire au navigateur (et si c'est possible) :

"ouvrir la page http://bla-bla-bla, et si elle existe déjà, afficher simplement l'onglet correspondant".

ShellExecuteW(0, "Open"....) est utilisé pour ouvrir un nouvel onglet à chaque fois.

 
Artyom Trishkin:

Achetez-vous toujours des concombres de même qualité pour 50 lorsqu'ils sont à 10 à côté les uns des autres ?


de temps en temps)

Vous connaissez la première règle du trading - la tendance est votre amie ?

 
Taras Slobodyanik: Vous connaissez la première règle du trading - la tendance est votre amie ?

L'histoire se répète - Up - down Up - down. Donc, vente à la hausse, achat à la baisse

 
STARIJ:

Merci, tout s'est arrangé.

 
Taras Slobodyanik:

de temps en temps)

Vous connaissez la première règle du trading - la tendance est votre amie ?

Qui ne le fait pas, mais lorsque l'entrepôt de concombres est plein à craquer (la fin de la mode du concombre) et qu'il est temps de vendre les concombres pour faire de la place dans l'entrepôt, je n'achèterai pas un autre lot de concombres. Je vais d'abord vendre un ou deux lots, pour ne pas mettre sur le toit de l'entrepôt des caisses qui vont pourrir ou être impitoyablement volées ou mangées par les corbeaux.

Et "en haut" pour moi, c'est quand on peut voir le niveau du toit de l'entrepôt, en dessous on peut voir le niveau de son plancher...

Alors voilà...

 
Taras Slobodyanik:

de temps en temps)

Vous connaissez la première règle du trading - la tendance est votre amie ?


Cette règle ne s'applique que si vous êtes un teneur de marché ou au moins un DC et que vous êtes au courant de sa formation et de son développement. Du point de vue d'un trader normal, la tendance est l'animal le plus méchant et le plus traître qui puisse exister sur ce marché.

Parce qu'il est déterminé à 100 % uniquement à l'issue de l'opération )))).

Vous n'avez pas besoin d'ennemis avec de tels amis...
 
Taras Slobodyanik:

de temps en temps)

Vous connaissez la première règle du trading - la tendance est votre amie ?

Ce n'est pas la première règle. La première est d'acheter bas, vendre haut.

Et la hausse ou la baisse, la tendance ou la contre-tendance n'est pas une règle, mais une prédilection personnelle.

 

Artyom bon après-midi. Je m'appelle Daniel. Ma question est la suivante. J'ai écrit mon Expert Advisor en MQL4, pour être plus précis, je l'ai réécrit à partir du tutoriel vidéo. Apparemment il y a des erreurs, il ne compile pas bien, pouvez-vous m'aider ?

//+------------------------------------------------------------------+

//| test7.mq4 |

//| Copyright 2017, MetaQuotes Software Corp.

//| https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright 2017, MetaQuotes Software Corp."

#lien de propriété "https://www.mql5.com"

#propriété version "1.00"

#propriété stricte

//-------------------------------------------------------------------

double externe lots = 0.1 ;

extern int TakeProfit = 300 ;

extern int StopLoss = 50 ;

extern int Magic = 777 ;

extern inttern Slippage = 3 ;

//-------------------------------------------------------------------

extern string TMA = "Paramètres de l'indicateur TMA" ;

extern string TimeFrame = "cadre temporel actuel" ;

extern int HalfLength = 56 ;

extern int Price = "PRICE_CLOSE ;

extern double ATRMultiplier = 2.0 ;

extern inttern ATRPeriod = 100 ;

extern bool Interpolate = true ;

//-------------------------------------------------------------------

double PriceHigh, PriceLow, SL , TP ;

int ticet ;



//+------------------------------------------------------------------+

//| Fonction d'initialisation de l'expert |

//+------------------------------------------------------------------+

int OnInit()

{

si (Chiffres == 3 || Chiffres == 5) ;

{

TakeProfit *=10 ;

StopLoss *=10 ;

Dérapage *=10 ;

}

return(INIT_SUCCEEDED) ;

}

//+------------------------------------------------------------------+

//| Fonction de désinitialisation experte |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

{

}

//+------------------------------------------------------------------+

//| fonction tick expert |

//+------------------------------------------------------------------+

void OnTick()

{

PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0) ;

PriceLow = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0) ;

si (CountSell() == 0 && Bid >= PriceHigh)

{

tiket = OrderSend(Symbol(), OP_SELL, lots, Bid, Slippage, 0, 0, "TMA robot", Magic, 0, Red) ;

si (tiket > 0)

{

SL = NormalizeDouble(Bid + StopLoss*Point, Digits) ;

TP = NormalizeDouble(Bid - TakeProfit*Point, Digits) ;

if (OrderSelect(tiket, SELECT_BY_TICKET))

OrderModify(tiket, OrderOpenPrice(), SL, TP, 0)

}

}

}

//--------------------------------------------------------------------------------------------

si (CountBuy() == 0 && Ask <= PriceLow)

{

tiket = OrderSend(Symbol(), OP_BUY, lots, Ask, Slippage, 0, 0, "TMA robot", Magic, 0, Blue) ;

si (tiket > 0)

{

TP = NormalizeDouble(Ask + TakeProfit*Point, Digits) ;

SL = NormalizeDouble(Ask - StopLoss*Point, Digits) ;

if (OrderSelect(tiket, SELECT_BY_TICKET))

OrderModify(tiket, OrderOpenPrice(), SL, TP, 0) ;

}

}

//+------------------------------------------------------------------+

int CountSell()

{

int count = 0 ;

for (int trade = OrdersTotal()-1 ; trade>=0 ; trade--)

{

si (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES))

{

si (OrderSymbol() == Symbol() && OrderMagicNumber) == Magic && OrderType() == OP_SELL)

compte++ ;

}

}

return(count) ;

}

//-----------------------------------------------------------------------------------------------

int CountBuy()

{

int count = 0 ;


for (int trade = OrdersTotal()-1 ; trade>=0 ; trade--)

{

si (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES))

{

si (OrderSymbol() == Symbol() && OrderMagicNumber) == Magic && OrderType() == OP_BUY)

compte++ ;

}

}

return(count) ;

}

Raison: