[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 234

 
コードで実装する方法がわからないのですが、既成のコードをどこかで見かけませんでしたか?3方向でロスレスの計算をしてくれるコードならOKなんですけどね。1. すべての未決済注文に対して 2. 買い注文のみ 3.売り注文のみ
 
belck:
コードにどのように実装すればいいのかがわからないのですが、どこかにレディメイドのコードはありませんか?1.すべてのオープンオーダーに対して 2.買いオーダーのみ 3.売りオーダーのみ の3方向でブレークイーブンを計算するコードならOKです。
https://www.mql5.com/ru/forum/103719
 

AccountFreeMarginModeの 値が異なる場合の証拠金(ロットNの注文を出すのに必要な資金)の計算方法について。


 

こんにちは。

どなたかご存知の方がいらっしゃいましたら、アドバイスいただけないでしょうか。

テスターでも実機でも、乖離率2ポイントでも、市場価格、つまり乖離率0でも EAが動きますが、問題は ないのでしょうか?通信は良好で、光ファイバーは実に60Mbit、手動で開くだけなら、実行は実に1〜2秒です。私のExpert Advisorには、注文が正常に開くまでリプレイがあります。今まで4桁のプラットフォームで取引していたので、5桁のプラットフォームを試したいので質問させていただきました。5桁のデモで試しましたが、注文は開かず、シグナルはただ「注文を開こうとしています」と表示され、それきりでした。ログに変更やエラーはありません。何かアドバイスはありますか?

個人的な経験ですが、注文を開始(決済)する際、市場価格から何ポイント乖離させればよいのでしょうか?小数点以下5桁で取引する場合、EAに何か規定が必要ですか? テスターで注文を出すと、SLとTPがちょうど10倍、小数点以下1桁になるのですが?

追伸:MQL4用のEAを自分で書きました。

敬具

 

編集可能なファイル<indicator.mq4>をどこかに移動させるか、別の名前でコピーして何かしたのですが、コンパイル後、ターミナルのインジケータ一覧で、名前がグレーになり、非アクティブになってしまいました。

ただし、インジケーターは左ウィンドウバーの「リストツリー」のサイドメニューから利用でき、チャート上にドラッグして利用します。

このような状況に遭遇したことがある方は、その改善策をアドバイスしてください。

敬具

 
prorab:

編集可能なファイル<indicator.mq4>をどこかに移動させるか、別の名前でコピーして何かしたのですが、コンパイル後、ターミナルのインジケータ一覧で、名前がグレーになり、非アクティブになってしまいました。

ただし、インジケーターは左ウィンドウバーの「リストツリー」のサイドメニューから利用でき、チャート上にドラッグして利用します。

このような状況に遭遇したことがある方は、修正方法をアドバイスしてください。


ターミナルでインデントのグレー色を右クリック→メニュー「変更」で左クリック→メタエディターでコンパイル→ターミナルをリロードして人生を楽しむ...:-)
 
Roman.:

ターミナルでインジケーターのグレー色を右クリック→メニュー「変更」で左クリック→メタエディターでコンパイル→ターミナルを再読み込みして人生を楽しむ...:-)
役に立ちません。ソースコードを紛失した。
 
Zhunko:
それはないでしょう。ソースは失われている。

今日、私のEAで同じ手順を行いましたが、その色はターミナルで青に変わり、グレーでした。
 
Roman.:

今日、私のEAで同じ手順を行いましたが、その色はターミナルで青に変わり、グレーでした。
ソースがあっても、それが変更されていれば可能です。すなわち、ソースの内容を変更する。ソースを紛失したり、名前を変更したりすると、見つからなくなります。
 

Помогите исправить ошибку в коде советника. Попытался написать советник на основе индикатора Laguerre.mq4. При компиляции выдает ошибку. Место ошибки в коде выделено жирным. Сам индикатор находится в теле советника.

//+------------------------------------------------------------------+
//|Laguerre+.mq4||Laguerre+.mq4||Laguerre+.mq4
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+

//---- 入力パラメータ
extern int TrailingStop=0;
extern int StopLoss=0;
extern double lots=0.1;
extern double gamma = 0.7;
extern int Price_Type=0;
//---- バッファ
double Filter[];
double L0[]です。
double L1[];;
double L2[]。
double L3[]です。

//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(5)です。
//---- インジケータ
SetIndexStyle(0, DRAW_LINE)を設定します。
SetIndexDrawBegin(0, 1)を設定します。
SetIndexLabel(0, "LaguerreFilter")を設定します。
SetIndexBuffer(0,Filter)を設定します。
SetIndexBuffer(1, L0)を設定します。
SetIndexBuffer(2, L1)を設定します。
SetIndexBuffer(3, L2)を設定します。
SetIndexBuffer(4, L3)を設定します。
//----
string short_name="LaguerreFilter(" + DoubleToStr(gamma, 2) + ")";
IndicatorShortName(short_name)。
return(0)です。
}

//+------------------------------------------------------------------+
//| カストマーインジケーター初期化機能
//+------------------------------------------------------------------+
int deinit()
{
return(0)です。
}

//+------------------------------------------------------------------+
//| カスタムインジケータ反復関数
//+------------------------------------------------------------------+
int start()
{
int制限。
int counted_bars = IndicatorCounted();
ダブルCU、CD
//---- 最後にカウントされたバーが再カウントされます。
if (counted_bars>0)
counted_bars--。
さもなくば
counted_bars = 1;
limit = Bars - counted_bars;
//---- RSIの計算
for (int i=limit; i>=0; i--)
{
double Price=iMA(NULL,0,1,0,0,Price_Type,i);

L0[i] = (1.0 - gamma)*Price + gamma*L0[i+1];
L1[i] = -gamma*L0[i] + L0[i+1] + gamma*L1[i+1] とする。
L2[i] = -gamma*L1[i] + L1[i+1] + gamma*L2[i+1] とする。
L3[i] = -gamma*L2[i] + L2[i+1] + gamma*L3[i+1] です。

CU = 0;
CD = 0;
if (L0[i] >= L1[i])
CU = L0[i] - L1[i]とする。
さもなくば
CD = L1[i] - L0[i]とする。
if (L1[i] >= L2[i])
CU = CU + L1[i] - L2[i]である。
さもなくば
CD = CD + L2[i] - L1[i]とする。
if (L2[i] >= L3[i])
CU = CU + L2[i] - L3[i]です。
さもなくば
CD = CD + L3[i] - L2[i]である。

if (CU + CD != 0)
Filter[i] = (L0[i] + 2 * L1[i] + 2 * L2[i] + L3[i]) / 6.0;
}
return(0)です。

//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
{
if (注文合計()>0)
{
CU = 0;
CD = 0;
{
OrderSelect(SELECT_BY_POS);
if (OrderSymbol()==Symbol())
{
if (OrderType()== OP_BUY)
{
if ((L0[i] >= L1[i])CU = L0[i] - L1[i],(L1[i] >= L2[i])CU = CU + L1[i] - L2[i],(L2[i] >= L3[i])。
OrderClose(OrderTicket(),OrderLots())です。
else CU++;
}
if (OrderType()== OP_SELL)
{
if (CD = L1[i] - L0[i],CD=CD+L2[i]-L1[i],CD=CD+L3[i]-L2[i])とする。
オーダークローズ(OrderTicket(),OrderLots())
さもなければCD++。
}
}
}

if (CU > CD && CU == 0)
{
OrderSend(Symbol(),OP_BUY,lots,Ask,0/*(Ask-StopLoss*Point)*/,0,);
}
if (CU < CD && CD ==0)
{
OrderSend(Symbol(),OP_SELL,lots,Bid,0/*(Bid+StopLoss*Point)*/,0,);
}



//----
return(0)です。
}
//+------------------------------------------------------------------+