#include <stdlib.mqh>#include <stderror.mqh>//#include <dynamic_channel.mqh> // динамический канал//#include <TrailingByFractals_LAVINA.mqh>//#include <TrailingByFractals.mqh>//// Внешние переменные (оптимизируются)externstring A0 = "Параметры ММ";
externdouble Lots = 0.1; // Стартовый лотexterndouble MaxRisk = 0; // риск на капитал в %// рассчитываем объем позиции взависимости от размера стопа, при заданном риске// например при депо 10 000 риск 1% при стопе 100 пп это будет примерно лот 0.1,// при стопе 200 пп уже лот должен быть 0.05, для того чтобы риск 1% остался на том же уровнеexternint MaxLoss = 90; // Максимально допустимая просадка в процентах от балансаexterndouble StopLoss = 0; // Стоплосс в пипсах - для пятизнака для йены, золота, серебра...int TakeProfitPips = 0; // Тейкпрофит в пипсах externint Period_ATR = 30; // значение АТР для расчета динамического каналаexterndouble Mul_TP = 4.0; // целевая прибыль в единицах волатильности (АТР)externdouble Mul_Sl = 0.8; // защитная остановка с последующим переворотом при ее сработке уже // увеличенным лотом в единицах волатильности (АТР)externint Max_Iteration = 36; // Максимальное количество итераций (ордеров) в мартине externint k = 2; // с какой итерации тралимexternint VAR_MM = 0; // используемый вариант усреднения в соотв-ии: множитель с числами ФИБО = 0 / множитель по арифметической прогрессии = 1// 2 - классический мартин - удвоение предыдущего объема с 3-его усреднения externstring Trailing = "---------- Параметры трала";
externint UseTrailing = 1; // Использовать = 1/не использовать = 0 трал externint type = 0; // вид трала - возможные значения: 0 - простой, 1 - по фракталам, 2 - по теням N свечей. externbool trlinloss = false; // Тралим только профит для всех видов траловexternstring A1 = "Параметры простого трала,пo фракталам,теням N баров,каналу,МА,SAR";
externint TralingStop = 1000; // дистанция простого трала в положительной зоне (пункты)externint indent = 100; // отступ (пунктов) при трале по фракталам, теням N свечей, ценовому каналу, МА,SARexternint bars_n = 10; // количество баров, для трала по их теням (от 1 и больше) или расчета границ канала externstring A2 = "Таймфрейм, время работы и параметры технических индикаторов";
//extern int t_trend_period =6; // 1-М1, 2-М5, 3-М15, 4-М30, 5-Н1...-для старшего фильтра, внутри которого работаемexternint s_trend_period = 3; // PERIOD_M1 1 1 минута// PERIOD_M5 5 5 минут// PERIOD_M15 15 15 минут// PERIOD_M30 30 30 минут// PERIOD_H1 60 1 час// PERIOD_H4 240 4 часа// PERIOD_D1 1440 1 день// PERIOD_W1 10080 1 неделя// PERIOD_MN1 43200 1 месяц// 0 (ноль) 0 Период текущего графика externint Filter.Hour=0; // Д-Фильтр: торговля по часам, вне этих часовых рамок новые сделки не открываем, но текущие итеpации завершаемexternint Start=9;
externint End=20;
// Параметры используемых индикаторовexternint Fast = 5;
externint Slow = 39;
externint Signal = 20;
externint MagicNumber = 7; // магик //extern int Period_MA = 20; // Период МА //extern int Period_ADX = 40; //extern int ADXOpenLevel = 12; //---- входные параметры индикатора iVAR//extern int n = 5;//extern int nBars = 100000;//extern int Iteration = 0; // счетчик для подсчета итераций, колен лавины//extern int Sum_Loss = 0;#include <TrailingByFractals_LAVINA.mqh> // ТРАЛ ПО ФРАКТАЛАМ#include <TrailingByShadows.mqh> // ТРАЛ ПО ТЕНЯМ N БАРОВ//// Глобальные переменные//staticdatetime prevtime = 0; // по ценам открытияbool IsExpertFailed = false;
bool IsExpertStopped = false;
int NumberOfTry = 25;
int SlipPips = 3;
int signal_period;
int trend_period;
bool UseSound = true;
color ColorBuy = Blue;
color ColorSell = Red;
string ok.wav;
double Level_new, PointValue,
lots; // вспомогательная переменная для расчета нового размера лота при очередной итерацииint Iteration, Counter_Loss, Ticket_at_history; // счетчик для подсчета последовательного убытка позиций колен лавины//bool Flag_Counter_Loss = false;double Current_Loss, Sum_Loss; // текущий и суммарный убытокint ticket; // Номер ордераdouble orderLots; // Lots double orderProfit; // Profitdouble Price; // Цена открытия рыночного ордераdouble SL; // Значение StopLoss ордераdouble TP; // Значение TakeProfit ордераdouble F1 = 1.0; // значение цены фрактала вверх (на 2-ом баре)double F11 = 1.0; // вспомогательная переменнаяdouble F2 = -200.0; // значение цены фрактала вниз (на 2-ом баре)double F22 =-200.0; // вспомогательная переменная double V_StopLossPips=0;
double V_TakeProfitPips=0;
//double StopLossPips;int Ticker, Counter;
double channel;
double StopLossPips;
double Lots_New; // Количество лотов для новых ордеровint time = 0; // время - для определения факта работы только с последним закрытым ордером
注文の有効期限について質問です。注文を2分間「生きる」ようにしたいのですが。
なぜ、このような構造でエラー3が出るのか - その理由と修正方法は?
なるほど、今のところこっちの方が書きやすいですね。
もう一回実行されている間に解消する方法を教えてください。
もっと簡単に」ということはありません。「while SOONの 解消法を教えてください」なんて書きませんよね。"そして、コードにおいては、書いたものがすべて馬鹿な機械に理解されるようにすることを念頭に置かなければならない。
つまり、正しい方法と間違った方法の2つがあるのです。
正しく書き換えるのは怠慢、ルールを理解するのも怠慢、では、これをファイルに書き込もうと した期間を教えてください。 3週間・・・。
こんにちは、条件を記述する方法をアドバイス:オープンポジション(どんなに多くの、番号付けは必要ありません)が1つ以上の有益な閉じると、どのようにその後に新しいポジション(1)を開くには?
自分で編集してください。
は、「もっと簡単に」なんてことはありません。「ついでに 解消法も教えて...」なんて書き方はしませんよね。"自分の書いたものが、間抜けなハードウェアに理解されること "を念頭に置かなければならない。
つまり、正しい方法と間違った方法の2つがあるのです。
正しく書き直すのが面倒なVERYも理解してる ファイルへの書き込みでトピックを困らせるのはいつから? 3週間か...
1月10日からプログラミングしているExpert Advisorは、4週間が経ちました。
Romanさん、ありがとうございます。
2つの時間帯の最大値または最小値を決定するにはどうすればよいですか?専用の機能はありますか?