コーディングの方法は? - ページ 334

[Удален]  

こんにちは。

配列にエンベロープを描画することができません。

ボリンジャーバンドは 問題なく描画できます。

CCIインジケータにエンベロープを描画したいのですが。

添付のコードでボリンジャーバンドを描画し、それは動作します。

ただ、CCIインジケータにエンベロープを描画するのが問題です。

よろしくお願いします。

ファイル:
cci_env.mq4  3 kb
 
luffy:
こんにちは。

配列にエンベロープを描画することができません。

ボリンジャーバンドは問題なく描画できます。

CCIインジケータにエンベロープを描画したいのですが。

添付のコードでボリンジャーバンドを描画し、動作しています。

ただ、CCIインジケータにエンベロープを描画するのが問題です。

助けてください。

ルフィー

エンベロープを 適用したいインディケータの値ごとにエンベロープをコーディングしないとできません。

 
mladen:
luffy エンベロープを適用したいインジケータの値一つ一つにエンベロープをコーディングしないとできません。

こんにちは、Mladen

プログラミングができないので、大変助かっています。

添付のMacd3は、編集してもう一度閉じないと更新されないのが問題です。

もし、バーが閉じるたびに更新されるのであれば、とても助かります。解決策が見つかるといいのですが。

ちなみにこれは転換点を早く知るという点ではとてもいいインジケーターだと思います。

ファイル:
macd_3m.ex4  17 kb
macd_3m.mq4  5 kb
 
wolfsch:
こんにちは、Mladen

プログラミングができないので、大変助かっています。

添付のMacd3は、編集して再度閉じないと更新されないのが難点です。

バーが閉じるたびに更新されるのであれば、とても助かります。解決策が見つかるといいのですが。

ところで、このインジケータは、転換点を早く見つけるという点で、とてもいいインジケータですね。

ウォルフシュ

私のターミナルでは問題なく動作しています(1分足チャートでテストしましたが、すべてOKでした。)

 
wolfsch:
こんにちは、Mladen

プログラミングができないので、大変助かっています。

添付のMacd3は、編集して再度閉じないと更新されないのが難点です。

バーが閉じるたびに更新されるのであれば、とても助かります。私はあなたが解決策を見つけることができることを願っています。

ところで、このインジケータは、ターニングポイントを早く見つけるという点では、とてもいいインジケータですね。

私にも使えます

 
luffy:
こんにちは、皆さん。

配列にエンベロープを描画することができません。

ボリンジャーバンドは問題なく描画できます。

CCIインジケータにエンベロープを描画したいのですが。

添付のコードでボリンジャーバンドを描画し、動作しています。

ただ、CCIインジケータにエンベロープを描画するのが問題です。

助けてください。

ルフィ

今すぐ試してみてください :cci_env_1.mq4

ファイル:
cci_env_1.mq4  3 kb
cci_env.gif  71 kb
 

こんにちは、私は自分のEAが特定のタイミングですべてのオープントレードを自動的にクローズするように設定しようとしています。

ありがとうございます。

ライアン

 
tkuan77:
こんにちは、私は私のEAは、特定のタイミングですべての私のオープントレードを自動的に閉じるように設定しようとしています。

採用情報

ライアン

ライアン

こちらをご覧ください :https://www.mql5.com/en/forum/177401/page2

コンパイル時に2つのコンパイラ警告が出ますが、気にしないでください - 良性です。

 

mladenさん、こんにちは。タイミングを見て取引を終了するという部分を入力してコンパイルしてみたところ、おっしゃる通り警告は出るのですが、コードを実行すると指定したタイミングでは取引が終了しません。

何がエラーになっているのかよくわかりません。どこが間違っているのか、ご教示いただければ幸いです。

よろしくお願いします。

ライアン

//+------------------------------------------------------------------+

//|Forex TSD - Forex フォーラム

//+------------------------------------------------------------------+

#property copyright "Rクリエイション"

#property link "https://www.forex-tsd.com"

//---- 入力パラメータ

extern double TakeProfit = 200.0;

extern double Lots = 0.1;

extern double StopLoss = 200.0;

extern int PreferredHour_1st = 5;

extern int PreferredMinute_1st = 30;

int magicNo_1st = 530;

extern bool UseCurrSymbol = False; // これは何のためにあるのかよくわからない.........。

//+------------------------------------------------------------------+

//| エキスパート初期化関数

//+------------------------------------------------------------------+

int init()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| エキスパート初期化関数

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| エキスパートスタート機能

//+------------------------------------------------------------------+

datetime newbar;

double pBid, pAsk;

int start()

{

if(newbar==Time[0])return(0);

else newbar=Time[0]です。

int ticket, total;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

if(テイクプロフィット<10)

{

Print("TakeProfitが10未満");

return(0); // TakeProfitのチェック

}

ダブル Fast_MA、Slow_MA。

Fast_MA = iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0);

Slow_MA = iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,0);

total = OrdersTotal(); // 現在開いている取引数の合計を確認する

if(total < 1)

{

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA > Slow_MA)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point。

"私のEA",magicNo_1st,0,Green).if(ticket>0);

if(チケット>0)

{

if(オーダーセレクト(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("BUY order opened : ",OrderOpenPrice());

else Print("BUY注文の開始エラー :",GetLastError())。

return(0);

}

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA < Slow_MA)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"私のEA",magicNo_1st,0,赤);

if(ticket>0)

{

if(オーダーセレクト(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SELL order opened : ",OrderOpenPrice());

else Print("SELL注文の開始エラー :",GetLastError());

return(0);

return(0);

if(total > 1) //タイミングを見て注文を決済する...まだ解決していない。

{

if (Hour()==7 && Minute()==0 && Seconds()==0)

{

for (int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

if (オーダータイプ()==OP_BUY)

{

pBid=MarketInfo(OrderSymbol(),MODE_BID)。

OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue).を実行します。

}

if (オーダータイプ()==OP_SELL)

{

pAsk=MarketInfo(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),pAsk,1,赤);

}

}

}

}

}

}

return(0);

}

//+------------------------------------------------------------------+

 
tkuan77:
mladenさん、タイミングを見て決済する部分を入力してコンパイルしてみたところ、おっしゃる通り警告は出るのですが、コードを実行すると指定したタイミングでは決済されません。

何がエラーなのかよくわかりません。どこが間違っているのか、ご教示いただければと思います。

よろしくお願いします。

ライアン

//+------------------------------------------------------------------+

//|Forex TSD - Forex フォーラム

//+------------------------------------------------------------------+

#property copyright "Rクリエイション"

#property link "https://www.forex-tsd.com"

//---- 入力パラメータ

extern double TakeProfit = 200.0;

extern double Lots = 0.1;

extern double StopLoss = 200.0;

extern int PreferredHour_1st = 5;

extern int PreferredMinute_1st = 30;

int magicNo_1st = 530;

extern bool UseCurrSymbol = False; // これは何のためにあるのかよくわからない.........。

//+------------------------------------------------------------------+

//| エキスパート初期化関数

//+------------------------------------------------------------------+

int init()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| エキスパート初期化関数

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| エキスパートスタート機能

//+------------------------------------------------------------------+

datetime newbar;

double pBid, pAsk;

int start()

{

if(newbar==Time[0])return(0);

else newbar=Time[0]です。

int ticket, total;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

if(テイクプロフィット<10)

{

Print("TakeProfitが10未満");

return(0); // TakeProfitのチェック

}

ダブル Fast_MA、Slow_MA。

Fast_MA = iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0);

Slow_MA = iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,0);

total = OrdersTotal(); // 現在開いている取引数の合計を確認する

if(total < 1)

{

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA > Slow_MA)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point。

"私のEA",magicNo_1st,0,Green).if(ticket>0);

if(チケット>0)

{

if(オーダーセレクト(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("BUY order opened : ",OrderOpenPrice());

else Print("BUY注文の開始エラー :",GetLastError())。

return(0);

}

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA < Slow_MA)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"私のEA",magicNo_1st,0,赤);

if(ticket>0)

{

if(オーダーセレクト(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SELL order opened : ",OrderOpenPrice());

else Print("SELL注文の開始エラー :",GetLastError());

return(0);

return(0);

if(total > 1) //タイミングを見て注文を決済する...まだ解決していない。

{

if (Hour()==7 && Minute()==0 && Seconds()==0)

{

for (int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

if (オーダータイプ()==OP_BUY)

{

pBid=MarketInfo(OrderSymbol(),MODE_BID)。

OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue).を実行します。

}

if (オーダータイプ()==OP_SELL)

{

pAsk=MarketInfo(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),pAsk,1,赤);

}

}

}

}

}

}

return(0);

}

//+------------------------------------------------------------------+

この部分

if(newbar==Time[0])return(0);

else newbar=Time[0]です。

int ticket, total;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

if(テイクプロフィット<10)

{

Print("TakeProfitが10未満");

return(0); // TakeProfitのチェック

}

新しいバーの最初のティックでなく、利益が10ピップス以上でない場合、EAが特定の時間に注文を閉じることを防止していますか?