Я думаю, ваша проблема в том, что вы не сбросили значения val1 и val2. Поэтому, как только вы нашли максимум и последний минимум, вам нужно сбросить их:
Надеюсь, это поможет.
Аааа, я попробую, как только загружусь в windows сегодня позже, спасибо
Я думал, что если бы первое утверждение if(statement) было истинным, то оно бы перезапустило start() снова и сбросило с вершины кода и таким образом сбросило val1 и val2 снова
Ну, то, как я думал об этом - if(first statement) true then prints, and then moves to text the next if(second) likely false then goes back to the top of the start again and resets val1 and val2
Я получаю правильные отпечатки и значения, но просто печатает непрерывно.
Теперь, когда я думаю об этом, я действительно никогда не выяснил это для любого if(statement) даже самый простой из EMA крестов производит непрерывную печать
Я проверю ваш код, который вы разместили, но я был бы удивлен, если бы я добавил операторы печати для печати этих переменных и он также не печатает непрерывно
Хорошо, да, сброс val1 и val2 вернет мне A high's, но все еще печатает все непрерывно, не так много, как раньше. Я уверен, что мне нужно что-то сделать с currentTime и iTime, чтобы исправить это, мне нужно просмотреть это еще раз.
Кажется, что в кодовой базе уже должна быть схема ABCD, на которой можно было бы учиться, но, похоже, это то, чего нет, кроме как на основе ZigZag, которую я сейчас просматриваю, чтобы увидеть, дает ли она мне какие-либо подсказки. Но опять же, это тоже индикатор
В любом случае, если я добавляю && macd или что-то еще, он выводит их только один раз, что меня очень смущает.
Я думаю, что у меня есть это, после некоторых больше мыслей об этом и работать через это немного больше
Как насчет этого:
//+------------------------------------------------------------------+//| Agent86_5min.mq4 |//| Unfinished POS |//| //+------------------------------------------------------------------+#property copyright "Unfinished POS by Agent86"//---- input parametersexterndouble TakeProfit=20.0;
externdouble Lots=0.1;
externdouble StopLoss=10.0;
externint MagicNumber=123486;
double val1;
double val2;
bool traded = false;
bool A = false;
//++++ These are adjusted for 5 digit brokers.int pips2points; // slippage 3 pips 3=points 30=pointsdouble pips2dbl; // Stoploss 15 pips 0.0015 0.00150intDigits.pips; // DoubleToStr(dbl/pips2dbl, Digits.pips)// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init()
{
if (Digits == 5 || Digits == 3)
{ // Adjust for five (5) digit brokers.
pips2dbl = Point*10; pips2points = 10; Digits.pips = 1;
}
else
{
pips2dbl = Point; pips2points = 1; Digits.pips = 0;
}
// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//---- //----return(0);
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//---- //----return(0);
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start()
{
int i=0;
int ticket,total,result;
total = OrdersTotal();
val1=iFractals(NULL, 0, MODE_UPPER,3);
val2=iFractals(NULL, 0, MODE_LOWER,3);
if(val1 > 0 && traded == false && val2==0)
{
// in the absence of an && indicator above I get continous print statements// also does not print A high this is not desired// with indicator added && indicator above, then it prints A and B once as it should ???// I need to work this out so it won't print all the time aka trade all the time// A and B first values seems to initialize the whole block// just a reminder that they time stamps coordinate after this FYI// now work on C retrace and possibly signals// add options for user to select some candle patterns// add options to select indicators// add bells and whistles to make things fun// alerts,sounds,maybe poppup video animation or somethingdouble B = val1;
Print(B, " B high");
if(val2==0)
{
for (i=0; val2==0; i++)
{
val2=iFractals(NULL, 0, MODE_LOWER, i);
double A = val2;
if(A!=0)
{
Print(A, " A low");
}
}
}
traded=true;
}
val1=iFractals(NULL, 0, MODE_UPPER,3);
val2=iFractals(NULL, 0, MODE_LOWER,3);
if(val2 > 0 && traded == true && val1 == 0)
{
B = val2;
Print(B, " B low");
if(val1==0)
{
for (i=0; val1==0; i++)
{
val1=iFractals(NULL, 0, MODE_UPPER, i);
A = val1;
if(A!=0)
{
Print(A, " A high");
}
}
}
traded=false;
}
return(0);
}
//+------------------------------------------------------------------+
Это печатается только один раз при добавлении
if(val1 > 0 && traded == false && val2==0)
и
if(val2 > 0 && traded == true && val1 == 0)
Итак, я немного приблизился, теперь я могу оценить это еще немного.
Спасибо за помощь всем, это была огромная помощь, потому что это игра мне идеи, чтобы исправить это и расширить мои знания немного больше о переустановке вещей тоже. Я должен держать это в своем заднем кармане.
Большую часть времени проблема не возникает. Кажется, что это происходит только тогда, когда есть верхний и нижний фрактал в одном и том же баре, что иногда случается на неопределенных рынках. Единственный способ обойти это - запускать расчет только один раз в бар:
Теперь я могу начать работать над остальной частью, жаль только, что я не достаточно опытен, чтобы понять преобразование индикатора iCustom в советника, тогда бы я, вероятно, уже давно разобрался с этим.
То, как я делаю это сейчас, будет сложнее, потому что мне все равно придется добавлять индикаторы iCustom наряду с моей логикой кода; и все эти колокольчики и свистки вместо того, чтобы использовать уже работающий индикатор iCustomer в качестве логики кода.
В любом случае, спасибо еще раз, отличная новость на сегодня.
Большую часть времени проблема не возникает. Кажется, что это происходит только тогда, когда есть верхний и нижний фрактал в одном и том же баре, что иногда случается на неопределенных рынках. Единственный способ обойти это - запускать расчет только один раз в бар:
Это должно означать, что он не будет получать ложные сделки на фракталах, идущих в обе стороны.
Мне нужно узнать, как эта часть работает немного лучше, я видел это раньше и другие подобные версии, но понимал только частично.
Мне нужно изучить это еще немного. Возможно, именно здесь я теряю большинство своих кодов из-за постоянных операторов печати при тестировании.
Я уверен, что есть другие способы обойти это, и все же я планирую также создать индикатор для этого и рисовать линии от AtoB и т.д.
Вот некоторый прогресс, которого я достиг на данный момент
Может быть, кто-то сможет использовать это, я уверен, что гуру могут пересмотреть это лучше.
В любом случае, он печатает то, что я хочу, и я добавил некоторые внешние значения для уровней fibo, чтобы пользователи могли выбирать, какие уровни им нужны.
Мой первый вклад в код на форумах LOL
У кого-нибудь есть лучший способ выполнить эту задачу Я уже предвижу удвоение кода из-за добавления iCustom индикаторов, чтобы показать, что делает мой код, но это означает как бы двойное кодирование для буфера массива и т.д., а затем использование iCustom
В общем, вот что у меня получилось
//+------------------------------------------------------------------+//| Unfinished_POS_slate.mq4 |//| Unfinished POS |//| //+------------------------------------------------------------------+#property copyright "Unfinished POS slate by Agent86"//---- input parametersexterndouble TakeProfit=20.0;
externdouble Lots=0.1;
externdouble StopLoss=10.0;
externint MagicNumber=123486;
externdouble fibo_retrace=0.500; //this is C retracement levelexterndouble fibo_extension=1.618; // coming soon, D extention double val1;
double val2;
bool traded = false;
//++++ These are adjusted for 5 digit brokers.int pips2points; // slippage 3 pips 3=points 30=pointsdouble pips2dbl; // Stoploss 15 pips 0.0015 0.00150intDigits.pips; // DoubleToStr(dbl/pips2dbl, Digits.pips)// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init()
{
if (Digits == 5 || Digits == 3)
{ // Adjust for five (5) digit brokers.
pips2dbl = Point*10; pips2points = 10; Digits.pips = 1;
}
else
{
pips2dbl = Point; pips2points = 1; Digits.pips = 0;
}
// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//---- //----return(0);
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//---- //----return(0);
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start()
{
int i=0;
int ticket,total,result;
total = OrdersTotal();
val1=iFractals(NULL, 0, MODE_UPPER,3);
val2=iFractals(NULL, 0, MODE_LOWER,3);
if(val1 > 0 && val2 == 0 && traded == false)
{
double B = val1;
Print(B, " B high");
if(val2==0)
{
for (i=0; val2==0; i++)
{
val2=iFractals(NULL, 0, MODE_LOWER, i);
double A = val2;
if(A!=0)
{
Print(A, " A low");
}
}
}
double C = B-(B-A)*fibo_retrace; //retrace 50% no fractalPrint(C, " UP ABC retrace level");
if(Bid <= C)
{
Print (Bid, " UP ABC C Retrace Hit");
}
traded=true;
}
//val1=iFractals(NULL, 0, MODE_UPPER,3); been suggested I might need to reset these here//val2=iFractals(NULL, 0, MODE_LOWER,3); I'll investigate this some moreif(val2 > 0 && val1 == 0 && traded == true)
{
B = val2;
Print(B, " B low");
if(val1==0)
{
for (i=0; val1==0; i++)
{
val1=iFractals(NULL, 0, MODE_UPPER, i);
A = val1;
if(A!=0)
{
Print(A, " A high");
}
}
}
C = B+(A-B)*fibo_retrace; //retrace 50% no fractal //recheck my math on this onePrint(C, " DOWN ABC retrace level");
if(Bid <= C)
{
Print (Bid, " DOWN ABC C Retrace Hit");
}
traded=false;
}
return(0);
}
//+------------------------------------------------------------------+
С моими ограниченными знаниями и опытом это все, что я смог придумать для схемы ABCD
Я еще поработаю над ним, чтобы позволить пользователю менять A's и B's на уровни, которые не нарушают предыдущие A's и B's, чтобы действительно оставаться в пределах тренда и т.д.
Надеюсь, кто-то сможет использовать это или, возможно, дополнить его какими-то лучшими идеями.
Теперь я буду работать над свечными паттернами и индикаторами, чтобы добавить к этому, и всплывающие оповещения, возможно, звуки и всплывающее видео, было бы забавно.
Меня зовут Герман, мне 23 года, я являюсь трейдером компании "Инстафорекс".
Помогите в поиске нужного скрипта! Скрипт нужен для сетки отложенных ордеров.
Чувак я не заинтересован в InstaForex и если тебе нужен скрипт сетки пожалуйста размести проект в разделе кодеры на прокат И пожалуйста пиши на английском
Я думаю, ваша проблема в том, что вы не сбросили значения val1 и val2. Поэтому, как только вы нашли максимум и последний минимум, вам нужно сбросить их:
Надеюсь, это поможет.Я думал, что если бы первое утверждение if(statement) было истинным, то оно бы перезапустило start() снова и сбросило с вершины кода и таким образом сбросило val1 и val2 снова
Ну, то, как я думал об этом - if(first statement) true then prints, and then moves to text the next if(second) likely false then goes back to the top of the start again and resets val1 and val2
Я получаю правильные отпечатки и значения, но просто печатает непрерывно.
Теперь, когда я думаю об этом, я действительно никогда не выяснил это для любого if(statement) даже самый простой из EMA крестов производит непрерывную печать
Я проверю ваш код, который вы разместили, но я был бы удивлен, если бы я добавил операторы печати для печати этих переменных и он также не печатает непрерывно
Я попробую это позже сегодня
Спасибо.
Я уверен, что мне нужно что-то сделать с currentTime и iTime, чтобы исправить это, мне нужно просмотреть это еще раз.
Кажется, что в кодовой базе уже должна быть схема ABCD, на которой можно было бы учиться, но, похоже, это то, чего нет, кроме как на основе ZigZag, которую я сейчас просматриваю, чтобы увидеть, дает ли она мне какие-либо подсказки. Но опять же, это тоже индикатор
В любом случае, если я добавляю && macd или что-то еще, он выводит их только один раз, что меня очень смущает.
Как насчет этого:
Это печатается только один раз при добавлении
и
Итак, я немного приблизился, теперь я могу оценить это еще немного.
Спасибо за помощь всем, это была огромная помощь, потому что это игра мне идеи, чтобы исправить это и расширить мои знания немного больше о переустановке вещей тоже.
Я должен держать это в своем заднем кармане.
Спасибо
Большую часть времени проблема не возникает. Кажется, что это происходит только тогда, когда есть верхний и нижний фрактал в одном и том же баре, что иногда случается на неопределенных рынках. Единственный способ обойти это - запускать расчет только один раз в бар:
Это должно означать, что он не будет получать ложные сделки на фракталах, идущих в обе стороны.
То, как я делаю это сейчас, будет сложнее, потому что мне все равно придется добавлять индикаторы iCustom наряду с моей логикой кода; и все эти колокольчики и свистки вместо того, чтобы использовать уже работающий индикатор iCustomer в качестве логики кода.
В любом случае, спасибо еще раз, отличная новость на сегодня.
Большую часть времени проблема не возникает. Кажется, что это происходит только тогда, когда есть верхний и нижний фрактал в одном и том же баре, что иногда случается на неопределенных рынках. Единственный способ обойти это - запускать расчет только один раз в бар:
Это должно означать, что он не будет получать ложные сделки на фракталах, идущих в обе стороны.
Мне нужно изучить это еще немного. Возможно, именно здесь я теряю большинство своих кодов из-за постоянных операторов печати при тестировании.
Я уверен, что есть другие способы обойти это, и все же я планирую также создать индикатор для этого и рисовать линии от AtoB и т.д.
Я изучу еще немного
Может быть, кто-то сможет использовать это, я уверен, что гуру могут пересмотреть это лучше.
В любом случае, он печатает то, что я хочу, и я добавил некоторые внешние значения для уровней fibo, чтобы пользователи могли выбирать, какие уровни им нужны.
Мой первый вклад в код на форумах LOL
У кого-нибудь есть лучший способ выполнить эту задачу Я уже предвижу удвоение кода из-за добавления iCustom индикаторов, чтобы показать, что делает мой код, но это означает как бы двойное кодирование для буфера массива и т.д., а затем использование iCustom
В общем, вот что у меня получилось
С моими ограниченными знаниями и опытом это все, что я смог придумать для схемы ABCD
Я еще поработаю над ним, чтобы позволить пользователю менять A's и B's на уровни, которые не нарушают предыдущие A's и B's, чтобы действительно оставаться в пределах тренда и т.д.
Надеюсь, кто-то сможет использовать это или, возможно, дополнить его какими-то лучшими идеями.
Теперь я буду работать над свечными паттернами и индикаторами, чтобы добавить к этому, и всплывающие оповещения, возможно, звуки и всплывающее видео, было бы забавно.
Спасибо всем за помощь.
Доброго времени суток уважаемые форумчане!
Меня зовут Герман, мне 23 года, я являюсь трейдером компании "Инстафорекс".
Помогите в поиске нужного скрипта! Скрипт нужен для сетки отложенных ордеров.
Доброго времени суток уважаемые форумчане!
Меня зовут Герман, мне 23 года, я являюсь трейдером компании "Инстафорекс".
Помогите в поиске нужного скрипта! Скрипт нужен для сетки отложенных ордеров.
И пожалуйста пиши на английском
Счастливого трейдинга.