void OpenOrder(int db = -1){
if(db == -1){
Print("'db' должен иметь корректное значение");
return;
}
Order order;
//Если бид в границах ДБ (его хай/лоу) то инициализируем ордер для селстопа или байстопаif(Bid > db_last.low && Bid < db_last.hight){
if(db == BEAR) order.InitForSell(SELLSTOP);
if(db == BULL) order.InitForBuy(BUYSTOP);
}
...
if(order.is_init == true)
{
int order_send = OrderSend(Symbol(), order.cmd, 0.01, order.open_price, 10,
order.sl_price, order.tp_price, "", GetMagic(order), 0, order.arrow_color);
if(order_send == -1){
Print(order.error_text," | ",GetLastError()," db_last.third ",db_last.third,
" | db_last.size_open_to_low ",db_last.size_open_to_low," | order.sl_price: ",
order.sl_price," | order.cmd ",order.cmd);
ResetLastError();
return;
}
}
}
...
int GetMagic(Order &order)
{
int magic = 0;
//Если должен быть открыт стопордер и если есть уже открытые или отложенные //ордера, то возможно некоторые с маджиком, это надо проверить и сгенерировать //для нашего ордера уникальный маджикif(order.cmd == OP_SELLSTOP || order.cmd == OP_BUYSTOP)
if(OrdersTotal() >= 1)
for(;;){
magic++;
for(int i = OrdersTotal(); i > 0 ; i --)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) != false) //<------------ СЮДА НЕТ ВХОЖДЕНИЯif(magic != OrderMagicNumber())
return magic;
}
//Если нет открытых или отложенных ордеров то увеличиваем значение //маджика, чтобы он равнялся единицеelseif (OrdersTotal() == 0)
return (magic + 1);
return magic;
}
Bonsoir, j'ai écrit un indicateur très simple sur le travail (je joins le fichier) Je voudrais préciser s'il y a un moyen de prescrire dans le code au lieu d'une ligne rouge et bleue (RSI2 et RSI3 dans l'image (jointe aussi), respectivement) était une seule ligne - et il était rouge si RSI2>RSI3 et bleu si RSI2 < RSI3
#property indicator_color2 Red
#property indicator_color3 Blue
externint RSIPERIOD=3;
externdouble KOEFF1=2.5;
externdouble KOEFF2=1.86;
double Buf0[],Buf1[],Buf2[];
double D10,D11,D12;
int init()
{
IndicatorDigits(0);
string short_name="RSITEST";
IndicatorShortName("RSITEST");
D10=RSIPERIOD;D11=D10*KOEFF1;D12=D11*KOEFF2;;
SetIndexBuffer(0,Buf0);
SetIndexLabel (0,"Stoch "+Ds_0(D10)+")\n");
SetIndexBuffer(1,Buf1);
SetIndexLabel (1,"Stoch ("+Ds_0(D11)+")\n");
SetIndexBuffer(2,Buf2);
SetIndexLabel (2,"Stoch ("+Ds_0(D12)+")\n");
return(0);
}
int start()
{
if(Bars<=RSIPERIOD) return(0);
int ExtCountedBars=IndicatorCounted();
if (ExtCountedBars<0) return(-1);
if (ExtCountedBars>0) ExtCountedBars--;
for(int i=0;i<Bars-RSIPERIOD;i++)
{
Buf0[i] = iRSI(NULL,0,D10,0,i);
Buf1[i] = iRSI(NULL,0,D11,0,i);
Buf2[i] = iRSI(NULL,0,D12,0,i);
}
return(0);
}
string Ds_0(double DOUBLE) {return(DoubleToStr(DOUBLE,0));}
Andrey Kipyatkov #: Bonsoir, j'ai écrit un indicateur très simple sur le travail (fichier joint) Je voudrais préciser s'il ya un moyen de prescrire dans le code au lieu d'une ligne rouge et bleue (RSI2 et RSI3 dans l'image (ci-joint ainsi), respectivement) était une seule ligne - et il était rouge si RSI2>RSI3 et bleu si RSI2 < RSI3
https://docs.mql4.com/ru/constants/namedconstants/otherconstants Je ne vois pas vraiment commentEMPTY_VALUE peut m'aider. J'ai 3 tableaux et chacun d'entre eux donne du rsy si je mets EMPTY_VALUE, cela ne me donne rien.ma tâche est d 'écrire dans le code à la place de la ligne rouge et bleue la même ligne - et ce sera rouge siRSI2>RSI3 et bleu siRSI2<RSI3
Andrey Kipyatkov #: https://docs.mql4.com/ru/constants/namedconstants/otherconstants Je ne comprends pas vraiment commentEMPTY_VALUE peut m'aider. J'ai 3 tableaux, chacun d'eux produit des Rsai ; si je mets EMPTY_VALUE, cela ne me donne rien.ma tâche est d'écrire dans le code à la place de la ligne rouge et bleue la même ligne - et ce sera rouge siRSI2>RSI3 et bleu siRSI2<RSI3
Andrey Kipyatkov #: https://docs.mql4.com/ru/constants/namedconstants/otherconstants Je ne vois pas vraiment commentEMPTY_VALUE peut m'aider. J'ai 3 tableaux et chacun d'entre eux donne des Rsai ; si je mets EMPTY_VALUE, cela ne me donne rien.ma tâche est d'écrire dans le code à la place de la ligne rouge et bleue la même ligne - et ce sera rouge siRSI2>RSI3 et bleu siRSI2<RSI3
Changez de couleur à votre guise pour répondre à vos besoins
Bonsoir, j'ai écrit un indicateur très simple sur le travail (fichier joint) Je voudrais préciser s'il ya un moyen de prescrire dans le code au lieu d'une ligne rouge et bleue (RSI2 et RSI3 dans l'image (ci-joint ainsi), respectivement) était une seule ligne - et il était rouge si RSI2>RSI3 et bleu si RSI2 < RSI3
dans mt5 vous pouvez
Dans mt4 aussi :)
Dans mt4 aussi :)
EMPTY_VALUE
Dans mt4 aussi :)
https://docs.mql4.com/ru/constants/namedconstants/otherconstants Je ne comprends pas vraiment commentEMPTY_VALUE peut m'aider. J'ai 3 tableaux, chacun d'eux produit des Rsai ; si je mets EMPTY_VALUE, cela ne me donne rien. ma tâche est d 'écrire dans le code à la place de la ligne rouge et bleue la même ligne - et ce sera rouge siRSI2>RSI3 et bleu siRSI2<RSI3
https://docs.mql4.com/ru/constants/namedconstants/otherconstants Je ne vois pas vraiment commentEMPTY_VALUE peut m'aider. J'ai 3 tableaux et chacun d'entre eux donne des Rsai ; si je mets EMPTY_VALUE, cela ne me donne rien. ma tâche est d 'écrire dans le code à la place de la ligne rouge et bleue la même ligne - et ce sera rouge siRSI2>RSI3 et bleu siRSI2<RSI3
Changez de couleur à votre guise pour répondre à vos besoins
Changez la couleur selon vos besoins
Vraiment ? !))
L'avez-vous essayé ?