Petiyashaket: J'ai besoin d'un stop d'achat suivi (modifié) par des fractales de prix jusqu'à ce qu'il se déclenche et d'un stop de vente de la même manière.
Donc la question dans votre code, surlignée en rouge.
if(Up>0&&Down==0&&Volume[0]<2) //если верхний фрактал есть а нижнего нету и прошло не больше 2х тиков то:
{
if((High[3]+5*Point-Ask)/Point>MarketInfo(Symbol(),MODE_STOPLEVEL)) //если расстояние 0 бара от хая фрактала позволяет то:OrderSend(Symbol(),OP_BUYSTOP,Lot,High[3]+5*Point,20,High[3]-sl,High[3]+tp,NULL,Magic,0,Green);//выставляем отложенный на покупкуelse {BS=High[3]+5*Point; Print("Виртуальный BS:",BS);} // а ели нет то запоминаем(позже будет добавлен вход с рынка){ // К чему относится эта скобка???
for (int pos=0;pos==OrdersTotal();pos++)
OrderSelect(pos,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==Magic&&OrderSymbol()==Symbol()&&OrderType()==OP_BUYSTOP)
{
OrderModify(OrderTicket(),Up+5*Point,High[3]-sl,High[3]+tp,0,CLR_NONE);
}
} // это пара к той...}
Vous n'avez toujours pas répondu. Je ne sais pas quoi en faire, mais le résultat de l'exécution du code sera différent.
Pourquoi utilisez-vousVolume[0]<2 dans la condition?
Parfois, il y en a plusieurs dans une même tique. Et sur cette barre, la condition ne fonctionnera plus.
Victor, cette question n'est pas pour moi. J'utilise cette fonction.
bool NewBar()
{
staticdatetime lastbar = iTime(_Symbol, PERIOD_H1, 0); // Период можно менять по желанию
datetime curbar = iTime(_Symbol, PERIOD_H1, 0); // и будет отсчитывать новый бар заданного периода на любом ТФ
if(lastbar != curbar)
{
lastbar = curbar;
return (true);
}
elsereturn(false);
}//******************************************************************|
J'ai copié un morceau de code pour poser une question sur les parenthèses.
Petiyashaket: C'est ce qu'enseigne Oleg Remizov sur YouTube, cette condition limite le trading sur les nouvelles et la capture de l'élan :)
Je n'ai rien à dire sur Remizov. Mais ne vous offusquez pas si votre code manque des barres. D'accord, si vous avez un code minute (sur quel délai, bien sûr), mais si vous comptez courir sur une heure ou plus - il n'y aura que de la pitié pour vous.
Petiyashaket: J'ai expérimenté les crochets de différentes manières, je les ai enlevés et ajoutés, mais le résultat est le même.
Vous n'avez pas besoin de faire des expériences, vous devez comprendre la signification de ces crochets et savoir comment les appliquer. C'est écrit dans la documentation, je ne vais pas lire une conférence à ce sujet.
if(Up>0&&Down==0&&Volume[0]<2) //если верхний фрактал есть а нижнего нету и прошло не больше 2х тиков то:
{
if((High[3]+5*Point-Ask)/Point>MarketInfo(Symbol(),MODE_STOPLEVEL)) //если расстояние 0 бара от хая фрактала позволяет то:OrderSend(Symbol(),OP_BUYSTOP,Lot,High[3]+5*Point,20,High[3]-sl,High[3]+tp,NULL,Magic,0,Green);//выставляем отложенный на покупкуelse {BS=High[3]+5*Point; Print("Виртуальный BS:",BS);} // а ели нет то запоминаем(позже будет добавлен вход с рынка)for (int pos=0;pos==OrdersTotal();pos++)
{ // наверное сюда её надо
OrderSelect(pos,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==Magic&&OrderSymbol()==Symbol()&&OrderType()==OP_BUYSTOP)
{
OrderModify(OrderTicket(),Up+5*Point,High[3]-sl,High[3]+tp,0,CLR_NONE);
}
} // это пара к той...}
Mais ce n'est qu'une partie du code. Un problème similaire se pose plus loin.
Et ce code
il est préférable d'écrire dans init() et mieux encore pas comme ceci
et ensuite dans start()
Je retire la question, j'ai trouvé la solution moi-même.
J'ai besoin d'un stop d'achat suivi (modifié) par des fractales de prix jusqu'à ce qu'il se déclenche et d'un stop de vente de la même manière.
Donc la question dans votre code, surlignée en rouge.
Vous n'avez toujours pas répondu. Je ne sais pas quoi en faire, mais le résultat de l'exécution du code sera différent.
Donc la question dans votre code, surlignée en rouge.
Vous n'avez toujours pas répondu. Et à partir de là, le résultat de l'exécution du code sera différent.
Pourquoi utilisez-vousVolume[0]<2 dans la condition?
Parfois, dans une tique, il y en a plusieurs. Et sur ce bar, la condition ne fonctionne plus.
Pourquoi utilisez-vousVolume[0]<2 dans la condition?
Parfois, il y en a plusieurs dans une même tique. Et sur cette barre, la condition ne fonctionnera plus.
Victor, cette question n'est pas pour moi. J'utilise cette fonction.
J'ai copié un morceau de code pour poser une question sur les parenthèses.
Pourquoi utilisez-vousVolume[0]<2 dans la condition?
Parfois, il y en a plusieurs dans une même tique. Et sur cette barre, la condition ne fonctionnera plus.
C'est ce qu'enseigne Oleg Remizov sur YouTube, cette condition limite le trading sur les nouvelles et la capture de l'élan :)
Donc la question dans votre code, surlignée en rouge.
n'a jamais été répondu. Et cela rendra le résultat de l'exécution du code différent, aussi.
J'ai expérimenté les crochets de différentes manières, je les ai enlevés et ajoutés, mais le résultat est le même.
Vous n'avez pas besoin de faire des expériences, vous devez comprendre la signification de ces crochets et savoir comment les appliquer. C'est écrit dans la documentation, je ne vais pas lire une conférence à ce sujet.
Mais ce n'est qu'une partie du code. Un problème similaire se pose plus loin.